"Definition differs from the declaration in the return type " build failure(s)
clang 13.0.0
For some reasons, clang refuses the following syntax while g++ accepts it:
#include <streambuf>
struct S { typedef int fd_type; };
template class A : public std::basic_streambuf, public S
{ fd_type& foo(); };
template typename A::fd_type& A::foo()
{ return NULL; }
No error detect for version 13.0.0
0 errors