rikkarth commented on PR #412:
URL: 
https://github.com/apache/commons-configuration/pull/412#issuecomment-2088710585

   Ok so I believe this is the reason why I broke compatibility.
   
   ```
   However, adding overloaded methods has the potential to change method 
resolution and thus change the signatures of the method call sites in the 
resulting class file. Whether or not such a change is problematic with respect 
to source compatibility depends on what semantics are required and how the 
different overloaded methods operate on the same inputs, which interacts with 
behavioral equivalence notions. For example, consider adding to Lib an 
overloading of foo which takes an int:
   
   // Behaviorally equivalent source compatible change
   public final class Lib {
     public double foo(double d) {
       return d * 2.0;
     }
   
     // New overloading
     public double foo(int i) {
       return i * 2.0;
     }
   }
   ```


-- 
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