トップページ > プログラム > 2015年06月27日 > wfeMnVHy

書き込み順位&時間帯一覧

13 位/172 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000120000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
プログラミング言語 Rust

書き込みレス一覧

プログラミング言語 Rust
315 :デフォルトの名無しさん[sage]:2015/06/27(土) 16:26:20.28 ID:wfeMnVHy
https://github.com/rust-lang/rust/issues/25899
これがなぜだか分からん。

fn main() {
 let a: &mut i32 = &mut 0;
 { let b = a; }
 let c = a;
}
上が駄目で、下がおkな理由。

fn main() {
 let a: &mut i32 = &mut 0;
 { let b: &mut i32 = a; }
 let c = a;
}
プログラミング言語 Rust
317 :デフォルトの名無しさん[sage]:2015/06/27(土) 17:34:52.26 ID:wfeMnVHy
上では move されるのに、下では borrow されるのか。

#![feature(core_intrinsics)]

fn print_type_of<T>(_: &T) -> () {
let type_name =
unsafe {
std::intrinsics::type_name::<T>()
};
println!("{}", type_name);
}
これを入れて型を表示すると、上でも下でも b の型は同じ
&'static mut i32 なのに、型注釈するだけで挙動が変わるのは違和感あるなあ。
プログラミング言語 Rust
318 :デフォルトの名無しさん[sage]:2015/06/27(土) 17:35:27.20 ID:wfeMnVHy
>>316
ありがとう。うーむ悩ましい。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。