[Issue 4056] Template instantiation with bare parameter not documented
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon May 24 11:04:51 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4056
Ellery Newcomer <ellery-newcomer at utulsa.edu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ellery-newcomer at utulsa.edu
--- Comment #1 from Ellery Newcomer <ellery-newcomer at utulsa.edu> 2010-05-24 11:04:48 PDT ---
(In reply to comment #0)
> I've recently seen people using template instances like:
>
> mytemplate!int var;
>
> The docs don't say anything about this form, nor do the release notes for that
> matter. Either it's a bug (I assume not) or the spec needs to document it.
>
> I assume this form is only good for single template parameters. Are there
> other limits on what parameters can be used in this way?
in template.html, modify
TemplateInstance:
TemplateIdentifier !( TemplateArgumentList )
to
TemplateInstance:
TemplateIdentifier !( TemplateArgumentList )
TemplateIdentifier ! Identifier
TemplateIdentifier ! BuiltinBasicType
TemplateIdentifier ! Literal
Literal:
null
true
false
__FILE__
__LINE__
NumericLiteral
CharacterLiteral
StringLiterals
but then in declarations.html you'd have to split up BasicType a bit.
And yes, this can't work for multiple parameters because the commas would cause
ambiguity with Expression. Same for identifier chains:
T!A.B == T!(A).B or T!(A.B) ?
and extended types:
T!i[] == T!(i)[] or T!(i[]) ?
etc.
--
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