Go language part 6 (70レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
22
(1): デフォルトの名無しさん [sage] 2025/06/14(土) 21:29:08.75 ID:dtGV1Vl4(2/2) AAS
>>20
依存関係の循環じゃなくて参照の循環は普通にあるよ
例えば親コンポーネントがその上に乗っている子コンポーネントからの通知をコールバックで受け取るケースでは循環参照が発生する
26
(2): デフォルトの名無しさん [sage] 2025/06/14(土) 22:56:09.38 ID:/OxuSDvW(6/10) AAS
>>22
そこは整理しないといけないと思う(といっても俺はRustは詳しくないが)

・単なる循環参照(親→子→親で、まとめて廃棄可能=寿命が同一のオブジェクト間の相互参照…Rustでも楽勝)
・寿命がバラバラのオブジェクト同士の複雑な相互参照(…Rustで無理なのは多分これ)

コールバックの結果に「親」も含めて返し、子としては自分でも参照できるようにしておく、
つまりxhr/fetchで {requester: parent, response: Response} で返せば循環参照自体は発生するが、
基本的にこの手のResponseは各所に回覧して終わり、
必要なら各自コピーとっとけ、で、回覧修了後に廃棄、で何も問題ない
だから前者であって、後者の「Rustで苦労するタイプの『循環参照』」にはならない

Rustで対応無理なのは、Rustの性質上、(ここらへんからだいぶ間違いが入るかもだが)

・誰が所有権を持ってるのか(=そのローカルで誰が最長寿命なのか)
・誰が借りるのか(=所有権保持者より短寿命)

をソース上で確定させないといけないので、
A->Response
B->Response
とResponseを複数のオブジェクトから参照させる場合、AとBのどちらが寿命が長いか分からないと詰むし、
これらが複雑怪奇に相互参照してる場合、基本的に

・誰が最長寿命なのか(=誰が所有権を持つべきか)

が静的に確定してないと詰む、という事(だと思う)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.007s