HHVM 4.102 发布,高速开源虚拟机

来源: OSCHINA
编辑: Alias_Travis
2021-03-25

HHVM 4.102 正式发布,这个版本的发布就标志着对 4.96 的支持已经结束。HHVM 4.97-4.101 以及 4.56 LTS 和 4.80 LTS 版本仍然受到支持。

重大变化

  • 现在在接口上声明的方法上能够正确地强制使用<<__Override>> (以前只在类和 traits 中声明的方法上执行)。如果属性被用于接口方法上,而该方法并未在任何接口的父接口上声明,则类型检查器将引发一个错误;
  • 如果在 trait 中声明的 protected 方法被从无效的上下文中调用,typechecker 现在会正确地引发一个错误。以前,类型检查器存在一个 bug,即允许从任何使用相同 trait 的类中调用 protected 方法,即使它不是目标类的子类或父类。这样的调用会导致运行时错误,但以前类型检查器不会发现。

未来的变化

  • 今后,对非数值类型(除 intfloat 以外的所有类型)的值使用任何算术运算符(+, -, *, /, %, ),都会导致在运行时抛出异常。所有这些情况都会引起类型检查器错误。
    • 同样的规则也适用于各自的赋值运算符( +=*= 等);
    • INI 选项 hhvm.notice_on_coerce_for_math=2 现在可以用来启用的未来行为(设置为 1 会引发一个通知而不是抛出一个异常);
    • 类似的限制也适用于增量和减量运算符 ( $i++, -$i)。INI 选项 hhvm.notice_on_coerce_for_inc_dec 可以用来启用这些未来的行为(设置为 1 表示通知, 2 表示异常)。

更多详情可查看:https://hhvm.com/blog/2021/03/23/hhvm-4.102.html

展开阅读全文
1 收藏
分享
加载中
更多评论
0 评论
1 收藏
分享
返回顶部
顶部