Strange issue with "loop" in failure contexts

Summary

loop seems to “forget” that it’s inside a failure context, disallowing any failable expressions to be nested in it.

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Verse

Steps to Reproduce

if:
    loop:
        false?
        break

Expected Result

The loop block allows failable expressions inside it, that would cause the enclosing failure context to fail.

Observed Result

Failable expressions cause a generic compiler error that states the <decides> call is not in a failure context, despite the fact that the if has created one. The loop should act like a block (or for) in this case, which both work correctly.

Platform(s)

UEFN v40.20

Upload an image

Additional Notes

The second screenshot I attached above is further confusing, showing that removing the failable expression (the query operator in false?) gives the if a compiler error stating that it doesn’t have any failable expressions in its clause, meaning that it recognises loop as a valid place for failure to nest.