[過去ログ] Rust part21 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
374: デフォルトの名無しさん [sage] 2023/09/23(土) 08:15:26.34 ID:piK9W+al(1/3) AAS
>>373
373(1): デフォルトの名無しさん [] 2023/09/22(金) 19:29:43.87 ID:v8mgsVW8(4/4) AAS
>>372
コンパイル通りました!ありがとうございます!
ただもう少しわがままを言うと、実際の実装ではメソッドチェーンの箇所がこれの2倍ぐらいの長さなので具体的なイテレータの型を書かずにコンパイラ任せにしたかったんですが、話を見る限りどうも無理そうですね...
>>372
372(2): デフォルトの名無しさん [sage] 2023/09/22(金) 18:43:25.81 ID:8SLDLfd5(1) AAS
関数定義から一意な具体型に推論されるのは戻り値型に書いた impl の話ですね
引数型に書いた impl は単にジェネリック引数を匿名化したものという扱いなので
hoge は I: Iterator<Item=i64> なる任意の I で単一化できるような定義が求められます

外部リンク[html]:doc.rust-lang.org

なので引数で&mut引き回してdynも使いたくないということであれば↓になりますかね

外部リンク:play.rust-lang.org
も書いてるけどimpl IteratorをBox<dyn Iterator>にする手もあるよ
376: デフォルトの名無しさん [sage] 2023/09/23(土) 09:55:40.35 ID:piK9W+al(2/3) AAS
>>375
375(1): デフォルトの名無しさん [sage] 2023/09/23(土) 09:19:17.35 ID:lKOAbDFW(1) AAS
可能なら dyn は避けるに越したことは無い。
dyn はトレイトオブジェクトを扱うための仕組みであって
推論を補助する仕組みではないから。
実装の隠蔽目的でdyn使うのはそんなに変な使い方ではないと思うが
379: デフォルトの名無しさん [sage] 2023/09/23(土) 21:17:07.32 ID:piK9W+al(3/3) AAS
戻り値のimpl Traitと引数のimpl Traitで振る舞い違うのは当たり前ではあるんだけど混乱しやすいポイントではあるかもね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s