From 75b7fd38cdbdde4910e5fa6d4d022d40fe9d4602 Mon Sep 17 00:00:00 2001 From: Abdullah <89297042+AzazelSensei@users.noreply.github.com> Date: Wed, 12 Aug 2026 08:35:58 +0000 Subject: [PATCH] Skip synthetic and bridge methods in contract parsing Covariant overrides generate unannotated bridge methods that BaseContract previously tried to parse, failing inheritance tests such as overrideParameterizedApiSupported. Fixes #2752 --- core/src/main/java/feign/Contract.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/feign/Contract.java b/core/src/main/java/feign/Contract.java index 516272f45a..3501993c6a 100644 --- a/core/src/main/java/feign/Contract.java +++ b/core/src/main/java/feign/Contract.java @@ -60,7 +60,9 @@ public List parseAndValidateMetadata(Class targetType) { if (method.getDeclaringClass() == Object.class || (method.getModifiers() & Modifier.STATIC) != 0 || Util.isDefault(method) - || method.isAnnotationPresent(FeignIgnore.class)) { + || method.isAnnotationPresent(FeignIgnore.class) + || method.isSynthetic() + || method.isBridge()) { continue; } final MethodMetadata metadata = parseAndValidateMetadata(targetType, method);