それはそうとして Nerd Fonts Patcher が動かんやつをどうにかしないといけない
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
Momiage Mono 更新しようとしたら Nerd Fonts Patcher が例外を吐くようになってしまって難航している
まあそもそも Rust には(狭義の)コンストラクタというものがなくて new メソッドとかで作ったら意味論的には束縛した時点でムーブが発生するから、コンストラクタを仕組みとして残した場合そういうふうに実装するのはありなのかもしれん
> We also don’t want to require “best effort” and difficult-to-predict optimization passes built into a “sufficiently smart” compiler.
という一節があったのでまあそういう立場だとそう見えるなあとなった
Rust の cons. としてムーブコンストラクタの定義が難しいというのと memcpy の性能に大きく依存しているみたいなことが書かれていて、前者については「本当にムブコン書きたいか?」、後者については「そうは言っても RV(N)O みたいな最適化かかるからそこまでじゃなくない?」という感想を抱いたのだが(続)
__copyinit__ と __moveinit__ が別々に存在するのは本当にそれでいいのか?という気がするけど最初から pinned な型が考慮されているのは良い。Rust も今再設計するとなったら Pin<T> はもっと別の形で実現されそう
なんもつけないときの挙動が Rust だとムーブなのに対して Mojo だと借用になるのは caller 側の記述が煩雑にならないようにというのがあるらしい
まあ Rust は &T が Copy なので借用を持ち回ることを考えるとデフォルトがムーブの方が統一感はあると思うけども
This account is not set to public on notestock.
Rust のそれは owned / shared / mutable の順に
owned: T
shared: &T
mutable: &mut T
だけど Mojo だと修飾の入れ方がちょっと違ってて
owned x: T
x: T
x: T&
になるらしく、Python っぽく書いたときに一番それっぽく動く感じになってそう
巷で噂の Mojo (言語)のドキュメント読んでたんだけど所有権管理が入っててほほーってなってる
Modular Docs - Hello, Mojo
https://docs.modular.com/mojo/notebooks/HelloMojo.html