Skip to content

Conversation

@natebosch
Copy link
Member

The interfaces getter does not behave as expected. See
dart-lang/sdk#27947

This code was safe before since List happened to explicitly have
implements Iterable, but now that there is an
EfficientLengthIterable interface in between it isn't working.

Recursively check interfaces the same way we recursively check the
superclass. This now ignores the edge case where multiple interfaces
matched the tester and will return the first match.

The `interfaces` getter does not behave as expected. See
dart-lang/sdk#27947

This code was safe before since List happened to explicitly have
`implements Iterable`, but now that there is an
`EfficientLengthIterable` interface in between it isn't working.

Recursively check interfaces the same way we recursively check the
superclass. This now ignores the edge case where multiple interfaces
matched the tester and will return the first match.
Copy link
Member

@kevmoo kevmoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit: – do you want to release this, though? bump the version, changelog, etc?

@natebosch
Copy link
Member Author

Added changelog. Version was bumped in the last commit so I'll publish with this fix

@natebosch natebosch merged commit d0452ed into master Nov 30, 2016
@natebosch natebosch deleted the natebosch_list-interfaces branch November 30, 2016 19:18
mosuem pushed a commit to dart-lang/build that referenced this pull request Dec 10, 2024
The `interfaces` getter does not behave as hoped. See
dart-lang/sdk#27947

This code was safe before since List happened to explicitly have
`implements Iterable`, but now that there is an
`EfficientLengthIterable` interface in between it isn't working.

Recursively check interfaces the same way we recursively check the
superclass. This now ignores the edge case where multiple interfaces
matched the tester and will return the first match.
mosuem pushed a commit to dart-lang/build that referenced this pull request Dec 10, 2024
The `interfaces` getter does not behave as hoped. See
dart-lang/sdk#27947

This code was safe before since List happened to explicitly have
`implements Iterable`, but now that there is an
`EfficientLengthIterable` interface in between it isn't working.

Recursively check interfaces the same way we recursively check the
superclass. This now ignores the edge case where multiple interfaces
matched the tester and will return the first match.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants