3 ms·
> Other than that, I don't understand your question. It's simple: a user inherits from your class and adds a method to their user-defined subclass. You then sh
by pdonis 5y ago
> Other than that, I don't understand your question.
It's simple: a user inherits from your class and adds a method to their user-defined subclass. You then ship a new version of your library that adds a method with the same name to your class, but with different semantics, and other parts of your library call this method expecting it to have the semantics you defined. You've just broken the user's code, even though you say this was a "backwards-compatible" release, and it isn't the user's fault because they were using your library as it was documented.