garydgregory commented on PR #1782:
URL: https://github.com/apache/commons-lang/pull/1782#issuecomment-5570368501

   @Alwaysgaurav1 
   Until copilot comes back with its review, here are a couple of finding to 
address:
   
   - Lower-bound behavior changes without a regression test.
   
   At updated `TypeUtils` lines 1251–1259, the patch changes “every source 
lower bound” to “at least one source lower bound.” This is outside the 
upper-bound problem described by the PR.
   
   See:
   ```
   TypeUtils.isAssignable(
       TypeUtils.wildcardType()
           .withLowerBounds(Number.class, CharSequence.class).build(),
       TypeUtils.wildcardType()
           .withLowerBounds(Integer.class).build())
   ```
   
   The result changes from false to true. This is not itself evidence of 
incorrect behavior, but it needs an explicit rationale and positive/negative 
tests. Either include those or leave the lower-bound change for a separate PR.
   
   - The new test does not protect the “every target bound” requirement.
   
   All four assertions use a target with one upper bound. Add a target with 
multiple bounds where only one is satisfied, and another where all are 
satisfied. Also test the reverse direction: `? extends Serializable` must not 
become assignable to the synthetic `Serializable & Cloneable` wildcard.
   These cases protect the distinction between “for every target bound, some 
source bound matches” and the incorrect “any matching pair is enough.”
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to