On 03/10/2017 1:05 PM, sighoya wrote:Especially, I mean something likeT<S> foo(S,T)(T<S> i) { ... }struct Foo(T) { T value; } T!S foo(S, alias T)(T!S v) { return v; } void main() { import std.stdio; writeln(foo!(int, Foo)(Foo!int(1))); }
Cool, but it seems that only a nesting of two is allowed, right?
This one gives an error:
T!S!R bar(alias T,alias S,R)(T!S!R v) {return v;}
Error: multiple ! arguments are not allowed
