Quuxplusone added a comment.

@courbet: On the cpplang Slack, Peter Feichtinger mentioned that defaulted 
template arguments should perhaps be treated differently. Is there any way to 
suppress the `, std::allocator<int>` part of this diagnostic? 
https://godbolt.org/z/TM0UHc

Before your patches:

  <source>:11:5: error: static_assert failed due to requirement 
'std::is_integral_v<typename S::t>'
      static_assert(std::is_integral_v<typename T::t>);
      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

After your patches:

  <source>:11:5: error: static_assert failed due to requirement 
'std::is_integral_v<std::vector<int, std::allocator<int> > >'
      static_assert(std::is_integral_v<typename T::t>);
      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

I don't think the new behavior is //worse//; but I don't think it's optimal, 
either.

I think Clang already has a feature to suppress printing these parameters; you 
would just have to figure out where it is and try to hook it into your thing. 
(And if you do, I'm going to ask for a test case where `T::t` is 
`std::pmr::vector<int>`!)


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55270/new/

https://reviews.llvm.org/D55270



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to