https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89780
--- Comment #5 from S. Davis Herring <herring at lanl dot gov> --- Perhaps I'm misunderstanding something, but your example (as well as compiling the original example with -std=c++20, which produces the same warning but now calls Dest(Dest&&) in the noMove<Source> case) means that the warning is correct in C++20 mode (but not in C++17). If that's the case, why suppress the warning in formerly dependent contexts regardless of language version?