Skip to content

Support frozendict in various builtins #145118

@rhettinger

Description

@rhettinger

The type, str.maketrans, and bytes.maketrans builtins should support frozendict. The issues with exec and eval were reported in a separate issue.

>>> type("MyClass", (), {"x": 10})
<class '__main__.MyClass'>
                    
>>> type("MyClass", (), frozendict({"x": 10}))
Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    MyClass = type("MyClass", (), frozendict({"x": 10}))
TypeError: type.__new__() argument 3 must be dict, not frozendict

>>> str.maketrans(dict({'a': 'A'}))
{97: 'A'}

>>> str.maketrans(frozendict({'a': 'A'}))
Traceback (most recent call last):
  File "<pyshell#23>", line 1, in <module>
    str.maketrans(frozendict({'a': 'A'}))
TypeError: if you give only one argument to maketrans it must be a dict

Linked PRs

Metadata

Metadata

Labels

interpreter-core(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions