Skip to content

Draft: RFC initial cut of error redesign

Ian Jackson requested to merge Diziet/arti:error-portmanteau into main

This is a start at #247 (closed).

So far this:

  • Provides the new TorError type
  • Provides a handful of conversions into TorError
  • Abolishes one existing combined error type, GuardMgrError, in favour of TorError

If you like this, my plan is to:

  • Make every crate's error type convertible to TorError
  • Abolish the nested error enums in the higher-level crates and just use TorError

Precisely where the specific enums should be retained is going to be case-by-case specific. Sometimes the specific enums will need an Other(TorError). As we go on we are probably going to want to have quite careful case-specific conversations about the precise set of Kinds and so on.

There are some XXXs still here. Personally I don't propose to merge this until I have fixed them, but they are easily findable and #247 (closed) is still open so there would not be any serious problem with doing so if you think that's better.

Merge request reports