gdc-0.18: why Unexpected FunExp type?

Peri Hankey mpah at thegreen.co.uk
Sat May 27 02:50:39 PDT 2006


It's great to see movement on the gdc front.

However, here is some code which compiles ok under gdc-0.17, but fails 
in gdc-0.18 with a gdc compile error:

----------------------------------------------
// dummy types to help isolate compile problem
alias int stream;
alias int mode;
alias int element;

element foo (inout stream sr, element x) { return x; }

class external {
   element function(inout stream sr, mode m, element[] args)[char[]]
       table;

   this() {
   // this assignment is ok in gdc-0.17
   // but fails in gdc-0.18
   // message is "error: Unexpected FunExp type"
   table["octal"] =
       function element(inout stream sr, mode m, element[] args) {
          return foo(sr, args[1]);
       };
   }
}
----------------------------------------------

I don't think this is the same as any of the function-related bugs that 
I could see in bugzilla. Any ideas or suggestions?

-- 
Peri Hankey                               mpah at thegreen.co.uk
http://languagemachine.sourceforge.net - The language machine



More information about the D.gnu mailing list