[Issue 1528] [tdpl] overloading template and non-template functions
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Mar 1 03:55:46 PST 2013
http://d.puremagic.com/issues/show_bug.cgi?id=1528
--- Comment #21 from Kenji Hara <k.hara.pg at gmail.com> 2013-03-01 03:55:37 PST ---
(In reply to comment #20)
> (In reply to comment #19)
> > (In reply to comment #17)
> > ...
> >
> > In IFTI, the match level for template arguments and for function arguments are
> > distinguished. The former is prior than the latter, so there is 3 * 3 + 1 match
> > level in IFTI.
> >
> > For tiargs: exact or const or convert (3)
> > For funargs: exact or const or convert (* 3)
> > noatch (+ 1)
> > ...
>
> It can be seen that way. They are ordered from worst to best like this:
More precisely:
MATCHnomatch
tiargs:MATCHconvert / funarg:MATCHconvert
tiargs:MATCHconvert / funarg:MATCHconst
tiargs:MATCHconvert / funarg:MATCHexact
tiargs:MATCHconst / funarg:MATCHconvert
tiargs:MATCHconst / funarg:MATCHconst
tiargs:MATCHconst / funarg:MATCHexact
tiargs:MATCHexact / funarg:MATCHconvert
tiargs:MATCHexact / funarg:MATCHconst
tiargs:MATCHexact / funarg:MATCHexact
Additionally, when comparing normal function and template function matching,
tiargs MATCH level is treated as equal to funargs level.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list