On 4/24/21 7:11 AM, Nick Coghlan wrote:
On Sat, 24 Apr 2021, 5:53 pm Larry Hastings, <larry@hastings.org> wrote:

So I now suspect that my knee-jerk answer is wrong.  Am I going too far down the rabbit hole?  Should I just make the change for user classes and leave builtin classes untouched?  What do you think?

I'd suggest kicking the can down the road: leave builtin classes alone for now, but file a ticket to reconsider the question for 3.11.

In the meantime, inspect.get_annotations can help hide the discrepancy.

The good news: inspect.get_annotations() absolutely can handle it.  inspect.get_annotations() is so paranoid about examining the object you pass in, I suspect you could pass in an old boot and it would pull out the annotations--if it had any.