Closed PXshadow closed 7 months ago
Did you change some node.js thing? I'm getting this again:
C:\git\go2hx>haxe tests/tests.hxml -D unit -D hxb -D count=1
tests/Tests.hx:101: [./tests/unit/a26.go]
tests/Tests.hx:102: 1
tests/Tests.hx:103: 0
listening on local port: 6220
nodejs server started
child process exited: 1
null
null
child process exited: 1
null
null
child process exited: 1
null
null
child process exited: 1
null
null
child process exited: 1
null
null
child process exited: 1
null
null
Error: Command failed with error 1
Sorry my bad for the complications, it's an issue with nodejs running an executable (don't know how to make it cross platform and unrelated).
So for the last step instead run:
haxe rnd/rnd.hxml -D hxb
C:\git\go2hx>haxelib run go2hx build
C:/git/go2hx/stdgo/_internal/internal/Macro.macro.hx:43: non hxb types:,0
Already up to date.
build go part of the compiler
C:\git\go2hx>haxelib run go2hx hxb
C:/git/go2hx/stdgo/_internal/internal/Macro.macro.hx:43: non hxb types:,0
setting up Hxb
Generate Go
Run Compiler
C:/git/go2hx/stdgo/_internal/internal/Macro.macro.hx:43: non hxb types:,0
Already up to date.
build go part of the compiler
Interp compiler version
Golang compiler instance
listening on local port: 6140
accepted connection
Generated: golibs/_internal/github_com/go2hx/go4hx/scripts/hxb/Hxb.hx - 0.742kb
stdgo/_internal/internal/Macro.macro.hx:21: hxb types:,286
(unknown) : Warning : (WUnboundTypeParameter) Unbound type parameter stdgo.Slice.T
(unknown) : Warning : (WUnboundTypeParameter) Unbound type parameter stdgo._internal.sync.atomic_.Pointer_.T_
C:\git\go2hx>haxe rnd/rnd.hxml -D hxb
Golang compiler instance
listening on local port: 6294
accepted connection
Generated: golibs/_internal/github_com/go2hx/go4hx/rnd/Rnd.hx - 0.203kb
haxe -cp golibs extraParams.hxml -main _internal.github_com.go2hx.go4hx.rnd.Rnd -hl runrnd.hl
stdgo/_internal/internal/Macro.macro.hx:43: non hxb types:,224
hl runrnd.hl
~~~~~~~~~~~~expected~~~~~~~~~~~~
hello world
C:\git\go2hx>
Edit: --times
suggests that hxb is not being used at all:
name | time(s) | % | p% | # | info
----------------------------------------------
command | 7.397 | 73 | 73 | 3 |
hl | 6.276 | 62 | 85 | 1 | haxe -cp golibs extraParams.hxml -main _internal.github_com.go2hx.go4hx.rnd.Rnd -hl runrnd
hl | 0.685 | 7 | 9 | 1 | hl runrnd
/rnd | 0.435 | 4 | 6 | 1 | go run
interp | 1.367 | 13 | 13 | 592 |
jit | 0.066 | 1 | 5 | 589 |
add_types | 0.012 | 0 | 1 | 1 |
typing | 0.372 | 4 | 4 | 1 |
analyzer | 0.326 | 3 | 3 | 159553 |
filters | 0.283 | 3 | 3 | 27783 |
parsing | 0.225 | 2 | 2 | 352 |
macro | 0.166 | 2 | 2 | 759 |
jit | 0.011 | 0 | 7 | 745 |
----------------------------------------------
total | 10.143 | 100 | 100 | 189046 |
I added the -D hxb
to rnd, in the last commit, perhaps pull and see if that does it?
Ah yeah, that does it. Thanks!
This is very fun to investigate... question: Is there an enum abstract over (something resolving to) that Kind
type somewhere?
Edit: Found it: enum abstract KindType(stdgo._internal.reflect.Reflect.Kind)
The problem is that the compiler tries to figure out what kind of enum abstract we have, and in doing so unifies the underlying type against Int
. That underlying type is still a monomorph though, so it ends up becoming Int
. This means that there's essentially a race condition between the abstract and the typedef, and it only works if the latter comes in first. Notably, this is not about chunk order within a given hxb module - the problem is that we handle an abstract from (non-hxb) module A before reading the TDD chunk from (hxb) module B.
The linked commit makes this work for now. I'm not sure if this is the correct thing to do here, but at least it should allow you to continue testing.
Closed by #11507
Trying to test the branch of Hxb writer config #11507 using go2hx's codebase.
Steps to reproduce:
Output: