First Draft: Implicit Type Template Instantiation via Constructors
Sebastiaan Koppe
mail at skoppe.eu
Tue May 13 06:06:54 UTC 2025
On Wednesday, 12 March 2025 at 00:20:55 UTC, Meta wrote:
> This DIP is a partial resurrection of DIP 40
> (https://wiki.dlang.org/DIP40) by me and Dennis Korpel. Dennis
> is working on the implementation
> (https://github.com/dlang/dmd/pull/16910) while I am writing
> the DIP.
>
> The purpose of this DIP is to propose a new avenue for Implicit
> Template Instantiation (ITI) via constructors. Currently (that
> I'm aware of) D only does Implicit _Function_ Template
> Instantiation (IFTI); the proposal is to extend this implicit
> instantiation to types as well, via their constructors.
>
> [...]
>
> The DIP:
> https://github.com/MetaLang/DIPs/blob/dip1050/DIPs/DIP1050.md
Makes a lot of sense to me.
What about implicit constructors though?
```
struct Pair(T,U) {
T t;
U u;
}
void main() {
auto p = Pair(1,"string");
}
```
More information about the dip.development
mailing list