HHVM 3.29 发布了,这个版本的主要变更集中在类型检查器上(typechecker),包括针对已经在运行时失败的情况引发类型错误,或者禁止使类型系统不健全的罕见情况。
新特性
- [hackfmt] added support for
// hackfmt-ignore
comments, to turn off formatting for a node - [typechecker] null checks on
Shapes::idx()
results now refine the type of the shape - add support for typed user attributes
其他值得关注的更新
- [typechecker] correct handling of
is
expressions in pipe expressions - [typechecker] fix handling of
as
expressions inlist
assignments, e.g.list($a, $b) = $mixed as (int, int);
- [typechecker+HackC] support unambiguous
as
expressions inforeach
, e.g.foreach(f($x as nonnull) as $y)
- [runtime] async curl functions are now natively async again
- [runtime] handle EINTR (e.g. Xenon) while invoking HackC
- [runtime]
<<__LateInit>>
now works correctly for private properties on abstract classes
此外,还有大量带来破坏兼容性的变化,详情请 点此查看。
源码下载:https://github.com/facebook/hhvm/releases/tag/HHVM-3.29.0
转自 https://www.oschina.net/news/101068/hhvm-3-29-released