From 89c53b488197be02efaa8bcc94bfb15e62028ffc Mon Sep 17 00:00:00 2001 From: AlexWaygood Date: Sun, 15 May 2022 11:43:47 +0100 Subject: [PATCH] Add test case for fixed dataclass-in-function crash --- test-data/unit/check-dataclasses.test | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test-data/unit/check-dataclasses.test b/test-data/unit/check-dataclasses.test index 4cddc59b0153..510963a3ec4b 100644 --- a/test-data/unit/check-dataclasses.test +++ b/test-data/unit/check-dataclasses.test @@ -1553,6 +1553,20 @@ A(a=func).a() A(a=func).a = func # E: Property "a" defined in "A" is read-only [builtins fixtures/dataclasses.pyi] +[case testDataclassInFunctionDoesNotCrash] +# flags: --python-version 3.7 +from dataclasses import dataclass + +def foo(): + @dataclass + class Foo: + foo: int + # This used to crash (see #8703) + # The return type of __call__ here needs to be something undefined + # In order to trigger the crash that existed prior to #12762 + def __call__(self) -> asdf: ... # E: Name "asdf" is not defined +[builtins fixtures/dataclasses.pyi] + [case testDataclassesMultipleInheritanceWithNonDataclass] # flags: --python-version 3.10 from dataclasses import dataclass