[object.d] (an empty file) [bug.d] class A {} void main() {} C:\>dmd bug.d bug.d(1): identifier 'Object' is not defined bug.d(1): Object is used as a type Assertion failure: 'b->type->ty == Tclass' on line 286 in file 'class.c' abnormal program termination The presence of an object.d file in the local directory overrides the real and required object.d in the dmd directory. This results in weird errors and a compiler crash. FYI: Removing the class declaration from bug.d avoids the issue. Suggestions (one or more of these would be nice): 1- Refuse to compile reserved file names. 2- Rename the reserved files to something less likely to collide. 3- Ignore reserved files (and .obj files for them) in any directory but the expected dmd directory. Obviously doing #2 only, will only partially solve the problem (there remains a chance it will occur in the future), but, it does make the complete solution, involving #1 or #3, less likely to be a problem when a collision does occur.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d-bugmail@puremagic.com schrieb am 2006年04月07日: > http://d.puremagic.com/bugzilla/show_bug.cgi?id=90 > [object.d] (an empty file) > > [bug.d] > class A {} > void main() {} > > C:\>dmd bug.d > bug.d(1): identifier 'Object' is not defined > bug.d(1): Object is used as a type > Assertion failure: 'b->type->ty == Tclass' on line 286 in file 'class.c' > > abnormal program termination > > The presence of an object.d file in the local directory overrides the real and > required object.d in the dmd directory. This results in weird errors and a > compiler crash. Added to DStress as http://dstress.kuehne.cn/complex/object_02 Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEOBqr3w+/yD4P9tIRAhsGAKCTMWrTuMpR4Ru6JDycxDApPkNBXwCgksBU LAySEK8qdbU5jKnJDhhpBA4= =B0Nt -----END PGP SIGNATURE-----
Fixed 0.153
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル