We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 5f3e6ec commit ba9380dCopy full SHA for ba9380d
1 file changed
mypy/checkexpr.py
@@ -5432,6 +5432,13 @@ def visit_dict_expr(self, e: DictExpr) -> Type:
5432
expected_types: list[Type] = []
5433
for key, value in e.items:
5434
if key is None:
5435
+ # This is a **expr unpacking. Check that the expression has string keys.
5436
+ value_type = get_proper_type(self.accept(value))
5437
+ if not self.is_valid_keyword_var_arg(value_type):
5438
+ is_mapping = is_subtype(
5439
+ value_type, self.chk.named_type("_typeshed.SupportsKeysAndGetItem")
5440
+ )
5441
+ self.msg.invalid_keyword_var_arg(value_type, is_mapping, value)
5442
args.append(value)
5443
expected_types.append(
5444
self.chk.named_generic_type("_typeshed.SupportsKeysAndGetItem", [kt, vt])
0 commit comments