You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
今回は元となった "errors: add support for wrapping multiple errors" proposalでの議論をおさらいしつつ、標準errorsでは実現できないいくつかの要求についてマッチ処理を実装したので紹介します。
また、実装中に感じた課題などについても触れれればと思います。
Speaker
奥村 優哉
SNS Accounts
Twitter: @convto
Description
Go1.20からはtree構造のエラーがサポートされることになりました。
2022/1/31現在進行中の以下のrelease noteでも言及されています。
https://tip.golang.org/doc/go1.20#errors
もともとのproposalである golang/go#53435 での議論をふまえ、Go1.20時点では、標準errors.Is/Asは以下のデザインとなっています。
ですが、tree構造とのマッチ判定はユースケースによってはさらにいくつかの要求が考えられます。たとえば
などです。このようなより柔軟な要求に対して、現状の標準errors.Is/Asを利用することはできません。
今回は元となった "errors: add support for wrapping multiple errors" proposalでの議論をおさらいしつつ、標準errorsでは実現できないいくつかの要求についてマッチ処理を実装したので紹介します。
また、実装中に感じた課題などについても触れれればと思います。
実装したレポジトリは以下です。
https://github.com/convto/errortree
tree構造のerrはGo1.20から追加された新しい概念であり、整理のために多くの実験や議論が必要だと思っています。
この発表で該当の議論に関心を持つ方が増えれば嬉しいです。
Session type
Short Talk (20min)
The text was updated successfully, but these errors were encountered: