From e7228faf2bef6f68d3d3a6eb30aaff2a43f25767 Mon Sep 17 00:00:00 2001 From: overlookmotel <557937+overlookmotel@users.noreply.github.com> Date: Wed, 7 May 2025 16:46:32 +0000 Subject: [PATCH] fix(ast/estree): fix `optional` field of `TSMappedType` in TS-ESTree AST (#10874) Part of #9705. Recent changes in TS-ESLint made `TSMappedType`'s `optional` field default to `false` instead of `null`. Update our TS-ESTree AST to match it. --- crates/oxc_ast/src/ast/ts.rs | 1 + crates/oxc_ast/src/generated/derive_estree.rs | 2 +- crates/oxc_ast/src/serialize.rs | 24 ++ napi/parser/generated/deserialize/js.js | 4 +- napi/parser/generated/deserialize/ts.js | 4 +- npm/oxc-types/types.d.ts | 2 +- .../coverage/snapshots/estree_typescript.snap | 326 +----------------- 7 files changed, 34 insertions(+), 329 deletions(-) diff --git a/crates/oxc_ast/src/ast/ts.rs b/crates/oxc_ast/src/ast/ts.rs index 458eb8806d0f0..b66a370e03d31 100644 --- a/crates/oxc_ast/src/ast/ts.rs +++ b/crates/oxc_ast/src/ast/ts.rs @@ -1447,6 +1447,7 @@ pub struct TSMappedType<'a> { /// type Qux = { [P in keyof T]: T[P] } /// // ^ None /// ``` + #[estree(via = TSMappedTypeOptional)] pub optional: Option, /// Readonly modifier before keyed index signature /// diff --git a/crates/oxc_ast/src/generated/derive_estree.rs b/crates/oxc_ast/src/generated/derive_estree.rs index 38921a06db41b..7572534b5023c 100644 --- a/crates/oxc_ast/src/generated/derive_estree.rs +++ b/crates/oxc_ast/src/generated/derive_estree.rs @@ -3166,7 +3166,7 @@ impl ESTree for TSMappedType<'_> { state.serialize_field("end", &self.span.end); state.serialize_field("nameType", &self.name_type); state.serialize_field("typeAnnotation", &self.type_annotation); - state.serialize_field("optional", &self.optional); + state.serialize_field("optional", &crate::serialize::TSMappedTypeOptional(self)); state.serialize_field("readonly", &self.readonly); state.serialize_field("key", &crate::serialize::TSMappedTypeKey(self)); state.serialize_field("constraint", &crate::serialize::TSMappedTypeConstraint(self)); diff --git a/crates/oxc_ast/src/serialize.rs b/crates/oxc_ast/src/serialize.rs index d6851836742d4..16558efbe0027 100644 --- a/crates/oxc_ast/src/serialize.rs +++ b/crates/oxc_ast/src/serialize.rs @@ -1286,6 +1286,30 @@ impl ESTree for TSModuleDeclarationGlobal<'_, '_> { } } +/// Serializer for `optional` field of `TSMappedType`. +/// +/// `None` is serialized as `false`. +#[ast_meta] +#[estree( + ts_type = "TSMappedTypeModifierOperator | false", + raw_deser = " + let optional = DESER[Option](POS_OFFSET.optional) || false; + if (optional === null) optional = false; + optional + " +)] +pub struct TSMappedTypeOptional<'a, 'b>(pub &'b TSMappedType<'a>); + +impl ESTree for TSMappedTypeOptional<'_, '_> { + fn serialize(&self, serializer: S) { + if let Some(optional) = self.0.optional { + optional.serialize(serializer); + } else { + False(()).serialize(serializer); + } + } +} + /// Serializer for `key` and `constraint` field of `TSMappedType`. #[ast_meta] #[estree( diff --git a/napi/parser/generated/deserialize/js.js b/napi/parser/generated/deserialize/js.js index d038a88804a67..9ab7ad4a03574 100644 --- a/napi/parser/generated/deserialize/js.js +++ b/napi/parser/generated/deserialize/js.js @@ -1897,6 +1897,8 @@ function deserializeTSConstructorType(pos) { } function deserializeTSMappedType(pos) { + let optional = deserializeOptionTSMappedTypeModifierOperator(pos + 48) || false; + if (optional === null) optional = false; const typeParameter = deserializeBoxTSTypeParameter(pos + 8); return { type: 'TSMappedType', @@ -1904,7 +1906,7 @@ function deserializeTSMappedType(pos) { end: deserializeU32(pos + 4), nameType: deserializeOptionTSType(pos + 16), typeAnnotation: deserializeOptionTSType(pos + 32), - optional: deserializeOptionTSMappedTypeModifierOperator(pos + 48), + optional, readonly: deserializeOptionTSMappedTypeModifierOperator(pos + 49), key: typeParameter.name, constraint: typeParameter.constraint, diff --git a/napi/parser/generated/deserialize/ts.js b/napi/parser/generated/deserialize/ts.js index 261b8faee89a3..30200722ab4ef 100644 --- a/napi/parser/generated/deserialize/ts.js +++ b/napi/parser/generated/deserialize/ts.js @@ -2049,6 +2049,8 @@ function deserializeTSConstructorType(pos) { } function deserializeTSMappedType(pos) { + let optional = deserializeOptionTSMappedTypeModifierOperator(pos + 48) || false; + if (optional === null) optional = false; const typeParameter = deserializeBoxTSTypeParameter(pos + 8); return { type: 'TSMappedType', @@ -2056,7 +2058,7 @@ function deserializeTSMappedType(pos) { end: deserializeU32(pos + 4), nameType: deserializeOptionTSType(pos + 16), typeAnnotation: deserializeOptionTSType(pos + 32), - optional: deserializeOptionTSMappedTypeModifierOperator(pos + 48), + optional, readonly: deserializeOptionTSMappedTypeModifierOperator(pos + 49), key: typeParameter.name, constraint: typeParameter.constraint, diff --git a/npm/oxc-types/types.d.ts b/npm/oxc-types/types.d.ts index a497db047257f..d2fb4fb9ed30e 100644 --- a/npm/oxc-types/types.d.ts +++ b/npm/oxc-types/types.d.ts @@ -1375,7 +1375,7 @@ export interface TSMappedType extends Span { type: 'TSMappedType'; nameType: TSType | null; typeAnnotation: TSType | null; - optional: TSMappedTypeModifierOperator | null; + optional: TSMappedTypeModifierOperator | false; readonly: TSMappedTypeModifierOperator | null; key: TSTypeParameter['name']; constraint: TSTypeParameter['constraint']; diff --git a/tasks/coverage/snapshots/estree_typescript.snap b/tasks/coverage/snapshots/estree_typescript.snap index 648c02a7e4b3d..02457688d2415 100644 --- a/tasks/coverage/snapshots/estree_typescript.snap +++ b/tasks/coverage/snapshots/estree_typescript.snap @@ -2,334 +2,10 @@ commit: 15392346 estree_typescript Summary: AST Parsed : 6481/6481 (100.00%) -Positive Passed: 6316/6481 (97.45%) -Mismatch: tasks/coverage/typescript/tests/cases/compiler/callOfConditionalTypeWithConcreteBranches.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/circularConstrainedMappedTypeNoCrash.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/circularContextualMappedType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/circularMappedTypeConstraint.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/circularlySimplifyingConditionalTypesNoCrash.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/classReferencedInContextualParameterWithinItsOwnBaseExpression.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/coAndContraVariantInferences3.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/computedTypesKeyofNoIndexSignatureType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/conditionalTypeContextualTypeSimplificationsSuceeds.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contextualComputedNonBindablePropertyType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contextualPropertyOfGenericMappedType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contextualTypeSelfReferencing.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contextuallyTypedSymbolNamedProperties.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/contravariantOnlyInferenceFromAnnotatedFunction.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/correlatedUnions.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationAssertionNodeNotReusedWhenTypeNotEquivalent1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitArrowFunctionNoRenaming.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitInlinedDistributiveConditional.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitMappedTypeDistributivityPreservesConstraints.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitMappedTypePropertyFromNumericStringKey.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitNestedAnonymousMappedType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitOptionalMappedTypePropertyNoStrictNullChecks1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitOptionalMappedTypePropertyNoStrictNullChecks2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitOptionalMappedTypePropertyNoStrictNullChecks3.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitQualifiedAliasTypeArgument.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitRecursiveConditionalAliasPreserved.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitShadowingInferNotRenamed.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitUsingAlternativeContainingModules1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationEmitUsingAlternativeContainingModules2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/declarationQuotedMembers.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/deeplyNestedConstraints.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/deferredConditionalTypes.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/deferredLookupTypeResolution.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/deferredLookupTypeResolution2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/definiteAssignmentOfDestructuredVariable.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/deleteExpressionMustBeOptional.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/destructuredMaappedTypeIsNotImplicitlyAny.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/genericFunctionInference2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/genericFunctionsAndConditionalInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/genericIndexedAccessMethodIntersectionCanBeAccessed.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/genericTupleWithSimplifiableElements.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/higherOrderMappedIndexLookupInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/homomorphicMappedTypeNesting.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/importPropertyFromMappedType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/indexedAccessNormalization.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/indexedAccessRetainsIndexSignature.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/indexingTypesWithNever.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/inferConditionalConstraintMappedMember.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/inferRestArgumentsMappedTuple.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/inferTypeConstraintInstantiationCircularity.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/inferenceAndSelfReferentialConstraint.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/inferenceUnionOfObjectsMappedContextualType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/inlineMappedTypeModifierDeclarationEmit.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/intersectionConstraintReduction.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/intersectionType_useDefineForClassFields.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/jsFileImportPreservedWhenUsed.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/jsxInferenceProducesLiteralAsExpected.tsx - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne.tsx - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.tsx - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/keyRemappingKeyofResult.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/localTypeParameterInferencePriority.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedArrayTupleIntersections.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedToToIndexSignatureInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeAndIndexSignatureRelation.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeCircularReferenceInAccessor.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeContextualTypesApplied.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeGenericInstantiationPreservesHomomorphism.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeGenericInstantiationPreservesInlineForm.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeInferenceAliasSubstitution.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeInferenceCircularity.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeInferenceToMappedType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeMultiInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeNestedGenericInstantiation.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeOverArrayWithBareAnyRestCanBeUsedAsRestParam1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeParameterConstraint.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeRecursiveInference2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeTupleConstraintAssignability.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeWithAsClauseAndLateBoundProperty2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mappedTypeWithNameClauseAppliedToArrayType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/mixinOverMappedTypeNoCrash.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/narrowingByTypeofInSwitch.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/nestedHomomorphicMappedTypesWithArrayConstraint1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/neverAsDiscriminantType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/nonNullMappedType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/nonNullableWithNullableGenericIndexedAccessArg.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/numericEnumMappedType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/objectLiteralEnumPropertyNames.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/objectRestBindingContextualInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/optionalTupleElementsAndUndefined.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/ramdaToolsNoInfinite.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/ramdaToolsNoInfinite2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/recursiveConditionalCrash3.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/recursiveConditionalTypes2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/restParamUsingMappedTypeOverUnionConstraint.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/restTypeRetainsMappyness.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedContravariantInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedIntersectionInference1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedIntersectionInference2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedTupleContext.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedTypeAssignableToIndex.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedTypeDeepDeclarationEmit.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedTypeInferenceSameSource1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedTypePrimitiveConstraintProperty.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedTypeRecursiveInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/reverseMappedUnionInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/specedNoStackBlown.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/spuriousCircularityOnTypeImport.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/styledComponentsInstantiaionLimitNotReached.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/substitutionTypeNoMergeOfAssignableType.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/substitutionTypesInIndexedAccessTypes.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/templateLiteralIntersection4.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/twiceNestedKeyofIndexInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/typeGuardNarrowByMutableUntypedField.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/typeGuardNarrowByUntypedField.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty11.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty12.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/typeParameterExtendsPrimitive.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/typePredicateFreshLiteralWidening.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/typeVariableConstraintIntersections.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/varianceProblingAndZeroOrderIndexSignatureRelationsAlign.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/varianceProblingAndZeroOrderIndexSignatureRelationsAlign2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/varianceRepeatedlyPropegatesWithUnreliableFlag.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/verbatim-declarations-parameters.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/vueLikeDataAndPropsInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/compiler/vueLikeDataAndPropsInference2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/classes/propertyMemberDeclarations/accessorsOverrideProperty8.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/classes/propertyMemberDeclarations/accessorsOverrideProperty9.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/controlFlow/dependentDestructuredVariablesFromNestedPatterns.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/controlFlow/typeGuardsTypeParameters.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/expressions/assignmentOperator/assignmentGenericLookupTypeNarrowing.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/interfaces/interfaceDeclarations/interfaceExtendsObjectIntersection.ts - +Positive Passed: 6478/6481 (99.95%) Mismatch: tasks/coverage/typescript/tests/cases/conformance/jsx/jsxReactTestSuite.tsx Mismatch: tasks/coverage/typescript/tests/cases/conformance/jsx/tsxReactEmitEntities.tsx Mismatch: tasks/coverage/typescript/tests/cases/conformance/jsx/tsxReactEmitNesting.tsx -Mismatch: tasks/coverage/typescript/tests/cases/conformance/salsa/inferingFromAny.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/conditional/inferTypes2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/conditional/inferTypesWithExtends1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/intersection/intersectionTypeInference2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/intersection/intersectionsAndEmptyObjects.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/keyof/keyofAndForIn.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/literal/numericStringLiteralTypes.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/isomorphicMappedTypeInference.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypeIndexSignatureModifiers.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypeModifiers.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypeOverlappingStringEnumKeys.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypes1.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypes2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypes3.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypes4.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypesArraysTuples.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/mapped/mappedTypesGenericTuples.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/thisType/thisTypeInObjectLiterals2.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/tuple/named/partiallyNamedTuples.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterConstModifiersReverseMappedTypes.ts - -Mismatch: tasks/coverage/typescript/tests/cases/conformance/types/typeRelationships/typeInference/keyofInferenceLowerPriorityThanReturn.ts -