Rust part10at TECHRust part10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト720:デフォルトの名無しさん 21/05/21 18:03:27.13 J6y23PLS.net #include <stdio.h> #include <stdlib.h> typedef struct { int id; } Droppable; void drop(Droppable* d) { printf("> Dropping %d", d->id); free(d); } void sub(Droppable* d) { if (d->id == 0) { //free(d); printf("> Test %d", d->id); } } int main() { Droppable* _a; _a = malloc(sizeof(Droppable)); _a->id = 0; if (_a->id == 1) { drop(_a); } sub(_a); } ほい完全版 721:デフォルトの名無しさん 21/05/21 18:06:23.36 p9FphGnI.net >>705 unsafe使え、というかもうちょっと具体的な例じゃないと困る 今まで出された例だと「最初から絶対通らないの分かってるならif文消せばいい」としか思えないので 722:デフォルトの名無しさん 21/05/21 18:12:17.78 91Y2FzX3.net 別にわざわざCで書いてもらわなくても安全なのは分かるよ 今のRustコンパイラで通らないのはボローチェッカーが最適化前にあるからなんで 部分的にでも先に最適化すれば通るようにはできるだろう ただそれをしたい動機が分からない 本当にifが実行される可能性が一切ないなら単に消せばいい、といしか言いようがないので 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch