FromUtf8Error みたいに、 as_bytes と into_bytes の両方を持って、参照の取得と、 Vec 本体の取得両方に対応しておくみたいなのもあるよね https://doc.rust-lang.org/stable/std/string/struct.FromUtf8Error.html
FromUtf8Error みたいに、 as_bytes と into_bytes の両方を持って、参照の取得と、 Vec 本体の取得両方に対応しておくみたいなのもあるよね https://doc.rust-lang.org/stable/std/string/struct.FromUtf8Error.html
Linux わかんないって言いながら、頑張って仮想マシンのディスクサイズを拡張してたけど、無事完了した。よかったよかった
「(ギガは10億)」とは書くけど、「(キロは1000)」とは書かないんだな https://www.nikkei.com/article/DGXMZO56324070T00C20A3I00000/
Go、 channel が第一級の存在なのに channel を使わなくてもデータがスレッドを越えることができて、何もかも台無し
Kubernetes はちょこちょこ触ったけど、 Docker Swarm はノード接続してわーい以外にやったことないし、真面目に組んだらどうなるのかやってみたいなとふと思った
Docker 内で Podman 動かす進捗どんなもんなんだろ https://github.com/containers/libpod/issues/4131#issuecomment-576002338
Rc の clone、 clone ではないし Clone trait で実現するべきではないのではと思ってる
> The Rc::clone(&from) syntax is the most idiomatic because it conveys more explicitly the meaning of the code.
https://doc.rust-lang.org/stable/std/rc/index.html#cloning-references
あー公式ドキュメントがそういう書き方推しなのか(そういう問題じゃなくて、 add_ref とかそういう表現にするべきだよなという意見を僕は持ってるけど)
たとえば
#[derive(Clone)]
struct Foo {
bar: Rc<Bar>,
baz: Baz,
}
みたいなことができてほしいとき、 Rc<T>: Clone がないと自明な impl Clone for Foo { ... } を手書きすることになってしまう
これは Rc が Clone であるという前提で語ればそうだけど、そうじゃなかった場合、そもそも Rc を含む構造体の clone ってどういう意味? からスタートするので、実際に Clone を実装するなら、手書きする方が筋がいい
たとえば raw pointer の Clone / Copy がアドレスのコピーであることに疑いはないと思うんだけど、よーするにポインタとそれが指すオブジェクトは区別されているわけね。
それで Box / Rc / Arc も Deref を実装した smart pointer であるわけで、その Clone は smart pointer が指すオブジェクトではなく smart pointer そのものの「複製」を意味していると考えるのが自然だと思うんですよ。
であれば、 Rc の Clone 実装が refcount 増加であっても不自然さはないと考えられる
Box では clone は中身の clone になるので、そもそも Rust の文脈でポインタのコピーというもの自体が不自然では?