-
Notifications
You must be signed in to change notification settings - Fork 60
Description
So since this came up in multiple PRs/issues, I guess I will summarize what will be done in near future.
The biggest problem is the limitation of the CollectionTrait that causes the collection methods on every class that uses it to return instance of Collection where you would prefer it to return an instance of the original class. To solve this, every collection method/function will return CollectionInterface (which the class will implement because it uses the CollectionTrait) instead of the included Collection and a mechanism will be provided by the implementor to build a new instance of the original class -- probably a factory method of sorts, where the input will be an iterable. The exact implementation is till open to discussion.
This will have to go hand in hand with introduction of Generic documentation on the collection methods to describe the return types (suggested in #61). We will still have to deal with losing type information during some operations (like filter) but it should help anyway.
Also most of the reported issues should have their fixes merged before the release of 11.0.0.