[−][src]Trait encoding::types::Encoding
Character encoding.
Required Methods
fn name(&self) -> &'static str
Returns the canonical name of given encoding. This name is guaranteed to be unique across built-in encodings, but it is not normative and would be at most arbitrary.
fn raw_encoder(&self) -> Box<dyn RawEncoder>
Creates a new encoder.
fn raw_decoder(&self) -> Box<dyn RawDecoder>
Creates a new decoder.
Provided Methods
fn whatwg_name(&self) -> Option<&'static str>
Returns a name of given encoding defined in the WHATWG Encoding standard, if any.
This name often differs from name
due to the compatibility reason.
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
An easy-to-use interface to RawEncoder
.
On the encoder error trap
is called,
which may return a replacement sequence to continue processing,
or a failure to return the error.
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
Encode into a ByteWriter
.
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
An easy-to-use interface to RawDecoder
.
On the decoder error trap
is called,
which may return a replacement string to continue processing,
or a failure to return the error.
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
Decode into a StringWriter
.
This does not handle partial characters at the beginning or end of input
!
Use RawDecoder
for incremental decoding.
Implementors
impl Encoding for ASCIIEncoding
[src]
impl Encoding for ASCIIEncoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for ErrorEncoding
[src]
impl Encoding for ErrorEncoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for EUCJPEncoding
[src]
impl Encoding for EUCJPEncoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for ISO2022JPEncoding
[src]
impl Encoding for ISO2022JPEncoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for Windows31JEncoding
[src]
impl Encoding for Windows31JEncoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for Windows949Encoding
[src]
impl Encoding for Windows949Encoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for HZEncoding
[src]
impl Encoding for HZEncoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for SingleByteEncoding
[src]
impl Encoding for SingleByteEncoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for BigFive2003Encoding
[src]
impl Encoding for BigFive2003Encoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for UTF8Encoding
[src]
impl Encoding for UTF8Encoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl Encoding for EncoderOnlyUTF8Encoding
[src]
impl Encoding for EncoderOnlyUTF8Encoding
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl<E: Endian> Encoding for UTF16Encoding<E>
[src]
impl<E: Endian> Encoding for UTF16Encoding<E>
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
impl<T: GBType> Encoding for GBEncoding<T>
[src]
impl<T: GBType> Encoding for GBEncoding<T>
fn name(&self) -> &'static str
[src]
fn name(&self) -> &'static str
fn whatwg_name(&self) -> Option<&'static str>
[src]
fn whatwg_name(&self) -> Option<&'static str>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
[src]
fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
[src]
fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
[src]
fn encode(
&self,
input: &str,
trap: EncoderTrap
) -> Result<Vec<u8>, Cow<'static, str>>
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
[src]
fn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter
) -> Result<(), Cow<'static, str>>
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
[src]
fn decode(
&self,
input: &[u8],
trap: DecoderTrap
) -> Result<String, Cow<'static, str>>
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>
[src]
fn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter
) -> Result<(), Cow<'static, str>>