https://issues.dlang.org/show_bug.cgi?id=16685
Issue ID: 16685 Summary: [The D Bug Tracker] Product: D Version: D2 Hardware: All URL: http://dlang.org/ OS: All Status: NEW Severity: enhancement Priority: P3 Component: dmd Assignee: nob...@puremagic.com Reporter: eyal.lo...@gmail.com Failing to instantiate a template from a correctly-typed compile-time value: struct Id { ushort value; } enum Id x = Id(5); struct S(ushort A) {} // This works, as expected: enum ushort someShortVal = 5; alias CanCreateFromShort = S!(someShortVal); // This works, as expected: alias CanCreateFromTypedValue = S!(ushort(x.value)); static assert(is(typeof(x.value) == ushort)); // This surprisingly fails alias CannotCreateFromValue = S!(x.value); --