diff --git a/src/types/zval.rs b/src/types/zval.rs index 1bca7bc2e..ba08f9ffd 100644 --- a/src/types/zval.rs +++ b/src/types/zval.rs @@ -54,6 +54,14 @@ impl Zval { } } + /// Creates a null zval + #[must_use] + pub fn null() -> Zval { + let mut zval = Zval::new(); + zval.set_null(); + zval + } + /// Dereference the zval, if it is a reference. #[must_use] pub fn dereference(&self) -> &Self { @@ -790,3 +798,18 @@ impl<'a> FromZvalMut<'a> for &'a mut Zval { Some(zval) } } + +#[cfg(test)] +#[cfg(feature = "embed")] +mod tests { + use super::*; + use crate::embed::Embed; + + #[test] + fn test_zval_null() { + Embed::run(|| { + let zval = Zval::null(); + assert!(zval.is_null()); + }); + } +}