https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114764
--- Comment #7 from Giuseppe D'Angelo <dangelog at gmail dot com> --- I get it :) If you wanted an actual use-case (rather than a synthetic testcase), we stumbled upon this bug from implementing a friend operator==: ``` class S { bool comparesEqual(S, S) noexcept; // pass by value, object is small/trivially copyable friend inline bool operator==(S a, S b) noexcept(noexcept(comparesEqual(S, S))) { returns comparesEqual(a, b); } }; ``` which is the result of some macro expansions through which we support C++20's comparisons in C++17 in Qt. The problem is the pass by value -- changing it to pass by const-ref fixes it, but generates different linting about not passing a small TC object by value...