You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Attempting to declare scoped disposed variables with let use inside a try or catch block results in invalid IL that fails at runtime.
The root cause is that a ret IL instruction is emitted inside the outer exception handler, which is not not supported in CIL.
The rest of the post-finally return handling boilerplate is correctly emitted, but the ret needs to be replaced with a leave targeting the label immediately after the finally where the return handling code is.
The text was updated successfully, but these errors were encountered:
Bugs fixed:
- Returning from finally doesn't work reliably (closes#1100)
- Scoped disposal within an exception handler generates incorrect IL (closes#1101)
Bugs fixed:
- Returning from finally doesn't work reliably (closes#1100)
- Scoped disposal within an exception handler generates incorrect IL (closes#1101)
Attempting to declare scoped disposed variables with
let use
inside atry
orcatch
block results in invalid IL that fails at runtime.The root cause is that a
ret
IL instruction is emitted inside the outer exception handler, which is not not supported in CIL.The rest of the post-finally return handling boilerplate is correctly emitted, but the
ret
needs to be replaced with aleave
targeting the label immediately after the finally where the return handling code is.The text was updated successfully, but these errors were encountered: