digitalmars.D - Extending UFCS to work with templates.
- DigitalDesigns (18/18) Jun 09 2018 The idea is that one can use UFCS with templates and types if the
The idea is that one can use UFCS with templates and types if the
first type matches:
void foo(string T)(int x);
"test".foo(4); <==> foo!("test")(4)
class X;
void foo(T : X)(int x);
X.foo(4) <=> foo!X(4)
This would be unambiguous(since types are not variables in D).
This allows one to define generic functions on a whole class of
types:
T New(T, Args...)(Args a)
{
return new T(a);
}
which then is a useful idiom because it provides a nice wrapper
for new. We could then use New in place of new in our design and
then track allocations easier, convert seamlessly between gc and
nogc allocated variables, etc.
Jun 09 2018








DigitalDesigns <DigitalDesigns gmail.com>