Issue 6538 - ICE(mangle.c) Invalid template constraints #1539

Merged
merged 3 commits into from Jan 23, 2013

Conversation

Projects
None yet
2 participants
@9rnsr
Member

9rnsr commented Jan 23, 2013

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

From the comment:

In template constraint, each function parameters, 'this', and 'super' is pseudo symbol. If it is passed to other template through alias/tuple parameter, it will cause an error. Because such symbol does not have the actual entity yet.

Example:
 template Sym(alias A) { enum Sym = true; }
 struct S {
   void foo() if (Sym!(this)) {} // Sym!(this) always make an error,
 }                               // because Sym template cannot
 void main() { S s; s.foo(); }   // access to the valid 'this' symbol.

Requires: D-Programming-Language#1538

WalterBright added a commit that referenced this pull request Jan 23, 2013

Merge pull request #1539 from 9rnsr/fix6538
Issue 6538 - ICE(mangle.c) Invalid template constraints

@WalterBright WalterBright merged commit f795e1b into dlang:master Jan 23, 2013

1 check passed

default Pass: 10
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment