#[non_exhaustive]pub enum CompatibilityError {
EmbeddedContract {
artifact: &'static str,
message: String,
},
UnknownOperation(OperationName),
UnknownLegacyOperation {
tool: &'static str,
action: String,
subaction: Option<String>,
},
InvalidLegacyRequest {
field: String,
message: String,
},
UnknownField {
operation: OperationName,
field: String,
},
SchemaValidation {
operation: OperationName,
kind: &'static str,
details: String,
},
ConflictingPresentation,
InvalidPresentation(String),
UnknownDiagnostic(DiagnosticCode),
DiagnosticNotDeclared {
operation: OperationName,
code: DiagnosticCode,
},
}Expand description
Failure while loading or applying Synapse compatibility contracts.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
EmbeddedContract
A checked-in embedded contract could not be parsed or compiled.
Fields
UnknownOperation(OperationName)
A canonical operation was absent from the embedded registry.
UnknownLegacyOperation
No legacy routing key maps to a canonical operation.
Fields
InvalidLegacyRequest
The legacy request was not an object or had a field with the wrong type.
UnknownField
A legacy request carried a field outside the resolved operation schema.
SchemaValidation
JSON Schema validation rejected canonical parameters or output.
Fields
§
operation: OperationNameCanonical operation.
ConflictingPresentation
Legacy presentation fields requested conflicting formats.
InvalidPresentation(String)
A legacy presentation format was unsupported.
UnknownDiagnostic(DiagnosticCode)
A diagnostic code has no global surface projection.
DiagnosticNotDeclared
A diagnostic is globally known but not declared by the operation.
Trait Implementations§
Source§impl Clone for CompatibilityError
impl Clone for CompatibilityError
Source§fn clone(&self) -> CompatibilityError
fn clone(&self) -> CompatibilityError
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 CompatibilityError
impl Debug for CompatibilityError
Source§impl Display for CompatibilityError
impl Display for CompatibilityError
Source§impl Error for CompatibilityError
impl Error for CompatibilityError
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<CompatibilityError> for ExecutionError
impl From<CompatibilityError> for ExecutionError
Source§fn from(source: CompatibilityError) -> Self
fn from(source: CompatibilityError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for CompatibilityError
impl PartialEq for CompatibilityError
Source§fn eq(&self, other: &CompatibilityError) -> bool
fn eq(&self, other: &CompatibilityError) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for CompatibilityError
impl StructuralPartialEq for CompatibilityError
Auto Trait Implementations§
impl Freeze for CompatibilityError
impl RefUnwindSafe for CompatibilityError
impl Send for CompatibilityError
impl Sync for CompatibilityError
impl Unpin for CompatibilityError
impl UnsafeUnpin for CompatibilityError
impl UnwindSafe for CompatibilityError
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.