For example consider this cfg:
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
pub fn ok_or<E>(self, err: E) -> Result<T, E> {
match self {
Some(v) => Ok(v),
None => Err(err),
}
}
The way I handled resume previously for this case, was that I saw that there was a drop at 11
with an unwind, so I always unwind
first and then resume at 7
.
But if that is the case, why isn't there an edge from 1 -> 7
in the first place? I think that I just misunderstand Resume
.
Consider this CFG
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
pub fn unwrap(self) -> T {
match self {
Ok(t) => t,
Err(e) => unwrap_failed("called `Result::unwrap()` on an `Err` value", e),
}
}
I see Resume
in an Unwind
only path, I don't see how we can resume from there at all. I kind of expected an abort
instead of an resume
.