pub enum BindingError {
Interface(InterfaceError),
Materialise(MaterialiseError),
Codec(String),
}Expand description
Why an interface did not become a language binding.
Two halves, because two questions are being asked. InterfaceError
is about the interface: is it defined, do its references resolve.
crate::adapter::cst::MaterialiseError is about a type inside it:
does the target language have a form for a sequence<any>. A binding
that folded the two would report an unresolved parameter type and a
language with no spelling for any as the same failure.
Variants§
Interface(InterfaceError)
The interface did not reach the seam.
Materialise(MaterialiseError)
A type in it has no form in the target language.
Codec(String)
A codec for the topic types of the interface could not be built, with the reason.
Implementations§
Source§impl BindingError
impl BindingError
Sourcepub const fn diagnostic_code(&self) -> Option<&'static str>
pub const fn diagnostic_code(&self) -> Option<&'static str>
The diagnostic code DDS-TS 1.0 Annex D gives this failure, if it gives one.
Only §11.7’s orphaned forward declaration has one: DDS-TS-E002,
“forward-declared interface lacks complete declaration”. Every
other failure here is a refusal the code registry does not name.
Trait Implementations§
Source§impl Clone for BindingError
impl Clone for BindingError
Source§impl Debug for BindingError
impl Debug for BindingError
Source§impl Display for BindingError
impl Display for BindingError
impl Eq for BindingError
Source§impl Error for BindingError
impl Error for BindingError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()