Skip to content

Commit 86fe4cc

Browse files
committed
Feedback
1 parent 08691ec commit 86fe4cc

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

pydantic/_internal/_namespace_utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ def get_module_ns_of(obj: Any) -> dict[str, Any]:
5959
return {}
6060

6161

62+
# Note that this class is almost identical to `collections.ChainMap`, but need to enforce
63+
# immutable mappings here:
6264
class LazyLocalNamespace(Mapping[str, Any]):
6365
"""A lazily evaluated mapping, to be used as the `locals` argument during annotations evaluation.
6466
@@ -83,7 +85,7 @@ def __init__(self, *namespaces: MappingNamespace) -> None:
8385
self._namespaces = namespaces
8486

8587
@cached_property
86-
def data(self) -> Mapping[str, Any]:
88+
def data(self) -> dict[str, Any]:
8789
return {k: v for ns in self._namespaces for k, v in ns.items()}
8890

8991
def __len__(self) -> int:

pydantic/type_adapter.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ def _get_schema(type_: Any, config_wrapper: _config.ConfigWrapper, parent_depth:
8686
8787
But at the very least this behavior is _subtly_ different from `BaseModel`'s.
8888
"""
89-
local_ns = _typing_extra.parent_frame_namespace(parent_depth=parent_depth)
89+
localns = _typing_extra.parent_frame_namespace(parent_depth=parent_depth)
9090
globalns = sys._getframe(max(parent_depth - 1, 1)).f_globals
9191
ns_resolver = _namespace_utils.NsResolver(
92-
namespaces_tuple=_namespace_utils.NamespacesTuple(globalns, local_ns or {}),
93-
parent_namespace=local_ns,
92+
namespaces_tuple=_namespace_utils.NamespacesTuple(globalns, localns or {}),
93+
parent_namespace=localns,
9494
)
9595
gen = _generate_schema.GenerateSchema(config_wrapper, ns_resolver=ns_resolver, typevars_map={})
9696
schema = gen.generate_schema(type_)

0 commit comments

Comments
 (0)