On Sun, 24 Jul 2016 10:17:24 +0200 Chí-Thanh Christopher Nguyễn <chith...@gentoo.org> wrote:
> Michał Górny schrieb: > > So, to summarize we shouldn't fix existing code because people did > > assume accepting invalid parameters was fine. > > You are changing the API of versionator.eclass, even if it was unintentional > API. There is no such thing as 'unintentional API'. API is what's described. If you rely on internals, random undefined behaviors or whatever, it's not a part of the API. Yes, I know that most of Gentoo developers are bright enough to assume 'if it is not explicitly forbidden in words I can't find a way to bend to pretend it's allowed anyway, it's allowed even if it doesn't make any sense'. But that's a social problem that could easily solved by more proactive retirements, and not a good API design point. > > Then ebuilds will fail just the same > > No. Before, ebuilds would maybe display an upgrading message when they > shouldn't, or vice versa. Now the eclass dies on them. So what's the alternative? Design another eclass where ebuilds will fail just the same because people will ignore the more explicit requirement just the same as they do ignore the API? The problem is not 'there is a valid case to pass useless parameters to the function'. The problem is 'I make an invalid assumption about what will happen based on my limited knowledge which I believe is more correct than people who wrote package managers'. -- Best regards, Michał Górny <http://dev.gentoo.org/~mgorny/>
pgpQTqIRQWLXO.pgp
Description: OpenPGP digital signature