module ut.issues; import ut; @("14") @safe pure unittest { static interface ITransformer { import std.traits: FA = FunctionAttribute; enum CopyConstructorAttrs = FA.safe | FA.pure_ | FA.nothrow_; enum DestructorAttrs = FA.safe | FA.pure_ | FA.nothrow_; int transform(int) @safe pure const; } alias Transformer = Polymorphic!ITransformer; static class PlusNumber { private int number; this(int number) @safe pure { this.number = number; } int transform(int i) @safe pure const { return i + number; } } auto plus = Transformer(new PlusNumber(42)); }