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:
Putting nothrow: at the top of the module doesn't influence the
status for member functions in a class or struct, the nothrow:
will have to be repeated for each class/struct.
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?