1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/// A simple enum describing the value returned from a function #[derive(PartialEq, Eq, Clone, Copy, Debug, Hash)] pub enum ReturnValue<V> { /// The function or call returns this value Return(V), /// The function or call returns void ReturnVoid, /// The function or call throws this value (using the LLVM `invoke`/`resume` /// mechanism, which is used for e.g. C++ exceptions) /// /// (note that, unless other comments say otherwise, this is a pointer to the /// actual value or object thrown, not the value itself) Throw(V), /// The function or call aborts without ever returning (e.g., with a Rust /// panic, or by calling the C `exit()` function) Abort, }