conjure-rust icon indicating copy to clipboard operation
conjure-rust copied to clipboard

Overhaul the ErrorType trait

Open sfackler opened this issue 10 months ago • 1 comments

Before this PR

The ErrorType trait had some significant limitations (like the inability to statically retrieve an error type's name string).

After this PR

==COMMIT_MSG== Overhauled the ErrorType trait. Its methods are now static, allowing easier comparison of the type of a serialized error. ==COMMIT_MSG==

When we work out #418, we can add some utility methods to turn a SerializableError back into a typed error.

Closes #339

sfackler avatar Jan 22 '25 00:01 sfackler

Generate changelog in changelog/@unreleased

What do the change types mean?
  • feature: A new feature of the service.
  • improvement: An incremental improvement in the functionality or operation of the service.
  • fix: Remedies the incorrect behaviour of a component of the service in a backwards-compatible way.
  • break: Has the potential to break consumers of this service's API, inclusive of both Palantir services and external consumers of the service's API (e.g. customer-written software or integrations).
  • deprecation: Advertises the intention to remove service functionality without any change to the operation of the service itself.
  • manualTask: Requires the possibility of manual intervention (running a script, eyeballing configuration, performing database surgery, ...) at the time of upgrade for it to succeed.
  • migration: A fully automatic upgrade migration task with no engineer input required.

Note: only one type should be chosen.

How are new versions calculated?
  • ❗The break and manual task changelog types will result in a major release!
  • 🐛 The fix changelog type will result in a minor release in most cases, and a patch release version for patch branches. This behaviour is configurable in autorelease.
  • ✨ All others will result in a minor version release.

Type

  • [ ] Feature
  • [ ] Improvement
  • [ ] Fix
  • [x] Break
  • [ ] Deprecation
  • [ ] Manual task
  • [ ] Migration

Description Overhauled the ErrorType trait. Its methods are now static, allowing easier comparison of the type of a serialized error.

Check the box to generate changelog(s)

  • [x] Generate changelog entry

changelog-app[bot] avatar Jan 22 '25 00:01 changelog-app[bot]

This PR has been automatically marked as stale because it has not been touched in the last 14 days. If you'd like to keep it open, please leave a comment or add the 'long-lived' label, otherwise it'll be closed in 7 days.

stale[bot] avatar Jun 27 '25 04:06 stale[bot]