diff --git a/starlark/src/values/types/none/none_or.rs b/starlark/src/values/types/none/none_or.rs index fc81ae4d..0d7e2b8c 100644 --- a/starlark/src/values/types/none/none_or.rs +++ b/starlark/src/values/types/none/none_or.rs @@ -51,6 +51,15 @@ impl NoneOr { } } + /// Convert a Rust [`Option`] to a [`NoneOr`]. + #[inline] + pub fn from_option(option: Option) -> Self { + match option { + None => NoneOr::None, + Some(x) => NoneOr::Other(x), + } + } + /// Is the value a [`NoneOr::None`]. pub fn is_none(&self) -> bool { matches!(self, NoneOr::None)