[Issue 764] New: (typeof(o)).classinfo causes parser error

Dan ddaglas at gmail.com
Thu Dec 28 17:34:43 PST 2006


== Quote from d-bugmail (d-bugmail at puremagic.com)'s article
> http://d.puremagic.com/issues/show_bug.cgi?id=764
>            Summary: (typeof(o)).classinfo causes parser error
>            Product: D
>            Version: unspecified
>           Platform: PC
>         OS/Version: Windows
>             Status: NEW
>           Severity: normal
>           Priority: P2
>          Component: DMD
>         AssignedTo: bugzilla at digitalmars.com
>         ReportedBy: ddaglas at gmail.com
> For the following source code:
> void main() {
>   Object o = new Object();
>   printf("%*s\n", typeof(o).classinfo.name);    // compiles ok
>   printf("%*s\n", (typeof(o)).classinfo.name);  // error
> }
> compilation fails (on win32) with the following message:
> main.d(4): found '.' when expecting ','
> --- errorlevel 1

On a related note, compiling with -H added the ()'s around the typeof(...) in the
resulting .di file, which subsequently triggered the bug.

Is it a bug that DMD adds the ()'s around the typeof(...)?

--Dan


More information about the Digitalmars-d-bugs mailing list