Skip to content

Provide the available definitions when applying discriminated unions - #11670

Merged
Viicos merged 1 commit into
mainfrom
discriminator-defs
Apr 2, 2025
Merged

Viicos merged 1 commit into
mainfrom
discriminator-defs

Conversation

@Viicos

@Viicos Viicos commented Apr 1, 2025 •

Copy link
Copy Markdown
Member

It seems that we forgot to do so, and as almost all discriminated unions involves referenceable schemas (such as models, typed dicts, etc), the deferred metadata key was almost always set.

This fixes some issues in the schema cleaning process, although it is still theoretically unsound (see the added tests).

Fixes #11661.

Change Summary

Related issue number

Checklist

  • The pull request title is a good summary of the changes - it will be used in the changelog
  • Unit tests for the changes exist
  • Tests pass on CI
  • Documentation reflects the changes where applicable
  • My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

It seems that we forgot to do so, and as almost all discriminated unions
involves referenceable schemas (such as models, typed dicts, etc), the
deferred metadata key was almost always set.

This fixes some issues in the schema cleaning process, although it is
still theoretically unsound (see the added tests).
@Viicos Viicos added relnotes-fix Used for bugfixes. third-party-tests Add this label on a PR to trigger 3rd party tests backport-2.11 labels Apr 1, 2025
@Viicos
Viicos marked this pull request as ready for review April 1, 2025 17:22
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying pydantic-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3fe195a
Status: ✅  Deploy successful!
Preview URL: https://eaedca80.pydantic-docs.pages.dev
Branch Preview URL: https://discriminator-defs.pydantic-docs.pages.dev

View logs

@codspeed

codspeed Bot commented Apr 1, 2025

Copy link
Copy Markdown

CodSpeed Performance Report

Merging #11670 will not alter performance

Comparing discriminator-defs (3fe195a) with main (6c38dc9)

Summary

✅ 46 untouched benchmarks

@github-actions

github-actions Bot commented Apr 1, 2025

Copy link
Copy Markdown
Contributor

Coverage report

This PR does not seem to contain any modification to coverable code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

relnotes-fix Used for bugfixes. third-party-tests Add this label on a PR to trigger 3rd party tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Model construction fails on non-union types annotated with discriminator.

2 participants