[Issue 3467] Non-int integral template parameters not correctly propagated

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Nov 19 23:40:04 PST 2011


http://d.puremagic.com/issues/show_bug.cgi?id=3467


Jonathan M Davis <jmdavisProg at gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg at gmx.com


--- Comment #5 from Jonathan M Davis <jmdavisProg at gmx.com> 2011-11-19 23:39:12 PST ---
Why? I understand instantiating a different template with different arguments
when the type itself is the argument. But when you've typed the argument, it's
essentially the same as passing an argument to a function, only it's a template
argument instead of a function argument.

In this case, the template says that it takes a uint. I would expect that it
then would instatiated based on the _value_ of the argument, not its _type_. It
already _has_ a type - uint. Making foo!3 and foo!3u be different is just plain
confusing because they're being given the exact same value.

What value is there in having foo!3 and foo!3u be different? What does it add?
I don't understand how the _type_ of the argument could matter when the type is
already defined by the template and it's the value that changes between
instantiations.

-- 
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