今日はコンパイラの改善、非スタティックメソッドの $this 潰しの警告化、sodium_memzero() のリフレクションでの引数修正、変数の使い回し化、ext/spl のテスト修正があった!
あと始めてから 2 ヶ月たった
2018-09-30
nikic: Generalize compile_typename
- https://github.com/php/php-src/commit/c4cb3250cab9d793cd9efd1d00212a98e8aad4c3
- ASTノードと arginfo をとって関数引数の型名を解決する処理 compile_typename() を一般化し、引数の arginfo へ型を詰めるのではなく、返り値で型名を返す処理に修正
- 元々関数引数でのタイプヒント専用だった処理が他でも利用可能になったような形?
- nullable の処理もこの関数内へ移動
nikic: Deprecate unbinding of $this of non-static methods
- https://github.com/php/php-src/commit/fc18f44213d59190a3e524e5c2f1a33f73be2cda
- 非 static メソッドの $this を ReflectionMethod::getClosure() と Closure::bindTo() などの組み合わせで潰す際、deprecation notice が出るよう修正
- 非 static メソッドを
::
で静的に呼び出すのは 7.0 で非推奨化されたが、$this を外すのは実質的にこれと等価なため
asgrim: Fix reflection arguments for sodium_memzero function
- https://github.com/php/php-src/commit/950c338f8012f8ca4a2928cc833fb7efa05a905e
- [7.2~]
- ext/sodium の sodium_memzero() が文字列の参照のみをとる関数だったのが、Reflection では長さとあわせて 2 引数が必須だったように見えていた問題の修正
- 元々 PHP マニュアルの方も間違ってたみたい
carusogabriel: Use already set variable
- https://github.com/php/php-src/commit/257bec33f82668bce0e2615bfea67bf71339d7f1
- ext/standard で直前で変数に入れてるデータを無視してるような箇所があったので、使い回すよう微修正
KalleZ: Fix some tests and improve coverage for Windows in SPL
- https://github.com/php/php-src/commit/8595dc8fa93237565217e7d8d42e7e79dcd427e7
- ext/spl のテストを修正、Windows でのカバレッジを向上