https://issues.dlang.org/show_bug.cgi?id=14170
Simen Kjaeraas <simen.kja...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |simen.kja...@gmail.com --- Comment #1 from Simen Kjaeraas <simen.kja...@gmail.com> --- (1) is a case of DMD ignoring a redundant keyword - 'static' has no effect there, so it's just ignored. It's been mentioned that this is due to static blocks in aggregates, but I'm unsure of the exact details: struct S { static { // or just static: // lots of declarations alias value this; } } (3) is explicitly mentioned in https://dlang.org/spec/declaration.html#typeof: Special cases: typeof(this) will generate the type of what this would be in a non-static member function, even if not in a member function. (2) and (4) are bug 6579. Possibly a bit more than that, since they don't have an actual instance to work with, but that's the root. --