[Issue 1566] Nested template issue
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
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
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
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
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
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
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
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: ---