## Change Summary

Ensure that a `SecretStr` type can be populated from json.

## Related issue number

Fix #7720

## Checklist

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


Selected Reviewer: @samuelcolvin
Fix failure to load `SecretStr` from JSON (regression in v2.4). ## Change Summary

Ensure that a `SecretStr` type can be populated from json.

## Related issue number

Fix #7720

## Checklist

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


Selected Reviewer: @samuelcolvin
from pydantic import BaseModel, Field


class Model(BaseModel):
    # Required
    undefined_default_no_args: int = Field()
    undefined_default: int = Field(description='my desc')
    positional_ellipsis_default: int = Field(...)
    named_ellipsis_default: int = Field(default=...)

    # Not required
    positional_default: int = Field(1)
    named_default: int = Field(default=2)
    named_default_factory: int = Field(default_factory=lambda: 3)


Model()
# MYPY: error: Missing named argument "undefined_default_no_args" for "Model"  [call-arg]
# MYPY: error: Missing named argument "undefined_default" for "Model"  [call-arg]
# MYPY: error: Missing named argument "positional_ellipsis_default" for "Model"  [call-arg]
# MYPY: error: Missing named argument "named_ellipsis_default" for "Model"  [call-arg]

from pydantic import BaseModel, Field


class Model(BaseModel):
    # Required
    undefined_default_no_args: int = Field()
    undefined_default: int = Field(description='my desc')
    positional_ellipsis_default: int = Field(...)
    named_ellipsis_default: int = Field(default=...)

    # Not required
    positional_default: int = Field(1)
    named_default: int = Field(default=2)
    named_default_factory: int = Field(default_factory=lambda: 3)


Model()
# MYPY: error: Missing named argument "undefined_default_no_args" for "Model"  [call-arg]
# MYPY: error: Missing named argument "undefined_default" for "Model"  [call-arg]
# MYPY: error: Missing named argument "positional_ellipsis_default" for "Model"  [call-arg]
# MYPY: error: Missing named argument "named_ellipsis_default" for "Model"  [call-arg]
