diff --git a/spring-core/src/main/java/org/springframework/core/ResolvableType.java b/spring-core/src/main/java/org/springframework/core/ResolvableType.java index 5a6fae09bb6d..3c66cd2345a3 100644 --- a/spring-core/src/main/java/org/springframework/core/ResolvableType.java +++ b/spring-core/src/main/java/org/springframework/core/ResolvableType.java @@ -342,15 +342,14 @@ private boolean isAssignableFrom(ResolvableType other, boolean strict, return (ourBounds.isSameKind(typeBounds) && ourBounds.isAssignableFrom(typeBounds.getBounds(), matchedBefore)); } - else if (upUntilUnresolvable) { + if (upUntilUnresolvable || other.isUnresolvableTypeVariable()) { return typeBounds.isAssignableFrom(this, matchedBefore); } - else if (!exactMatch) { + if (!exactMatch) { return typeBounds.isAssignableTo(this, matchedBefore); } - else { - return false; - } + + return false; } // In the form is assignable to X...