Trait RamaTryFrom

pub trait RamaTryFrom<T, CrateMarker = ()>: Sized {
    type Error;

    // Required method
    fn rama_try_from(value: T) -> Result<Self, Self::Error>;
}
Expand description

Alternative for TryFrom which can be implemented by external crates for external types

To implement this trait, use a crate local CrateMarker generic type More info: https://ramaproxy.org/book/intro/patterns.html#working-around-the-orphan-rule-in-specific-cases

Note: RamaTryFrom has a blacket implementation for types that implement TryFrom

Required Associated Types§

type Error

Required Methods§

fn rama_try_from(value: T) -> Result<Self, Self::Error>

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.

Implementors§

§

impl RamaTryFrom<&StackRef<X509>, RamaTlsBoringCrateMarker> for DataEncoding

§

impl RamaTryFrom<&X509, RamaTlsBoringCrateMarker> for DataEncoding

§

impl RamaTryFrom<Host, RamaTlsRustlsCrateMarker> for ServerName<'_>

§

impl RamaTryFrom<ProtocolVersion, RamaTlsBoringCrateMarker> for SslVersion

§

impl RamaTryFrom<ProtocolVersion, RamaTlsRustlsCrateMarker> for &SupportedProtocolVersion

§

impl RamaTryFrom<SignatureScheme, RamaTlsBoringCrateMarker> for SslSignatureAlgorithm

§

impl RamaTryFrom<SupportedGroup, RamaTlsBoringCrateMarker> for SslCurve

§

impl RamaTryFrom<SslCurve, RamaTlsBoringCrateMarker> for SupportedGroup

§

impl RamaTryFrom<SslSignatureAlgorithm, RamaTlsBoringCrateMarker> for SignatureScheme

§

impl RamaTryFrom<SslVersion, RamaTlsBoringCrateMarker> for ProtocolVersion

§

impl<'a> RamaTryFrom<&'a Host, RamaTlsRustlsCrateMarker> for ServerName<'a>

§

impl<'a> RamaTryFrom<&ServerName<'a>, RamaTlsRustlsCrateMarker> for Host

§

impl<'a> RamaTryFrom<ServerName<'a>, RamaTlsRustlsCrateMarker> for Host

§

impl<'ssl> RamaTryFrom<&ClientHello<'ssl>, RamaTlsBoringCrateMarker> for ClientHello

§

impl<'ssl> RamaTryFrom<ClientHello<'ssl>, RamaTlsBoringCrateMarker> for ClientHello

§

impl<T, U> RamaTryFrom<T> for U
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error