I really don't know what else to call this, and it's a bit tedious to get to happen. So here's the general idea: ------ [modules/test1.d] -------- module modules.test1; import modules.test2; struct A { enum B { One, Two } } void bar() { foo(); } --------- [modules/test2.d] --------- module modules.test2; import modules.test1; A.B foobar; // error, no property B for type A?! void foo() { int x; if(x == A.B.One) // but this is OK x = 1; } --------------------------------- Some interesting facts: - This only seems to happen if the modules are in a package. If they're two top-level modules, it works fine. - Notice I can't use A.B as a type, but I can in fact access A.B's members. - Using static imports/aliased imports does not help. I don't know how to get it to not work the way it does in MiniD - that is, I can't even use A.B in the same module that A.B is defined! This is, for me, something of a showstopper.. I'll probably be using 0.162 for a bit, which is sad, considering how cool the 0.163 features are! I don't know if I should change the priority of this bug, but this is something that can't be worked around easily, so I'd put it pretty high up there.
Related to #204. Maybe even same problem.
(In reply to comment #1) > Related to #204. Maybe even same problem. > Err. #102 . Sorry.
Created attachment 455 [details] ensure semantic run when searching struct for members When searching members of a class that is not yet semantically analyzed, the analysis is run on it. This is not done for structs or unions, which is probably an omission.
Changeset 318
http://d.puremagic.com/issues/show_bug.cgi?id=282
(In reply to comment #5) > http://d.puremagic.com/issues/show_bug.cgi?id=282 Damn! http://www.dsource.org/projects/dmd/changeset/318
Fixed dmd 1.054 and 2.038
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル