-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Thanks for creating this great library~
I have the following code that uses a forward reference per PEP484.
@dataclass_validate
@dataclass
class DC4:
member1: str
# member2 can be either a string or a DC4 instance
member2: Union[str, "DC4"]
def test_forwardReference():
DC4("Hello", "World")
DC4("Hello", DC4("World", "Too"))
# This should raise a validation error but doesn't
with pytest.raises(TypeValidationError) as e:
DC4("Hello", 1) At the moment I can set member2 to any value and no TypeValidationError is raised.
I suspect this is because the forward reference is not resolved by the dataclass library. If I print out the type of each field of DC4 I get the following:
member1: <class 'str'>
member2: typing.Union[str, ForwardRef('DC4')]
Is this a use case that you have considered?
Metadata
Metadata
Assignees
Labels
No labels