Section: §13.2 rule 4
Current text:
A bare raise outside an except block is a compile-time error...
Problem:
This may actually be a runtime condition (undefined behavior / access violation when there is no current exception in flight) rather than something the compiler statically rejects. Not confident enough to assert either way without checking.
Why this needs compiler verification:
Compile a unit containing a bare raise; statement at a point with no enclosing except block and observe whether it fails to compile or compiles and fails at runtime when executed.
Suggested fix (pending verification):
Correct the rule to state the actual observed behavior (compile-time error vs. runtime access violation/undefined behavior).
Section: §13.2 rule 4
Current text:
Problem:
This may actually be a runtime condition (undefined behavior / access violation when there is no current exception in flight) rather than something the compiler statically rejects. Not confident enough to assert either way without checking.
Why this needs compiler verification:
Compile a unit containing a bare
raise;statement at a point with no enclosingexceptblock and observe whether it fails to compile or compiles and fails at runtime when executed.Suggested fix (pending verification):
Correct the rule to state the actual observed behavior (compile-time error vs. runtime access violation/undefined behavior).