20:29:26
2025-02-22 14:28:46 ドッグの投稿 Linda_pp@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。

20:30:33
icon

`Result<T, E = Error>`の方がAPIとしての一般性が高いというのはそうだけど、現実に利用者としてどこかのモジュールの`Result`の型エイリアスを使いながらその型パラメタとして別のエラー型を渡しているのだとしたら、それはその型エイリアスの使い方として何かが間違っていることの現れであることが多いような気がしている

20:44:42
icon

Qualifiedな形で`anyhow::Result<T, MyError>`とするのは分かりやすい無駄だけど、`use anyhow::Result`した上で`Result<T>`と`Result<T, MyError>`が混在するのもコードの明瞭性の観点から望ましいのか微妙そう。

いや、`anyhow::Error`くらいの汎用的なエラー型ならそれを既定とするのもアリかも知れないけど、そこら辺のライブラリのエラー型で独自の`Result`型を直接`use`することを想定したAPI設計が正当化されるほどの汎用性を持つものがどれほどあるかということを考えると、案外そこまで参考にならないのではという気がする。

あとマイナーな問題として、利用者側のあるモジュールにおける当該型エイリアスの全ての利用がエラー型をパラメタとして渡す形になったとしても`unused-imports`リントが効かないというのがある