Skip to main content

Ext

Struct Ext 

Source
pub struct Ext<T, U> {
    pub base: T,
    pub extension: U,
}
Expand description

Defines an extension to an activitystreams object or link

This type provides two fields, the first field, base, should always the be base ActivityStreams type. As long as base implements an ActivityStreams trait, Ext will also.

For example, the type Ext<Video, HashMap<String, String>> will implement the Object trait, because Video implements that trait.

Additionally, AsRef and AsMut have been implemented for Ext. If type type Ext<Ext<Follow, SomeTime>, AnotherType> exists, that will implement AsRef<ActivityProperties> just like the innermost Follow.

Usage:

use activitystreams::object::Video;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut video = Video::full();

    // AsMut works even though this is an Ext<Video, ApObjectProperties>
    video
        .as_mut()
        .set_id("https://example.com")?;

    // set information on the extension
    video
        .extension
        .set_source_xsd_any_uri("https://example.com")?;

    Ok(())
}

Fields§

§base: T

The ActivityStreams base type, or another extension containing one

§extension: U

The extension being applied to the type

Trait Implementations§

Source§

impl<T, U, V> AsMut<V> for Ext<T, U>
where T: Base + AsMut<V>, U: Extension<T> + Debug,

Source§

fn as_mut(&mut self) -> &mut V

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<T, U, V> AsRef<V> for Ext<T, U>
where T: Base + AsRef<V>, U: Extension<T> + Debug,

Source§

fn as_ref(&self) -> &V

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: Clone, U: Clone> Clone for Ext<T, U>

Source§

fn clone(&self) -> Ext<T, U>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug, U: Debug> Debug for Ext<T, U>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Default, U: Default> Default for Ext<T, U>

Source§

fn default() -> Ext<T, U>

Returns the “default value” for a type. Read more
Source§

impl<'de, T, U> Deserialize<'de> for Ext<T, U>
where T: Deserialize<'de>, U: Deserialize<'de>,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<T, U> Serialize for Ext<T, U>
where T: Serialize, U: Serialize,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<T, U> TryFrom<Ext<T, U>> for ActivityBox
where T: Activity + Serialize, U: Extension<T> + Serialize + Debug,

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T, U> TryFrom<Ext<T, U>> for ActorBox
where T: Actor + Serialize, U: Extension<T> + Serialize + Debug,

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T, U> TryFrom<Ext<T, U>> for BaseBox
where T: Base + Serialize, U: Extension<T> + Serialize + Debug,

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T, U> TryFrom<Ext<T, U>> for CollectionBox

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T, U> TryFrom<Ext<T, U>> for CollectionPageBox

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T, U> TryFrom<Ext<T, U>> for IntransitiveActivityBox

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T, U> TryFrom<Ext<T, U>> for ObjectBox
where T: Object + Serialize, U: Extension<T> + Serialize + Debug,

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(e: Ext<T, U>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T, U> Activity for Ext<T, U>
where T: Activity, U: Debug,

Source§

impl<T, U> Actor for Ext<T, U>
where T: Actor, U: Debug,

Source§

impl<T, U> Base for Ext<T, U>
where T: Base, U: Debug,

Source§

impl<T, U> Collection for Ext<T, U>
where T: Collection, U: Debug,

Source§

impl<T, U> CollectionPage for Ext<T, U>
where T: CollectionPage, U: Debug,

Source§

impl<T, U> IntransitiveActivity for Ext<T, U>

Source§

impl<T, U> Object for Ext<T, U>
where T: Object, U: Debug,

Auto Trait Implementations§

§

impl<T, U> Freeze for Ext<T, U>
where T: Freeze, U: Freeze,

§

impl<T, U> RefUnwindSafe for Ext<T, U>

§

impl<T, U> Send for Ext<T, U>
where T: Send, U: Send,

§

impl<T, U> Sync for Ext<T, U>
where T: Sync, U: Sync,

§

impl<T, U> Unpin for Ext<T, U>
where T: Unpin, U: Unpin,

§

impl<T, U> UnsafeUnpin for Ext<T, U>
where T: UnsafeUnpin, U: UnsafeUnpin,

§

impl<T, U> UnwindSafe for Ext<T, U>
where T: UnwindSafe, U: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T, U> Extensible<U> for T
where T: Base, U: Extension<T>,

Source§

fn extend(self, item: U) -> Ext<T, U>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,