New scope solution

Yes, it has to be a purely syntactic criterion. If you see a conditional, you consider all branches; if you see a loop you consider it being executed and not executed (for these purposes, a loop is equivalent to an if without an else). If there’s any @goto we should probably require explicit annotation of anything that is assigned.

3 Likes