Template specification conflict
Dmitry Olshansky
dmitry.olsh at gmail.com
Tue Aug 2 04:55:45 PDT 2011
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
More information about the Digitalmars-d-learn
mailing list