[3.9] bpo-40924: Remove protocol for supplying Traversable objects from loaders #20820
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.
As discovered in this comment, the protocol for soliciting a
files()method on loaders is inadequate as some loaders do not have the context about the package with which they're associated, and although GH-20576 (and importlib_resources 2.x) attempted to address this concern while continuing to supply native support on ResourceReaders, it also brought unintended consequences, reported in bpo-40924.This change selectively removes that behavior to avoid tempting custom loader implementers from implementing this protocol.
A different fix should be applied in master.
https://bugs.python.org/issue40924