This repository was archived by the owner on Apr 14, 2022. It is now read-only.
Add IsExact to collection interface, check when deciding to use __all__ #886
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #881.
This adds
IsExact
toIPythonCollection
, which is true whenContents
contains an exact representation of the contents, meaning that the values are set and are known. This boolean is propagated around, and used when looking up__all__
.Tensorflow broke because it assigns
__all__
via a comprehension; the comprehension evaluator doesn't actually populate a real collection, instead producing a collection which contains a single member. This could be improved in the future, but by not settingIsExact
true when that collection is produced, that incomplete value won't be used when looking at__all__
.