pub struct WorkspaceVersionConflict {
pub path: String,
pub expected: String,
pub actual: Option<String>,
}Expand description
Error returned by WorkspaceFileSystemExt::write_text_if_version when
the underlying object version no longer matches the expected version.
Surfaced through anyhow::Error; tools recover by downcasting:
err.downcast_ref::<WorkspaceVersionConflict>(). The typical response is
to re-read the file and retry the modify-write cycle once.
Fields§
§path: String§expected: String§actual: Option<String>Backend-reported current version, if known. S3 does not return the
current ETag on 412 Precondition Failed, so this is typically None.
Trait Implementations§
Source§impl Clone for WorkspaceVersionConflict
impl Clone for WorkspaceVersionConflict
Source§fn clone(&self) -> WorkspaceVersionConflict
fn clone(&self) -> WorkspaceVersionConflict
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WorkspaceVersionConflict
impl Debug for WorkspaceVersionConflict
Source§impl Display for WorkspaceVersionConflict
impl Display for WorkspaceVersionConflict
Source§impl Error for WorkspaceVersionConflict
impl Error for WorkspaceVersionConflict
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<WorkspaceVersionConflict> for WorkspaceError
impl From<WorkspaceVersionConflict> for WorkspaceError
Source§fn from(source: WorkspaceVersionConflict) -> Self
fn from(source: WorkspaceVersionConflict) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for WorkspaceVersionConflict
impl RefUnwindSafe for WorkspaceVersionConflict
impl Send for WorkspaceVersionConflict
impl Sync for WorkspaceVersionConflict
impl Unpin for WorkspaceVersionConflict
impl UnsafeUnpin for WorkspaceVersionConflict
impl UnwindSafe for WorkspaceVersionConflict
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more