Skip to content

Breaking changes in Haxe 3.3.0

Simon Krajewski edited this page Apr 4, 2016 · 11 revisions

Pattern matching

  • Constant expression expected: The compiler no longer allows matching on non-inline fields unless they are read-only ((default, never)).
  • Pattern resolution order is now consistent with resolution order for normal typing. This might resolve an unqualified identifier pattern differently. Refer to http://haxe.org/manual/type-system-resolution-order.html for more information on how resolution order works.

Macros

  • @:enum abstract types are now transformed after their build macro has run. Build macros should no longer manually add @:impl and make the field static/inline.

Typing

  • Dynamic is now checked for when overriding or implementing fields in order to avoid variance violations.
  • typedef types are no longer checked eagerly. This might delay execution of some @:build or @:genericBuild macros. Note that type building order is undefined anyway.

Miscellaneous

  • Modifying a Map while iterating is no longer specified.

TODO