Currently this code: pragma(msg, typeof(true ? (x => x) : ((int x) => x * 2))); prints 'void'. But it could print 'int function(int)' by fitting parameter types. More cases: pragma(msg, typeof(true ? (()=>1) : (()=>1.0))); // fitting return types - could be 'double function()' pragma(msg, typeof(true ? ((int x) => 1) : (delegate(int x)=>1))); // fitting context type --> could be 'int delegate(int)'
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17653 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB