www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 4056] New: Template instantiation with bare parameter not documented

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4056

           Summary: Template instantiation with bare parameter not
                    documented
           Product: D
           Version: 2.041
          Platform: All
               URL: http://digitalmars.com/d/2.0/template.html
        OS/Version: All
            Status: NEW
          Keywords: spec
          Severity: normal
          Priority: P2
         Component: www.digitalmars.com
        AssignedTo: nobody puremagic.com
        ReportedBy: jlquinn optonline.net



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

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 02 2010
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4056


Ellery Newcomer <ellery-newcomer utulsa.edu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ellery-newcomer utulsa.edu



11:04:48 PDT ---

 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: -------
May 24 2010
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4056


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |FIXED



10:36:31 PDT ---
changeset 1564

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 28 2010