diff --git a/lib/literal/properties.rb b/lib/literal/properties.rb index dbaac46..86d11bc 100644 --- a/lib/literal/properties.rb +++ b/lib/literal/properties.rb @@ -17,8 +17,8 @@ def self.extended(base) end def prop(name, type, kind = :keyword, reader: false, writer: false, predicate: false, default: nil, &coercion) - if default && !(Proc === default || default.frozen?) - raise Literal::ArgumentError.new("The default must be a frozen object or a Proc.") + if default && !(Proc === default || Ractor.shareable?(default)) + raise Literal::ArgumentError.new("The default must be a deeply-frozen object or a Proc.") end unless Literal::Property::VISIBILITY_OPTIONS.include?(reader)