Bug 7966 – First template instantiation inside `with` results in `Error 42: Symbol Undefined`

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-04-22T09:11:00Z
Last change time
2013-11-30T09:10:01Z
Keywords
link-failure, pull
Assigned to
nobody
Creator
verylonglogin.reg

Comments

Comment #0 by verylonglogin.reg — 2012-04-22T09:11:58Z
--- enum E { i } struct S { bool opCast(T)() { return true; } } void main() { // Error 42: Symbol Undefined bool main.Param.opCast!(bool).opCast() with(E) assert(S()); assert(S()); } ---
Comment #1 by verylonglogin.reg — 2013-11-26T23:22:38Z
The bug is present in 5f033bfd9f7aaf95dade128f50bfc7360bb16215.
Comment #2 by k.hara.pg — 2013-11-27T03:16:46Z
Comment #3 by github-bugzilla — 2013-11-30T08:16:12Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/f8ec8ee7d447c966f8a064a1313b936f6d2adba8 fix Issue 7966 - First template instantiation inside `with` results in `Error 42: Symbol Undefined` Always use `WithScopeSymbol` to make correct chain of `scopesym->parent`. https://github.com/D-Programming-Language/dmd/commit/e0b6a37a6e820d641c3edbf4a467392b8c6adac3 Merge pull request #2890 from 9rnsr/fix7966 Issue 7966 - First template instantiation inside `with` results in `Error 42: Symbol Undefined`