template FieldInfo(T, Nullable!T default_) {
}

On Tuesday, 12 March 2019 at 09:05:36 UTC, Nicholas Wilson wrote:
It seems to be getting confused between the two types of Nullable, namely:
Nullable(T), and
Nullable(T, T defaultVal)

I don't understand why exactly it is getting confused. How can it decide that "Nullable!T default_" is a two-arguments template when it is so not "Nullable!(T, default_)"? Please explain the EXACT cause of the error.

template FieldInfo(T) {
    template FieldInfo(Nullable!(T) default_)
    {
        enum FieldInfo = 0;
    }
}

seems to work, but I can't seem to instantiate one of it.

Why you use the same name "FieldInfo" for both the template and its subtemplate? Does it make some sense?

Reply via email to