Closed ta0kira closed 4 years ago
Variance in context should also be collected, in case multiple matches are going to be merged.
Allowing Type<_>$foo(bar)
or Type$foo<Baz<_>>(bar)
might not be a good idea because it would require either allowing _
everywhere types are used, or adding extra checks for unresolved place-holders everywhere types are used.
Possible syntax:
The idea is to use place-holders for params that should be inferred, rather than leaving them out entirely like in Java and C++.
Tre process might work like this:
This process implies that something like
foo<Baz<_>>(bar)
might also be allowed.