I didn't get what you mean. parameters are invariant, "invariance, which is safe for both" and " it shouldn't match parameters" are contradictory.
Thanks. Dmitry. On Fri, Nov 28, 2014 at 1:57 PM, Andrea Faulds <a...@ajf.me> wrote: > > > On 28 Nov 2014, at 09:31, Dmitry Stogov <dmi...@zend.com> wrote: > > > > I prefer option (3) - invariant return types. > > Actually, return type compatibility check should follow all the rules for > > parameter type compatibility check (may be even reuse or share the code). > > No, it shouldn't match parameters, that'd break type safety. What's safe > for parameters is the opposite of what's safe for return types. The > exception is invariance, which is safe for both. > > -- > Andrea Faulds > http://ajf.me/