https://issues.dlang.org/show_bug.cgi?id=15839
--- Comment #1 from Kenji Hara <k.hara...@gmail.com> --- This is an intentional bugfix introduced by fixing issue 14442. Note that there was accepts-invalid bug. The spec page http://dlang.org/spec/class said: > The property .outer used in a nested class gives the this pointer to its > enclosing class. If the enclosing context is not a class, the .outer will > give the pointer to it as a void* type. It means `this.outer` in `run()` member function should represent the frame of 'start' function. Actually the generated code is following the spec, but front-end had incorrectly typed 'this.outer' like an AnimatedProgress class. --