## FluentType

# Trait FluentType

    pub trait FluentType:
        Debug
        + AnyEq
        + 'static {
        // Required methods
        fn duplicate(&self) -> Box<dyn FluentType + Send>;
        fn as_string(&self, intls: &IntlLangMemoizer) -> Cow<'static, str>;
        fn as_string_threadsafe(
            &self,
            intls: &IntlLangMemoizer,
        ) -> Cow<'static, str>;
    }

Expand description

Custom types can implement the `FluentType` trait in order to generate a string value for use in the message generation process.

## Required Methods§

#### fn duplicate(&self) -> Box<dyn FluentType + Send>

Create a clone of the underlying type.

#### fn as_string(&self, intls: &IntlLangMemoizer) -> Cow<'static, str>

Convert the custom type into a string value, for instance a custom `DateTime` type could return “Oct. 27, 2022”.

#### fn as_string_threadsafe(&self, intls: &IntlLangMemoizer) -> Cow<'static, str>

Convert the custom type into a string value, for instance a custom `DateTime` type could return “Oct. 27, 2022”. This operation is provided the threadsafe `IntlLangMemoizer`.

## Trait Implementations§

§

### impl PartialEq for dyn FluentType + Send

§

#### fn eq(&self, other: &(dyn FluentType + Send + 'static)) -> bool

Tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0§

#### fn ne(&self, other: &Rhs) -> bool

Tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.

## Implementors§