Bug 9439 – D1: CTFE ICE: calling member function after "incorrect this" error

Status
RESOLVED
Resolution
WONTFIX
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
All
OS
All
Creation time
2013-02-01T07:48:00Z
Last change time
2013-11-24T20:04:34Z
Keywords
CTFE, ice, pull
Assigned to
nobody
Creator
clugdbug

Comments

Comment #0 by clugdbug — 2013-02-01T07:48:53Z
class Base { void boo(alias F)() { static assert(F()); } } class Derived : Base { int foo() { return 1; } void bug() { boo!(foo)(); } } ----- xx.d(3): Error: this for foo needs to be type Derived not type xx.Base dmd: interpret.c:4000: virtual Expression* CallExp::interpret(InterState*, CtfeGoal): Assertion `thisval && thisval->op == ((TOK)(TOKMAX+1))' failed. CTFE should not be attempted after the error occurs.
Comment #1 by k.hara.pg — 2013-02-02T00:29:22Z
Comment #2 by github-bugzilla — 2013-02-02T13:31:28Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/b15f8396bd83757b5af0bcf68ea7639eb599c2ab fix Issue 9439 - CTFE ICE: calling member function after "incorrect this" error https://github.com/D-Programming-Language/dmd/commit/8ce5340d64533fb0bef7c5c152e2169bab36c3a6 Merge pull request #1597 from 9rnsr/fix9439 Issue 9439 - CTFE ICE: calling member function after "incorrect this" error
Comment #3 by k.hara.pg — 2013-11-24T20:04:34Z
D1 is not supported anymore.