Rust bookのDropトレイト解説のページ ( https://doc.rust-jp.rs/book-ja/ch15-03-drop.html ) で質問です。
以下のようなコードなのですが、
struct CustomSmartPointer {
data: String,
}
impl Drop for CustomSmartPointer {
fn drop(&mut self) {
println!("Dropping CustomSmartPointer with data `{}`!", self.data);
}
}
fn main() {
let c = CustomSmartPointer { data: String::from("my stuff") };
println!("CustomSmartPointers created.");
}
これ、dropの実装部分にprintln!しか書かれてませんが&self.dataの処理は書かなくてよいのでしょうか?
例えば、println!の下に、
drop(&self.data);
のように。
どちらかがコンパイルエラーになるならいいのですが、書いても書かなくてもどちらでも問題なくコンパイルが通ってしまい、困惑しています。
Rust part9
■ このスレッドは過去ログ倉庫に格納されています
317デフォルトの名無しさん
2020/11/22(日) 16:39:30.67ID:ujQ9d+0r■ このスレッドは過去ログ倉庫に格納されています
