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]