diff --git a/schemars/src/_private.rs b/schemars/src/_private.rs index 129d92e..4be6c27 100644 --- a/schemars/src/_private.rs +++ b/schemars/src/_private.rs @@ -129,7 +129,7 @@ pub fn insert_object_property( properties.insert(key.to_owned(), sub_schema.into()); } - if required || !(has_default || T::_schemars_private_is_option()) { + if !has_default && (required || !T::_schemars_private_is_option()) { if let Some(req) = obj .entry("required") .or_insert(Value::Array(Vec::new()))