二つのxxx::Result<T>が同時に出てくることはないから混乱しないんだよ
例えば以下の単純な文字数を数える関数を作ったとする
fn foo(path: impl AsRef<Path>) -> Result<usize> {
Ok(fs::read_to_string(path)?.chars().count())
}
もしanyhowを使う場合
use anyhow::Result;だけでいい
途中にio::Resultが返されるけど自動的に変換されて出て来ない
std::error::Errorトレイトを実装するエラーならどれも自動変換される
もしthiserrorを使う場合
自分でMyErrorとResultを定義する
type Result<T, E = MyError> = std::result::Result<T, E>;
#[derive(thiserror::Error)]
enum MyError {
#[error("I/O Error")]
Io(#[from] std::io::Error),
}
io::Errorが返された場合の自動変換ルールはこのように自分で定義する
したがって関数から返されるio::Resultは出て来ない
もう一つ重要な点はこのResultの再定義の方法
type Result<T, E = MyError> = std::result::Result<T, E>;
デフォルト値をMyErrorとしているだけなので
本来のResult<T, E>としてもそのまま使える
同じ再定義をしているanyhow::Result<T, E>も大丈夫
Rust part35
■ このスレッドは過去ログ倉庫に格納されています
349デフォルトの名無しさん
2026/05/03(日) 22:41:03.38ID:2qD6O2+g■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【IOC】「日本で再び冬季五輪を」 分散容認、札幌、長野で招致動き [蚤の市★]
- 韓国ホン・ミョンボ監督が「責任はすべて私にある」と辞任発表も質疑応答なしの1分30秒会見にメディアやファンがまた激怒 [首都圏の虎★]
- 【W杯】久保建英 ブラジル戦の欠場が決定 森保監督が会見で明言「プレーすることはありません」 [ぐれ★]
- ブラジル監督、”塩貝「昔は強かった」発言”スルー、「心理戦には応じない」…地元メディアの”煽り”に百戦錬磨の対応「反応は危険」 [首都圏の虎★]
- 米イランが攻撃停止で合意と報道 [ぐれ★]
- 【W杯】「陳腐なものになる」3位争いが物議を醸した48か国制に批判噴出 恩恵を受けたガーナ監督が異論「カネがものを言う時代になった」 [首都圏の虎★]
- 【MLB】パドレス vs ドジャース ★7
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★237【メキシコ/カナダ/アメリカ】
- ハム専
- 【D専】Part.4
- かもめせん5
- やくせん 4
- 昭和世代「早朝手当付くから朝3時から仕事してたぞ」俺「えっ」
- 【悲報】日本人の7割、NISAやiDeCoをやってない。理由は「なに買えばいいか分からない」「面倒くさい」 [643675351]
- 【悲報】皇室典範改正、本日自民党が了承し明日閣議決定へWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 美輪明宏ワロタ
- 【朗報】塩貝とかいう謎の控え選手の発言、アンチェロッティにまで届く [782460143]
- 去年の今頃は連日30℃超えってマジ?