1. Inference carve-outs: Shannon Zhu and Eric Traut [2]. Type checkers differ in their behavior for many cases of unannotated variables, function parameters, or attributes. Shannon and Eric pointed out some of these cases and argued that we should standardize on the behavior for some, if not all, of them. I polled the participants and found 16 in favor of standardization, none against, and 2 saying “I don’t know”. Follow-up: We probably need to find a good way to standardize this.
2. TypedDicts and Extra Fields: Jonathan Scholbach and Steven Troxler [3].
Jonathan and Steven pointed out that, if we have a `BaseTypedDict` and a subtype `ChildTypedDict`, it is legal to assign a dictionary literal containing child-specific keys to a variable of type `ChildTypedDict` and then assign it to a TypedDict `BaseTypedDict`. But it is illegal to assign the dictionary literal directly to `BaseTypedDict`. They argued that this can be confusing for some users. Others argued that this feature prevented users from having a typo in a non-required field, which would not be caught by the type checker otherwise. We were discussing whether or not this warranted a change in the PEP and seemed to agree that we could get away with a clearer error message. We didn't actually get around to discussing whether to add a new `extra=True` flag to allow reading and writing arbitrary extra fields, as in TypeScript or Hack, and what the semantics would be (especially with subtyping).
Note: I'm sure people still have some points they want to make! Please continue the discussion in the OTHER, dedicated typing-sig thread [4], so that this thread is purely about Typing Meetup logistics.