https://issues.dlang.org/show_bug.cgi?id=16465
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86_64 |All OS|Windows |All --- Comment #1 from [email protected] --- 1. I don't see the first function working. (https://dpaste.dzfl.pl/2b462faf70b0). WHen you try to instantiate both gives the same error. 2. If you don't do partial instantiation then your alias can be declared more simply as 'alias TestAlias = TestType;' 3. The real problem you encounter here is that TestType template argument cannot be deduced from the value passed to the constructor: struct TestType(T) { T data; } void main() { auto a = TestType(0); // same error } This is exactly what happens when you call TestFunctionA. For example you can replace the declaration by: void testFunctionB(T)(T arg) and if you call testFunction(TestType(0)); you get exactly the same error. --
