Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.5
-
None
-
None
-
Patch
Description
The problem appears in Groovy 2.0.5 and in revision 740ae7c.. I
attached a one-line patch (match.diff) that fixes it.
In method "GenericsType.GenericsTypeMatcher.compareGenericsWithBound",
the loop over "redirectBoundType.upperBounds" should break immediately
after "match" is set to "false". All the iterations after "match" is
set to "false" do not perform any useful work, at best they just set
"match" again to "false".
Similarly, in the same method
"GenericsType.GenericsTypeMatcher.compareGenericsWithBound", the loop
over "interfaces" should break immediately after "success" is set to
"false". I attached a separate patch (interfaces.diff) for this loop.