Skip to content

Recursive Class | RangeError: Maximum call stack size exceeded #2269

Closed
@BlueFrog130

Description

@BlueFrog130

Get an error when trying to set up as class as such

Reproduction link.

class Node {
    type: i32 = 0;
    children: Array<Node> = new Array<Node>(0);
}

Produces the following error:

▌ Whoops, the AssemblyScript compiler has crashed during buildTSD :-(
▌ 
▌ Here is the stack trace hinting at the problem, perhaps it's useful?
▌ 
▌ RangeError: Maximum call stack size exceeded
▌     at Function.from (<anonymous>)
▌     at globalThis.Map_values (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:16:493869)
▌     at Nr.isPlainObject (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:263:89)
▌     at Nr.toTypeScriptType (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:263:1331)
▌     at Nr.toTypeScriptType (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:263:646)
▌     at Nr.makeRecordType (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:265:222)
▌     at Nr.toTypeScriptType (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:263:1464)
▌     at Nr.toTypeScriptType (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:263:646)
▌     at Nr.makeRecordType (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:265:222)
▌     at Nr.toTypeScriptType (https://cdn.jsdelivr.net/npm/assemblyscript/dist/assemblyscript.js:263:1464)

It works when adding a constructor to Node, but I am not able to return the object to JS when using a constructor for Node.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions