digitalmars.D.bugs - [Bug 145] New: Can't refer to global scope after a cast
- d-bugmail puremagic.com (26/26) May 18 2006 http://d.puremagic.com/bugzilla/show_bug.cgi?id=145
- d-bugmail puremagic.com (19/19) May 18 2006 http://d.puremagic.com/bugzilla/show_bug.cgi?id=145
- d-bugmail puremagic.com (10/10) May 18 2006 http://d.puremagic.com/bugzilla/show_bug.cgi?id=145
- Thomas Kuehne (12/25) May 19 2006 -----BEGIN PGP SIGNED MESSAGE-----
http://d.puremagic.com/bugzilla/show_bug.cgi?id=145 Summary: Can't refer to global scope after a cast Product: D Version: 0.157 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: lio lunesu.com #int somefunc(int i) { return i; } #class someclass{ C:\dmd>dmd test.d test.d(5): found '(' when expecting ';' following 'return statement' test.d(5): found ')' when expecting ';' following 'statement' C:\dmd>dmd Digital Mars D Compiler v0.157 If ".somefunc" were in a module, "cast(uint)somemod.somefunc" works just fine. --
May 18 2006
http://d.puremagic.com/bugzilla/show_bug.cgi?id=145 deewiant gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor Priority|P2 |P3 Just wrap .somefunc(2) in brackets: int somefunc(int i) { return i; } class someclass{ // int somefunc() {...} uint otherfunc(){ return cast(uint)(.somefunc(2)); } } I guess it's still a bug, since the parser should be able to realise that we're not trying to, for instance, call a method of cast(uint)'s named somefunc. But it's not really that important. --
May 18 2006
http://d.puremagic.com/bugzilla/show_bug.cgi?id=145 smjg iname.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Keywords| |rejects-valid I was just trying to follow the grammar to see if it should be allowed! Indeed, .someFunc(2) is a UnaryExpression, so yes. --
May 18 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d-bugmail puremagic.com schrieb am 2006-05-18:#int somefunc(int i) { return i; } #class someclass{ C:\dmd>dmd test.d test.d(5): found '(' when expecting ';' following 'return statement' test.d(5): found ')' when expecting ';' following 'statement' C:\dmd>dmd Digital Mars D Compiler v0.157 If ".somefunc" were in a module, "cast(uint)somemod.somefunc" works just fine.Added to DStress as http://dstress.kuehne.cn/run/o/opModule_01_A.d http://dstress.kuehne.cn/run/o/opModule_01_B.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEbb843w+/yD4P9tIRAn6+AJ0eoNXdbxvYEmPOxlG7u78F5HBg/QCeN/ii omyrnfG0dfw94VVCgIEPp2w= =h6St -----END PGP SIGNATURE-----
May 19 2006