social.mikutter.hachune.netMastodonを使った分散型ソーシャルネットワークの一部です。
#あなたがガチ凍結されると<br> 11月中旬くらいかな?俺はておくれだから<br> Twitterからよく舐められるんだけど、<br> ある時Twitterが度が過ぎて俺を凍結<br> してきたわけ、そんで記憶がないんだけど(痴呆)、<br> 相当ボコボコにしちゃったらしい<br> 俺、これでもておくれですよ?

サーバーの情報

103
人のアクティブユーザー

もっと詳しく

Rustで
struct A { i: i32 }

fn main() {
let mut a = A { i: 0 };
let ptr = &mut a as *mut A;

let ai = &a.i;
unsafe {
(*ptr).i = 10;
}

print!("{} {}", a.i, ai);
}
とするとリリースビルドでも10 10が出力されるんだけど、Rustはimmutable borrowを証拠にした参照の最適化はしないと思っていいのかな(ナイーブにはaiがimmutable borrowであることを利用して*aiを0に置き換えるような最適化が起きてもおかしくない気がする)

unsafeがどれくらいunsafeなのか知りたいんだけどそういうことを書いてあるドキュメントが見つからない

@osa_k Ralf Jung氏のブログとRustBelt論文を読むのが近道だと思います! 手軽にやるならMIRIを動かす

@osa_k unsafeとは単にUB(unsoundともいう)の可能性があるコードを許容するかどうかというだけなわけですが、UBかどうかはかなり繊細なセマンティックスになってしまうので、一般向けドキュメントにあることを期待せずにはじめからこのへんの専門家が整備したものを見るのがいいと思ってます

標本分散

@qnighy なるほど一理ある……。時間があったら読んでみます。とはいえ本当にやりたいのはView typesがないことによるエラーの迂回なのでそっちが一段落してからにします