Skip to content

Commit

Permalink
Skip FieldInfo merging when unnecessary (#6862)
Browse files Browse the repository at this point in the history
  • Loading branch information
dmontagu committed Jul 25, 2023
1 parent 3284a24 commit d9d4750
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions pydantic/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,14 @@ def merge_field_infos(*field_infos: FieldInfo, **overrides: Any) -> FieldInfo:
flattened_field_infos.extend(x for x in field_info.metadata if isinstance(x, FieldInfo))
flattened_field_infos.append(field_info)
field_infos = tuple(flattened_field_infos)
if len(field_infos) == 1:
# No merging necessary, but we still need to make a copy and apply the overrides
field_info = copy(field_infos[0])
field_info._attributes_set.update(overrides)
for k, v in overrides.items():
setattr(field_info, k, v)
return field_info

new_kwargs: dict[str, Any] = {}
metadata = {}
for field_info in field_infos:
Expand Down

0 comments on commit d9d4750

Please sign in to comment.