diff --git a/cli/src/command_error.rs b/cli/src/command_error.rs index 2b603496b..c1a740bb3 100644 --- a/cli/src/command_error.rs +++ b/cli/src/command_error.rs @@ -496,7 +496,8 @@ impl From for CommandError { | RevsetResolutionError::WorkspaceMissingWorkingCopy { .. } | RevsetResolutionError::AmbiguousCommitIdPrefix(_) | RevsetResolutionError::AmbiguousChangeIdPrefix(_) - | RevsetResolutionError::StoreError(_) => None, + | RevsetResolutionError::StoreError(_) + | RevsetResolutionError::Other(_) => None, }; let mut cmd_err = user_error(err); cmd_err.extend_hints(hint); diff --git a/lib/src/revset.rs b/lib/src/revset.rs index 33395aef1..0cc3f9269 100644 --- a/lib/src/revset.rs +++ b/lib/src/revset.rs @@ -62,6 +62,8 @@ pub enum RevsetResolutionError { AmbiguousChangeIdPrefix(String), #[error("Unexpected error from store")] StoreError(#[source] BackendError), + #[error(transparent)] + Other(#[from] Box), } /// Error occurred during revset evaluation. @@ -2283,7 +2285,8 @@ fn resolve_symbols( | RevsetResolutionError::EmptyString | RevsetResolutionError::AmbiguousCommitIdPrefix(_) | RevsetResolutionError::AmbiguousChangeIdPrefix(_) - | RevsetResolutionError::StoreError(_) => Err(err), + | RevsetResolutionError::StoreError(_) + | RevsetResolutionError::Other(_) => Err(err), }) .map(Some) // Always rewrite subtree }