エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
はじめに Rustには優れた所有権システムおよびRc<T>/Arc<T>があるので通常はGCを必要としないのですが、... はじめに Rustには優れた所有権システムおよびRc<T>/Arc<T>があるので通常はGCを必要としないのですが、どうしても循環参照(それもrc::Weak<T>では解決できないタイプの)が必要となるケースというのが多数存在します。具体的には言語処理系および...... いや言語処理系くらいしかないな。しかしながら、言語処理系を実装するにあたってRustを選択するのは一般的な選択肢なので、これはゆゆしき問題です。 gcクレートによるGC導入 GC機能を提供するクレートはいくつかありますが、何も考えずシングルスレッドでGCしたいだけならgcクレートが手軽です。 Rc<T>/RefCell<T>の代わりにgc::Gc<T>/gc::GcCell<T>を使用するだけでOK。管理したい型にはgc::Traceおよびgc::Finalize traitを実装する必要があります。deriveしたいときはgc