import std.traits;
enum Foo
{
a,
deprecated b
}
alias Bar = EnumMembers!Foo;
This code will output 6 deprecation notices:
.../std/traits.d(4120): Deprecation: enum member `a.Foo.b` is deprecated
.../std/traits.d-mixin-4108(4108): Deprecation: enum member `a.Foo.b` is deprecated
.../std/traits.d(4119): Deprecation: enum member `a.Foo.b` is deprecated
.../std/traits.d(4120): Deprecation: enum member `a.Foo.b` is deprecated
.../std/traits.d-mixin-4108(4108): Deprecation: enum member `a.Foo.b` is deprecated
.../std/traits.d(4119): Deprecation: enum member `a.Foo.b` is deprecated
There should be no deprecations for simply listing the members into a tuple as EnumMembers is heavily used in phobos and libraries.
See also: issue 19547 describing how @disable members break writeln
Comment #1 by robert.schadek — 2024-12-01T16:35:01Z