Because pgrx operates within the Postgres environment, developers must be aware that Rust's Drop::drop implementations are not guaranteed to run. This is because Postgres can interrupt control flow in ways that prevent destructors from starting or finishing.
To maintain safety, pgrx ensures that Rust control flow is independent of Postgres control flow. This is particularly relevant when dealing with non-trivial destructors, as the use of sigsetjmp and siglongjmp (used by pgrx to manage Postgres's machinations) can interact with Rust's execution model.