pulumi_gestalt_rust

Trait GestaltOutput

Source
pub trait GestaltOutput<T>: Clone {
    type Me<A>;

    // Required methods
    fn map<B, F>(&self, f: F) -> Self::Me<B>
       where F: Fn(T) -> B + Send + 'static,
             T: DeserializeOwned,
             B: Serialize;
    fn add_to_export(&self, key: &str);
    fn combine<RESULT>(&self, others: &[&Self::Me<()>]) -> Self::Me<RESULT>;
    unsafe fn transmute<F>(self) -> Self::Me<F>;
}

Required Associated Types§

Source

type Me<A>

Required Methods§

Source

fn map<B, F>(&self, f: F) -> Self::Me<B>
where F: Fn(T) -> B + Send + 'static, T: DeserializeOwned, B: Serialize,

Source

fn add_to_export(&self, key: &str)

Source

fn combine<RESULT>(&self, others: &[&Self::Me<()>]) -> Self::Me<RESULT>

Source

unsafe fn transmute<F>(self) -> Self::Me<F>

Forcefully changes the visible type of underlying Output

Can be used to work around Pulumi provider incorrect types

MUST NOT change the underlying value - only the projected type

§Safety

The underlying output must be of type F.

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.

Implementations on Foreign Types§

Source§

impl<T> GestaltOutput<T> for WasmOutput<T>

Source§

type Me<A> = WasmOutput<A>

Source§

fn map<B, F>(&self, f: F) -> <WasmOutput<T> as GestaltOutput<T>>::Me<B>
where F: Fn(T) -> B + Send + 'static, T: DeserializeOwned, B: Serialize,

Source§

fn add_to_export(&self, key: &str)

Source§

fn combine<RESULT>( &self, others: &[&<WasmOutput<T> as GestaltOutput<T>>::Me<()>], ) -> <WasmOutput<T> as GestaltOutput<T>>::Me<RESULT>

Source§

unsafe fn transmute<F>(self) -> <WasmOutput<T> as GestaltOutput<T>>::Me<F>

Implementors§