- 
                Notifications
    
You must be signed in to change notification settings  - Fork 211
 
PHPC-2140: Make tentative return types definitive #1658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
835aafa    to
    4a3cec7      
    Compare
  
    4aebdee    to
    fc1f63f      
    Compare
  
    | interface CursorInterface extends \Iterator | ||
| { | ||
| /** @tentative-return-type */ | ||
| public function current(): array|object|null {} | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do I assume correctly that only current() and key()  are included here because those are the only methods where we'd narrowing the return type from the parent interface?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This methods are mentioned in the upgrade file:
The return types for the
keyandcurrentmethods have been narrowed to the types returned by cursor instances.
fc1f63f    to
    ddf31af      
    Compare
  
    * v2.x: (22 commits) PHPC-2441: Remove deprecated Manager constructor options (#1719) PHPC-990: Strict type validation for boolean URI options (#1713) PHPC-2440: Remove deprecated Query constructor options (#1707) PHPC-2459: Remove support for float arg in UTCDateTime ctor (#1709) Remove obsolete test PHPC-2344 Remove SSLConnectionException (#1696) PHPC-2144 Throw a LogicException when getting info from unacknowledged write result (#1687) PHPC-2454: Remove --enable-system-ciphers configure option (#1681) PHPC-2348 Remove `WriteException` and move `getWriteResult` to `BulkWriteException` (#1685) PHPC-2417 Add UTCDateTimeInterface::toDateTimeImmutable() (#1684) PHPC-2309: Remove --with-openssl-dir configure option (#1676) PHPC-2444: Remove support for string arguments in UTCDateTime constructor (#1662) PHPC-2248: Remove Serializable implementations (#1663) Update version for 2.x branch (#1672) PHPC-1021: Remove support for ReadPreference integer modes (#1666) PHPC-2342: Remove --with-libbson and --with-libmongoc configure options (#1667) PHPC-2351: Remove CursorId class (#1664) PHPC-2140: Make tentative return types definitive (#1658) PHPC-2402: Remove range_preview constants (#1665) PHPC-2346: Remove deprecated BSON functions (#1653) ...
PHPC-2140
This PR removes the
@tentative-return-typeannotation in all stub files, making the return types definitive and causing errors if an extending or implementing class does not have a covariant return type.It also changes the return types for various methods in
MongoDB\Driver\ManagerandMongoDB\Driver\ServerfromCursortoCursorInterface.Note: currently contains changes from #1653 to avoid fixing tests that will be removed.