You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Annotated/get_type_hints interaction in python <3.11 #310
I see #94, which mentions not wanting to do more rigorous porting due to it cascading into more code needing to be pulled in, so I'm not sure what the reaction to this will be...
The general aim is to reflect the behavior on most recent CPython, regardless of the Python version where typing-extensions is run. We're less likely to backport if:
The changed behavior is very obscure
The behavior only affects versions that are about to go EOL (e.g., at this point I wouldn't be enthusiastic about backporting a fix that only affects 3.8)
The fix in typing-extensions would be very invasive
In this case, the behavior isn't all that obscure and it affects versions that still have a few years of life in them, so I'd be willing to accept it as long as it doesn't get too complex. I'm OK with copying over more of get_type_hints if that's what it takes.
The above PR represents a very bruteforce approach, namely in that it's not clear to me how to arrive at parity to the old, seeming much simpler, mechanism without first copying the whole implementation of get_type_hints, which then cascades through ForwardRef, a number of supporting functions.
Although at the same time, I noticed a number of potentially public-facing difference with ForwardRef itself.
The fact that typing is the way it is, and is as version specific as it is seems rather sad tbh.
I'm thinking this issue is what has been causing some issues using fastapi between 3.11 and versions below it; is there desire to have more discussion/move this forward a bit?
Activity
JelleZijlstra commentedon Dec 7, 2023
The general aim is to reflect the behavior on most recent CPython, regardless of the Python version where typing-extensions is run. We're less likely to backport if:
In this case, the behavior isn't all that obscure and it affects versions that still have a few years of life in them, so I'd be willing to accept it as long as it doesn't get too complex. I'm OK with copying over more of
get_type_hintsif that's what it takes.DanCardin commentedon Dec 8, 2023
The above PR represents a very bruteforce approach, namely in that it's not clear to me how to arrive at parity to the old, seeming much simpler, mechanism without first copying the whole implementation of
get_type_hints, which then cascades throughForwardRef, a number of supporting functions.Although at the same time, I noticed a number of potentially public-facing difference with
ForwardRefitself.The fact that
typingis the way it is, and is as version specific as it is seems rather sad tbh.purepani commentedon Mar 14, 2024
I'm thinking this issue is what has been causing some issues using fastapi between 3.11 and versions below it; is there desire to have more discussion/move this forward a bit?