https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101015
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=84360 --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- namespace v2 { template<typename T> struct blargle { }; } namespace v1 { template<typename _Tp> using blargle [[deprecated("use v2::blargle instead of v1::blargle")]] = v2::blargle<_Tp>; } v1::blargle<int> a; da.C:13:18: warning: 'using blargle = struct v2::blargle<int>' is deprecated: use v2::blargle instead of v1::blargle [-Wdeprecated-declarations] 13 | v1::blargle<int> a; | ^ da.C:9:11: note: declared here 9 | using blargle [[deprecated("use v2::blargle instead of v1::blargle")]] | ^~~~~~~ The expanded using-declaration is especially unhelpful when it re-uses the same name in a different namespace. It would be better to print the type including its namespace qualification: warning: 'v1::blargle' is deprecated: ... Maybe related to PR 84360