From c2a1d6a99a9cc1a06c3b01debaab01909471a280 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Fri, 19 Jul 2024 22:37:48 -0700 Subject: [PATCH] Made support for "converter" parameter in dataclass_transform fields non-experimental. This functionality has been approved by the typing council. --- packages/pyright-internal/src/analyzer/dataClasses.ts | 5 +---- .../pyright-internal/src/tests/typeEvaluator4.test.ts | 8 ++------ 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/pyright-internal/src/analyzer/dataClasses.ts b/packages/pyright-internal/src/analyzer/dataClasses.ts index 4433fd04c..87f99e6e6 100644 --- a/packages/pyright-internal/src/analyzer/dataClasses.ts +++ b/packages/pyright-internal/src/analyzer/dataClasses.ts @@ -297,10 +297,7 @@ export function synthesizeDataClassMethods( (arg) => arg.d.name?.d.value === 'converter' ); if (converterArg && converterArg.d.valueExpr) { - // Converter support is dependent on PEP 712, which has not yet been approved. - if (AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.enableExperimentalFeatures) { - converter = converterArg; - } + converter = converterArg; } } } diff --git a/packages/pyright-internal/src/tests/typeEvaluator4.test.ts b/packages/pyright-internal/src/tests/typeEvaluator4.test.ts index 75105aa60..e03e088a5 100644 --- a/packages/pyright-internal/src/tests/typeEvaluator4.test.ts +++ b/packages/pyright-internal/src/tests/typeEvaluator4.test.ts @@ -406,17 +406,13 @@ test('DataClassDescriptors2', () => { }); test('DataClassConverter1', () => { - const configOptions = new ConfigOptions(Uri.empty()); - configOptions.diagnosticRuleSet.enableExperimentalFeatures = true; - const analysisResults = TestUtils.typeAnalyzeSampleFiles(['dataclassConverter1.py'], configOptions); + const analysisResults = TestUtils.typeAnalyzeSampleFiles(['dataclassConverter1.py']); TestUtils.validateResults(analysisResults, 3); }); test('DataClassConverter2', () => { - const configOptions = new ConfigOptions(Uri.empty()); - configOptions.diagnosticRuleSet.enableExperimentalFeatures = true; - const analysisResults = TestUtils.typeAnalyzeSampleFiles(['dataclassConverter2.py'], configOptions); + const analysisResults = TestUtils.typeAnalyzeSampleFiles(['dataclassConverter2.py']); TestUtils.validateResults(analysisResults, 4); });