diff --git a/src/typing/nullSafety.ml b/src/typing/nullSafety.ml index f67b0a69c18..a583e4dab65 100644 --- a/src/typing/nullSafety.ml +++ b/src/typing/nullSafety.ml @@ -1041,6 +1041,8 @@ class expr_checker mode immediate_execution report = | TMeta (_, e) -> self#is_nullable_expr e | TThrow _ -> false | TReturn _ -> false + | TContinue -> false + | TBreak -> false | TBinop ((OpAssign | OpAssignOp _), _, right) -> self#is_nullable_expr right | TBlock exprs -> local_safety#block_declared; diff --git a/tests/nullsafety/src/cases/TestLoose.hx b/tests/nullsafety/src/cases/TestLoose.hx index 233f9c778d7..704f6521abd 100644 --- a/tests/nullsafety/src/cases/TestLoose.hx +++ b/tests/nullsafety/src/cases/TestLoose.hx @@ -113,4 +113,11 @@ class TestLoose { } shouldFail(if (foo()) {}); } + + static function nullCoal_continue_shouldPass():Void { + for (i in 0...1) { + var i:String = staticVar ?? continue; + var i2:String = staticVar ?? break; + } + } }