[Issue 1566] Nested template issue

2014-02-20 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566



--- Comment #8 from github-bugzi...@puremagic.com 2014-02-20 16:49:24 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/f5222493c1d34443a556e2bef65b8f0326d4b9f8
fix Issue 1566 - Nested template issue

https://github.com/D-Programming-Language/dmd/commit/765e123d97f5943474e4c8c8db12062d6c87b885
Merge pull request #3283 from 9rnsr/fix1566

[diagnostic] Issue 1566 - Nested template issue

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


[Issue 1566] Nested template issue

2014-02-20 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 1566] Nested template issue

2014-02-18 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

 CC||samu...@voliacable.com


--- Comment #6 from Kenji Hara k.hara...@gmail.com 2014-02-18 21:47:08 PST ---
*** Issue 12195 has been marked as a duplicate of this issue. ***

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


[Issue 1566] Nested template issue

2014-02-18 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

   Keywords||pull


--- Comment #7 from Kenji Hara k.hara...@gmail.com 2014-02-18 22:01:08 PST ---
Improve diagnostic message:
https://github.com/D-Programming-Language/dmd/pull/3283

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


[Issue 1566] Nested template issue

2014-01-05 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566


Denis Shelomovskij verylonglogin@gmail.com changed:

   What|Removed |Added

 CC||verylonglogin@gmail.com
   Platform|x86 |All
Version|2.006   |D2


--- Comment #2 from Denis Shelomovskij verylonglogin@gmail.com 2014-01-05 
12:26:30 MSK ---
This is by design and should be closed as INVALID or converted to an
enhancement.

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


[Issue 1566] Nested template issue

2014-01-05 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566



--- Comment #3 from Stewart Gordon s...@iname.com 2014-01-05 06:35:44 PST ---
Explain please.

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


[Issue 1566] Nested template issue

2014-01-05 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566



--- Comment #4 from Denis Shelomovskij verylonglogin@gmail.com 2014-01-05 
19:38:04 MSK ---
(In reply to comment #3)
 Explain please.

It's a bug iff there is a language documentation allowing such syntax or dmd
behaviour partially allowing it.

If I don't miss something multiple `!` is considered harmful as `A!B!C` may be
considered as `A` instantiated with `B!C` or `A!B` instantiated with `C`. Also
requirement to always have parantheses in such case may be added but IMO it
doesn't look like a worthwhile language complication as it isn't generally
needed.

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


[Issue 1566] Nested template issue

2014-01-05 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1566


Stewart Gordon s...@iname.com changed:

   What|Removed |Added

   Keywords|rejects-valid   |diagnostic


--- Comment #5 from Stewart Gordon s...@iname.com 2014-01-05 08:10:46 PST ---
Oh yes.  The grammar is
http://dlang.org/template.html

TemplateInstance:
TemplateIdentifier TemplateArguments

TemplateArguments:
!( )
!( TemplateArgumentList )
! TemplateSingleArgument

TemplateIdentifier:
Identifier

And so
T!(3)!('b')
isn't parseable as a TemplateInstance.

As such, the compiler is behaving according to spec.

However, there's a problem: (T!(3)) is equally not an Identifier, so going by
this spec we can't even write (T!(3))!('b').  This seems overly restrictive.

But the error message is confusing, and liable to make the user think the
compiler is playing up.  We should explicitly detect an attempt to do this, and
deliver a clearer error message.  As such, I'm changing this to diagnostic.

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