pub trait FlavorTranslator {
type Source: 'static + Clone + Flavor;
type Target: 'static + Clone + Flavor;
Show 19 methods
// Required methods
fn translate_i32(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_i64(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_u32(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_u64(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_float(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_double(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_boolean(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_string(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_datetime(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_array(
&self,
_: <Self::Target as Flavor>::Type,
) -> Result<<Self::Target as Flavor>::Type>;
fn translate_map(
&self,
_: <Self::Target as Flavor>::Type,
_: <Self::Target as Flavor>::Type,
) -> Result<<Self::Target as Flavor>::Type>;
fn translate_any(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_bytes(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_package(
&self,
package: <Self::Source as Flavor>::Package,
) -> Result<<Self::Target as Flavor>::Package>;
fn translate_name(
&self,
reg: RpReg,
name: Loc<RpName<Self::Target>>,
) -> Result<<Self::Target as Flavor>::Type>;
fn translate_field<T>(
&self,
translator: &T,
diag: &mut Diagnostics,
field: <Self::Source as Flavor>::Field,
) -> Result<<Self::Target as Flavor>::Field>
where T: Translator<Source = Self::Source, Target = Self::Target>;
fn translate_endpoint<T>(
&self,
translator: &T,
diag: &mut Diagnostics,
endpoint: <Self::Source as Flavor>::Endpoint,
) -> Result<<Self::Target as Flavor>::Endpoint>
where T: Translator<Source = Self::Source, Target = Self::Target>;
fn translate_local_name<T>(
&self,
translator: &T,
diag: &mut Diagnostics,
reg: RpReg,
name: <Self::Source as Flavor>::Name,
) -> Result<<Self::Target as Flavor>::Name>
where T: Translator<Source = Self::Source, Target = Self::Target>;
fn translate_enum_type<T>(
&self,
translator: &T,
diag: &mut Diagnostics,
enum_type: <Self::Source as Flavor>::EnumType,
) -> Result<<Self::Target as Flavor>::EnumType>
where T: Translator<Source = Self::Source, Target = Self::Target>;
}Required Associated Types§
Required Methods§
fn translate_i32(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_i64(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_u32(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_u64(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_float(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_double(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_boolean(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_string(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_datetime(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_array( &self, _: <Self::Target as Flavor>::Type, ) -> Result<<Self::Target as Flavor>::Type>
fn translate_map( &self, _: <Self::Target as Flavor>::Type, _: <Self::Target as Flavor>::Type, ) -> Result<<Self::Target as Flavor>::Type>
fn translate_any(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_bytes(&self) -> Result<<Self::Target as Flavor>::Type>
Sourcefn translate_package(
&self,
package: <Self::Source as Flavor>::Package,
) -> Result<<Self::Target as Flavor>::Package>
fn translate_package( &self, package: <Self::Source as Flavor>::Package, ) -> Result<<Self::Target as Flavor>::Package>
Translate the given package.
Sourcefn translate_name(
&self,
reg: RpReg,
name: Loc<RpName<Self::Target>>,
) -> Result<<Self::Target as Flavor>::Type>
fn translate_name( &self, reg: RpReg, name: Loc<RpName<Self::Target>>, ) -> Result<<Self::Target as Flavor>::Type>
Translate the given name.
Sourcefn translate_field<T>(
&self,
translator: &T,
diag: &mut Diagnostics,
field: <Self::Source as Flavor>::Field,
) -> Result<<Self::Target as Flavor>::Field>
fn translate_field<T>( &self, translator: &T, diag: &mut Diagnostics, field: <Self::Source as Flavor>::Field, ) -> Result<<Self::Target as Flavor>::Field>
Translate the given field.
Sourcefn translate_endpoint<T>(
&self,
translator: &T,
diag: &mut Diagnostics,
endpoint: <Self::Source as Flavor>::Endpoint,
) -> Result<<Self::Target as Flavor>::Endpoint>
fn translate_endpoint<T>( &self, translator: &T, diag: &mut Diagnostics, endpoint: <Self::Source as Flavor>::Endpoint, ) -> Result<<Self::Target as Flavor>::Endpoint>
Translate the given endpoint.
Sourcefn translate_local_name<T>(
&self,
translator: &T,
diag: &mut Diagnostics,
reg: RpReg,
name: <Self::Source as Flavor>::Name,
) -> Result<<Self::Target as Flavor>::Name>
fn translate_local_name<T>( &self, translator: &T, diag: &mut Diagnostics, reg: RpReg, name: <Self::Source as Flavor>::Name, ) -> Result<<Self::Target as Flavor>::Name>
Translate a local declaration name.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.