deprecated struct OldStruct { } struct NewStruct { } auto foo(T)(T t) // error: struct `OldStruct` is deprecated if (!__traits(isDeprecated, T)) { return T.init; } deprecated auto foo(T)(T t) if (__traits(isDeprecated, T)) { return T.init; } deprecated unittest { auto b = foo(OldStruct()); // instantiated from here }
@ibuclaw created dlang/dmd pull request #12440 "fix Issue 21831 - Wrong deprecation message in template parameters before evaluating constraints" fixing this issue: - fix Issue 21831 - Wrong deprecation message in template parameters before evaluating constraints https://github.com/dlang/dmd/pull/12440
dlang/dmd pull request #12440 "fix Issue 21831 - Wrong deprecation message in template parameters before evaluating constraints" was merged into master: - 52466a6deab25cf5314186b329116e4801b741de by Iain Buclaw: fix Issue 21831 - Wrong deprecation message in template parameters before evaluating constraints https://github.com/dlang/dmd/pull/12440