Skip to content

Class build loop detection breaks everything. #6567

Description

@back2dos

I get this error a lot: acaa3ec#diff-4a35a028da1fe67ee6a21fbd5305d08cR3127

Minimal example (save as WindowManager.hx and compile with haxe -lib coconut.vdom WindowManager -js whatever.js):

package ;

import coconut.ui.*;
import coconut.data.*;
using tink.CoreApi;

class DefaultWindowManager extends View<{}> {
  function render() '<div />';
}

class Window extends View<{}> {
  function render() '<div />';
}

There is nothing cyclic going on anywhere, so I wonder if the detection logic itself is flawed/based on assumptions that I break. My guess is that the issue could be caused by the fact that there's two build macros, one being @:autoBuild on coconut.ui.View and one being a global one (per --macro addGlobalMetadata) from tink_syntaxhub.

FWIW this code (well actually, the whole project, which is far more complex) certainly did not prevent the compiler from terminating, so I have to wonder what's wrong here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions