== Quote from Lars T. Kyllingstad (pub...@kyllingen.nospamnet)'s article
> IFTI -- implicit function template instantiation -- is a pretty nifty
> feature in D, which allows code that calls templated functions to be
> written in a nice, clear way.
> Would it be possible to extend it to also work for class/struct
> construction, so that the type of a templated class can be deduced from
> its constructor's arguments? Here's an example of what I mean:
>    class Foo(T)
>    {
>        T bar;
>        this(T t) { bar = t; }
>    }
>    auto foo = new Foo(1.0);  // The type of foo is now Foo!double
> I've found myself wishing for this in several cases. Sometimes the
> template specification has been so involved that I've ended up writing
> factory methods instead of ordinary constructors. But then, the classes
> in question become inconsistent with the rest of my code, and I hate
> inconsistencies.
> I've only seen this mentioned once before, in bug report 1856, but none
> of the comments in that report say anything more about it.
>    http://d.puremagic.com/issues/show_bug.cgi?id=1856
> Are there specific reasons why ICTI and ISTI wouldn't work?
> -Lars

I guess this is just yet another symptom of c'tors being "special".  However, 
IDK
how we c'tors **not** special because they have the exclusive privilege of 
setting
immutable data.  This should probably be considered as part of the "what to do
about new" discussion.

Reply via email to