[PATCH] D146178: [Clang][Sema] Fix comparison of constraint expressions

Ilya Biryukov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 6 03:38:29 PDT 2023


ilya-biryukov added a comment.

This breaks the following innocent looking out-of-line definition with two levels of constrained template parameters:

  template <typename T> concept Result = true;
  
  template <Result T>
  class CoFuture final {
    template <Result Tag> explicit CoFuture();
  };
  
  template <Result T>
  template <Result Tag>
  CoFuture<T>::CoFuture() {}

See godbolt <https://gcc.godbolt.org/z/TvP39vvW7>.

We found this during our compiler releases, not sure if there is a quick forward fix or we will need to rollback.
@alexander-shaposhnikov could you take a look?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146178



More information about the cfe-commits mailing list