GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||
GeezerVison is showing github.com — gh-102615: Fix type vars substitution of `collections.abc.Callable` and custom generics with `ParamSpec` by sobolevn · Pull Request #102681 · python/cpython Conversation
|
|
I encountered another bug, the EDIT: THIS MIGHT NOT BE A BUG, AS ITS AN INVALID USE. PLEASE IGNORE THIS @sobolevn |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
@Fidget-Spinner I would like to move all I've only touched params substitution here. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Wait a moment, this is not about >>> ca.Callable[[int, P], int][P].__args__ (<class 'int'>, ~P, <class 'int'>) >>> ca.Callable[[int, P], int][P][int].__args__ (<class 'int'>, (<class 'int'>,), <class 'int'>) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Funny thing, I just removed this code from if (len(self.__parameters__) == 1 and _is_param_expr(self.__parameters__[0]) and item and not _is_param_expr(item[0])): item = (item,) All tests still pass :) 🤯 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I think the runtime is correct in raising TypeError for these situations, actually: see #102615 (comment)
Maybe instead, we should focus on improving the error message, so that users get more specific feedback on why the substitution is being disallowed? Though if it adds too much complexity to the code, I probably wouldn't bother with it.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I am going to close this for now, I will add new tests in other PRs, because this one has a big unrelated history. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
Representation of ParamSpecs at runtime compared to Callable
There was an error while loading. Please reload this page.