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; } } } 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