Doc union type changes in Delta and Changes
Dave Rolsky [Fri, 16 Sep 2011 13:42:10 +0000 (08:42 -0500)]
Changes
lib/Moose/Manual/Delta.pod

diff --git a/Changes b/Changes
index 0edd2d3..e28c853 100644 (file)
--- a/Changes
+++ b/Changes
@@ -8,6 +8,13 @@ for, noteworthy changes.
   * The optimize_as option for type constraints has been deprecated. Use the
     inline_as option to provide inlining code instead. (Dave Rolsky)
 
+  [API CHANGES]
+
+  * The ->is_subtype_of and ->is_a_type_of methods have changed their
+    behavior. Previously, they returned true if any of their member types
+    returned true for a given type. Now, all of the member types must return
+    true. Fixes RT #67731. (Dave Rolsky)
+
   [ENHANCEMENTS]
 
   * The Moose::Exporter module now has a "meta_lookup" option when creating an
index 7c1c2ea..832a35d 100644 (file)
@@ -23,6 +23,12 @@ send us a patch.
 
 =over 4
 
+=item Union types consider all members in the C<is_subtype_of> and C<is_a_type_of> methods
+
+Previously, a union type would report itself as being of a subtype of a type
+if I<any> of its member types were subtypes of that type. This has changed
+so that I<all> of its member types must be a subtype of the specified type.
+
 =item Hand-optimized type constraint code causes a deprecation warning
 
 If you provide an optimized sub ref for a type constraint, this now causes a