luxeengine / alpha

alpha - deprecated 2015~2016. unrelated to the new engine! view the new engine here - https://luxeengine.com/
MIT License
565 stars 74 forks source link

Haxe 3.3; Workaround for 3.3.0-rc1 bug with inline constructors #387

Closed ntrf closed 7 years ago

ntrf commented 8 years ago

Haxe 3.3.0-rc1 has a bug - when inline constructors are used on values returned from inline functions and not stored in a local variables, they will be typed with their initializer and not the actual declaration type.

If class has field declared as var x : Float = 0; temporary variable will have type Int as it's type of variable initializer.

Related haxe issue https://github.com/HaxeFoundation/haxe/issues/5340

In case of BalancedBSTIterator it seems to be related issue, but it causes compilation failure. There might be other cases, which didn't reveal themselves in my code.

anissen commented 8 years ago

It would be very nice to get these Haxe 3.3.0-RC1 issues fixed. There a lot of awesome new additions in Haxe 3.3. Also, I would love to use VSCode with vshaxe but that requires Haxe 3.3.0-RC1+ and luxe "requires" Haxe 3.2.1...

ruby0x1 commented 8 years ago

Yes it would be nice if 3.3 was updated with important fixes, unfortunately it has been months since the RC was out. The priorities on the dev teams end are unclear, it seems they decided to have added language features during the RC instead of releasing any bug fixes. I would also like to support 3.3 properly, but I don't think hacks and bandaids all over the place are the way to do that, especially on an unstable version.

It's also not just the compiler of course, the hxcpp builds also have numerous issues, some of which are fixed in git versions but an updated release is still pending.

It's not for lack of trying, it's just not ready. It's unfortunate I know, but I am like everyone - waiting for signs of progress.

(I imagine if it drags on any longer I will make some plans, but at minimum it would require a hxcpp update, which I have asked for, and am still waiting. I will ask again to be sure).