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

merged 3 commits into from Jan 23, 2013


None yet
2 participants

9rnsr commented Jan 23, 2013

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.

 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;; }   // 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment