https://issues.dlang.org/show_bug.cgi?id=15309
Martin Nowak <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #5 from Martin Nowak <[email protected]> --- I don't agree w/ this change, my comment from https://github.com/D-Programming-Language/dmd/pull/5263/files#r50680394. + // ti is an instance which requires IFTI. + sds = ti; + type = Type.tvoid; This in particular changed the semantic of typeof(func!arg) from Error: expression (func!arg) has no type to plain void. I think it's incorrect to type a not fully instantiated template function as void (even though there is some precedence w/ templates being of type void). For non-function templates it's an error when arguments are missing and even with this change typeof(&func!arg) triggers the same error. On top of this all this change broken is(typeof(T.someAttribute)) detection for types w/ opDispatch. Also see issue 15550 which was introduced by this change. --
