Skip to main content

## FluentType

# Trait FluentType

Source

    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§

Source

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

Create a clone of the underlying type.

Source

#### 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”.

Source

#### 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§

Source§

### impl PartialEq for dyn FluentType + Send

Source§

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

Equality operator `==`. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator `!=`. Read more

## Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

## Implementors§