digitalmars.D.bugs - [Issue 20764] New: [The D Bug Tracker] std.traits.isAggregateType
- d-bugmail puremagic.com (28/28) Apr 23 2020 https://issues.dlang.org/show_bug.cgi?id=20764
https://issues.dlang.org/show_bug.cgi?id=20764 Issue ID: 20764 Summary: [The D Bug Tracker] std.traits.isAggregateType chokes on modules Product: D Version: D2 Hardware: All URL: http://dlang.org/ OS: All Status: NEW Severity: enhancement Priority: P3 Component: phobos Assignee: nobody puremagic.com Reporter: jl leroy.nyc It seems that you can throw just about anything at isAggregateType, but not a module: module test; import std.traits; pragma(msg, isAggregateType!test); t.d(3): Error: template instance `isAggregateType!(test)` does not match template declaration `isAggregateType(T)` t.d(3): while evaluating `pragma(msg, isAggregateType!(test))` Suggested fix: change the definition to: enum isAggregateType(T...) = is(T[0] == struct) || is(T[0] == union) || is(T[0] == class) || is(T[0] == interface); --
Apr 23 2020