Skip to content

Error: Debug Failure - Assertion in reportError / hasExcessProperties #16292

@cri5ti

Description

@cri5ti

Using [email protected]
(Via [email protected])

[at-loader]: Child process failed to process the request:  Error: Debug Failure.
    at reportError (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:34490:26)
    at hasExcessProperties (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:34682:37)
    at isRelatedTo (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:34564:25)
    at checkTypeRelatedTo (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:34478:26)
    at checkApplicableSignature (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:40390:26)
    at resolveCall (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:40812:17)
    at resolveCallExpression (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:40997:20)
    at resolveSignature (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:41232:28)
    at getResolvedSignature (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:41264:26)
    at checkCallExpression (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:41291:29)
    at checkExpressionWorker (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:42761:28)
    at checkExpression (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:42713:42)
    at checkExpressionCached (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:42594:38)
    at C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:41653:32
    at traverse (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:7419:28)
    at visitEachNode (C:\Iplicit\src\Web\node_modules\typescript\lib\typescript.js:15816:30)

The code I'm getting this in is too big to share, but if you think you need a test case I can try to reduce the problem to a single file.


A quick look seems to point to an assertion on errorNode in reportError():

Which seems to be caused by this assignment in hasExcessProperties()

errorNode = prop.valueDeclaration;                                 

I think the offending expression node is an object literal property value shorthand
(Would the valueDeclaration part of the tree be missing in this case?)

This "fixed" it for me, though not sure how correct it is:
typescript.js:34685:

if (prop.valueDeclaration)
    errorNode = prop.valueDeclaration;

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions