[Issue 15670] New: std.variant.Variant does not allow classes derived from templated classes
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Wed Feb 10 12:51:26 PST 2016
https://issues.dlang.org/show_bug.cgi?id=15670
Issue ID: 15670
Summary: std.variant.Variant does not allow classes derived
from templated classes
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: petar.p.kirov at gmail.com
The following code does not compile:
void main()
{
import std.variant;
class BaseTemplate(T) { this() {} }
class Concrete : BaseTemplate!int { this() {} }
Algebraic!(Concrete) holder;
Concrete a = new Concrete();
holder = Algebraic!Concrete(a);
}
Error: static assert "Cannot store a Concrete in a VariantN!(8LU, Concrete)"
test.d(10): instantiated from here: __ctor!(Concrete)
--
More information about the Digitalmars-d-bugs
mailing list