On Friday, 3 November 2023 at 04:33:12 UTC, Andrej Mitrovic wrote:
On Thursday, 2 November 2023 at 09:13:55 UTC, Iain Buclaw wrote:
On Thursday, 2 November 2023 at 07:49:32 UTC, Imperatorn wrote:
Why is it named nothrow if what it's really doing is not
adding the unwinders?
A nothrow switch could imply it's doing something in
relationship to nothrow, which it doesn't (unless it's
secretly enforcing nothrow in the codebase).
`-nothrow` is equivalent to putting `nothrow:` at the top of
every compiled module.
That kind of goes against what it says in the changelog:
Recursively adding `nothrow:` was implied but I err towards
brevity.
And it also mentions:
The switch does not affect semantic analysis
But surely it has effect on semantics? I assume scope
statements are disallowed if -nothrow is set and would lead to
compilation errors?
Right, statements that depend on exceptions as part of their
operation can't possibly work because no unwind tables, eh
regions, etc... are generated.