Closed yuri-kilochek closed 3 years ago
Current implementation of this feature relies on copy elision in throw expression. Such elision is not mandatory, and when it doesn't happen, forced_unwind::caught remains false when the temporary is destroyed, which incorrectly triggers the assert.
throw
forced_unwind::caught
false
I recommend removing the checking entirely.
fixed, ty
Current implementation of this feature relies on copy elision in
throw
expression. Such elision is not mandatory, and when it doesn't happen,forced_unwind::caught
remainsfalse
when the temporary is destroyed, which incorrectly triggers the assert.I recommend removing the checking entirely.