[llvm-branch-commits] [clang] [NFC] [FlowSensitive] [StatusOr] add test for coroutine crash (PR #182604)

Jan Voung via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Feb 23 08:08:29 PST 2026


================
@@ -4516,6 +4516,33 @@ TEST_P(UncheckedStatusOrAccessModelTest, NestedStatusOrInOptional) {
       )cc");
 }
 
+// TODO: this crashes with "Assertion `Children.size() == 1' failed." in
+// ResultObjectVisitor::PropagateResultObject.
+TEST_P(UncheckedStatusOrAccessModelTest, DISABLED_CoroutineCoAwait) {
+  ExpectDiagnosticsFor(R"cc(
+#include "unchecked_statusor_access_test_defs.h"
+#include "task.h"
+
+  Task<STATUSOR_INT> call(STATUSOR_INT sor) {
+    if (sor.ok()) {
+      sor.value();
+    } else {
+      sor.value();  // [[unsafe]]
+    }
+    co_return sor;  // [[unsafe]]
----------------
jvoung wrote:

It wasn't obvious why this "co_return sor;" is  "// [[unsafe]]". Can you clarify?

https://github.com/llvm/llvm-project/pull/182604


More information about the llvm-branch-commits mailing list