Skip to content

Breaking changes in Haxe 3.2.0

Simon Krajewski edited this page Feb 5, 2015 · 10 revisions

General

  • Xml has been unified across all targets to have consistent behavior. In particular both the parser and printer now properly deal with entity escaping in attribute values. If you relied on the quirks of the previous parsers you can use them from php/neko/cpp.NativeXml.

  • haxe.ds.Vector.get no longer returns Null<T> but T. This has to be considered when working with non-nullable types on static targets.

  • Abstract @:from methods no longer have access to the type parameters of the abstract itself. This was a bug in Haxe 3.1.3.

  • Recursive abstract @:arrayAccess methods now error instead of silently generating an array access expression.

  • There was a parser bug which caused cast (a).b to be parsed as (cast a).b instead of the intended cast ((a).b). This has been fixed but might be observed as a regression in rare cases.

Flash

  • Shift operations (<<, >>) on UInt are now typed as UInt instead of Int. If the previous semantics are required the result can be type-hinted back to Int: (a << b : Int)

C#

  • Shift operations (<<, >>) on UInt are now typed as UInt instead of Int. If the previous semantics are required the result can be type-hinted back to Int: (a << b : Int)

Macro

  • The status of structure extensions is now AExtend instead of AClosed.