erichkeane added a comment.
In D126907#3584555 <https://reviews.llvm.org/D126907#3584555>, @ChuanqiXu wrote:
> I finally found some time to look at the crash. Although I haven't get an
> idea, I found it crash at the following one too:
>
> template <typename T>
> concept Constraint = true;
>
> template <typename... Signatures>
> class completion_handler_async_result {
> public:
> template <typename Initiation, Constraint RawCompletionToken>
> static void initiate(Initiation&& initiation, RawCompletionToken&&
> token);
> };
>
> template <typename... Signatures>
> concept Constraint2 =
> requires() {
> completion_handler_async_result<Signatures...>::initiate(0, 0);
> };
>
> template <typename T>
> void use(int F)
> requires Constraint2<int>
> {}
>
> The crash log is:
>
> clang/lib/AST/ExprConstant.cpp:15083: bool
> clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, const
> clang::ASTContext&, clang::Expr::ConstantExprKind) const: Assertion
> `!isValueDependent() && "Expression evaluator can't be called on a dependent
> expression."' failed.
>
> I am not sure if they are the same problem.
Yep, that is a different crash for the same reason (mismatched 'depth' of the
template parameters). I saw that a few times as well, but I believe anything
we do to solve the first will solve this as well. I haven't had a chance all
week to get back to this, but hopefully will be able to work more on it by EOW.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D126907/new/
https://reviews.llvm.org/D126907
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits