Skip to content

Unimplemented: catch_unwind intrinsic #267

Description

@danielsn

Only remaining issue from #158

https://doc.rust-lang.org/std/intrinsics/fn.try.html
https://doc.rust-lang.org/src/core/intrinsics.rs.html#1717
https://doc.rust-lang.org/std/panic/fn.catch_unwind.html

try makes a best-effort attempt to recover from panics - if the code in the first function pointer crashes with a panic, rust will try to run the cleanup code in the second function pointer.

It is not clear to me what the right semantics are here. For now, handling this as a unimplemented allows us to soundly move forward, but it might be more accurate to actually call the first function pointer. I don't know of a nice way to do the unwinding on panic - maybe CBMC has a mechanism?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions