Commits
Jordan Rose committed 7d3f477bdad
Allow 'T?' to override '@unchecked T?' in both parameter and return position. Also, allow 'Int?' to override 'Int?' (checked or unchecked); previously only class overrides were allowed. T? is clearly a supertype of @unchecked T?, since the rules about how T? can be used are stricter. On the other hand, T? communicates more information to a user of a method than @unchecked T?, while not actually changing the range of possible values. The end result will be that someone calling 'foo()' through the base class will get an @unchecked T?, while someone calling 'foo()' through the subclass will get a normal, checked T?. That seems reasonable, particularly because it allows overriding any Objective-C methods without actually uttering "@unchecked". Swift SVN r14606