HaxeFoundation / HaxeFoundation/haxe

Class build loop detection breaks everything.

Open
#6,567 29 comments 1 reaction 0 assignees View on GitHub
Dominant language
Haxe
Stars
6.9k
Forks
715
Avg merge
2d 2h
Merged PRs (30d)
11

Description

I get this error *a lot*: https://github.com/HaxeFoundation/haxe/commit/acaa3ec060589e138c97512c8df4910c00400dce#diff-4a35a028da1fe67ee6a21fbd5305d08cR3127

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

```haxe
package ;

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

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

';
}

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

';
}
```

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.