[all-commits] [llvm/llvm-project] b9a77b: [Concepts] Fix an assert when trying to form a rec...

Erich Keane via All-commits all-commits at lists.llvm.org
Fri Oct 28 10:25:48 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b9a77b56d83ac788beb7b1743e510ef8534354ca
      https://github.com/llvm/llvm-project/commit/b9a77b56d83ac788beb7b1743e510ef8534354ca
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    A clang/test/SemaTemplate/concepts-GH53213.cpp

  Log Message:
  -----------
  [Concepts] Fix an assert when trying to form a recovery expr on a
concept

When we failed the lookup of the function, we tried to form a
RecoveryExpr that caused us to recursively re-check the same constraint,
which caused us to try to double-insert the satisfaction into the cache.

This patch makes us just return the inner-cached version instead. We DO
end up double-evaluating thanks to the recovery-expr, but there isn't a
good way around that.




More information about the All-commits mailing list