On 23/02/2018 1:54 PM, Timothee Cour wrote:
in example below, how do I propagate RET (or even `typeof(a)`) to the result value of `inferType`?does this need a language change to allow this? ``` template inference(alias emitter) { auto inference(){ auto inferType(){ emitter!((a){ enum RET=typeof(a).stringof; // type is known here, how to propagate? pragma(msg, RET); // string }) (); return "unknown"; } // how to get RET? (or even typeof(a) ) enum temp=inferType; pragma(msg, temp); } } void main(){ static void fun(alias put)(){ put("hello"); } inference!fun; } ``` use case: allow type inference in `emit` https://github.com/timotheecour/dtools/blob/master/dtools/util/emit.d (see forum discussion here:https://forum.dlang.org/post/[email protected])>
Yeah I've tried, I can't think of any way to do this.
