On 02.08.2011 15:06, simendsjo wrote:
The following program gives me
"Error: template t.S.__ctor(C) if(isSomeChar!(C)) conflicts with constructor t.S.this at t.d(4)"

Is this because char etc can be converted to uint? Shouldn't the template specification make this unambiguous?

import std.traits;

struct S {
    this(uint i) {}
    this(C)(C c) if(isSomeChar!C) {}
}

void main() {}

struct S {
    this()(uint i) {}
    this(C)(C c) if(isSomeChar!C) {}
}

should do it, though it (and workaround) looks like a bug to me.

--
Dmitry Olshansky

Reply via email to