From f914cb0deb573aa1baff5d6d676b7dd84dd00c91 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 28 Sep 2025 11:21:37 -0400 Subject: [PATCH 1/2] Port https://github.com/microsoft/typescript-go/pull/1759 --- src/compiler/checker.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 10376e268a4f0..75f6878302093 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -24457,16 +24457,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } return Ternary.False; } - if (isObjectLiteralType(target)) { + if (getObjectFlags(target) & ObjectFlags.FreshLiteral) { for (const sourceProp of excludeProperties(getPropertiesOfType(source), excludedProperties)) { if (!getPropertyOfObjectType(target, sourceProp.escapedName)) { - const sourceType = getTypeOfSymbol(sourceProp); - if (!(sourceType.flags & TypeFlags.Undefined)) { - if (reportErrors) { - reportError(Diagnostics.Property_0_does_not_exist_on_type_1, symbolToString(sourceProp), typeToString(target)); - } - return Ternary.False; + if (reportErrors) { + reportError(Diagnostics.Property_0_does_not_exist_on_type_1, symbolToString(sourceProp), typeToString(target)); } + return Ternary.False; } } } From b9edcc112b9994efd07dd55d686ff5217e90ab01 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 28 Sep 2025 11:23:32 -0400 Subject: [PATCH 2/2] Accept new baselines --- .../jsDeclarationsFunctionClassesCjsExportAssignment.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js index 2d051216e7abc..129d1c42d9aea 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js +++ b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js @@ -210,7 +210,7 @@ declare class Context { * @param {Input} input */ constructor(input: Input); - state: any; + state: State; /** * @param {Input} input * @param {HookHandler=} handle