もっと見る

RustLab 2019(イタリア)っていうカンファレンスに行く!

今は proc_macro 2.0 が安定化している。speculate は古い proc_macro を使ってたのが問題だった。

rspec クレートがすでにあるけど、記法がびみょい。
speculate はいい感じだったがビルドできず……😂

send のあとの後続の pop が省略できない時があるからこれもフラグを付けた。

C で書かれた部分は Ruby 側からは何も出来ないが、フラグは渡すようにしていて、C 側で将来的にどうにかできるようにした。

2016 年の段階では函数単位で pure かどうかを判定してスキップするみたいなことを話していたが、今回は関数内末尾でスキップする。

メソッド呼び出しのたびに返り値を使うかどうかを 1bit のフラグとして渡すようにする。

函数の返り値を使わずに捨ててるところを最適化する。

Ruby をコンパイルしたらインストラクションシーケンスで send-pop という形にコンパイルされることがある。

ActiveRecord 的には tzinfo という Gem を使っていて、別の timezone という Gem でも夏時間を対応している。

IANA tz database には Timezone の規定がないのもあって Ruby 標準に入ってない。

Ruby の Time クラスは UTC とシステム依存の Local time がある。

1.9.2 から Fixed Offset がある。
Time.new(2019, 4, 20, 15, 40, 00, "+09:00")

もっと見る
Kimamass Social

Kimamass の情報をいち早くチェック!