diff --git a/lib/dry/types/predicate_inferrer.rb b/lib/dry/types/predicate_inferrer.rb index 0cc525a3..67ab976f 100644 --- a/lib/dry/types/predicate_inferrer.rb +++ b/lib/dry/types/predicate_inferrer.rb @@ -185,6 +185,11 @@ def visit_predicate(node) end end + # @api private + def visit_map(_node) + raise NotImplementedError, "map types are not supported yet" + end + private # @api private diff --git a/spec/dry/types/predicate_inferrer_spec.rb b/spec/dry/types/predicate_inferrer_spec.rb index d2ffa86b..f024d6f4 100644 --- a/spec/dry/types/predicate_inferrer_spec.rb +++ b/spec/dry/types/predicate_inferrer_spec.rb @@ -188,4 +188,10 @@ def type(*args) expect(inferrer[custom_type]).to eql([type?: custom_type.primitive]) end end + + it "tells that map types are not supported" do + expect { + inferrer[type(:hash).map("integer", "string")] + }.to raise_error(NotImplementedError, /map types are not supported/) + end end