Trait oso::FromPolar[][src]

pub trait FromPolar: Clone {
    fn from_polar(val: PolarValue) -> Result<Self>;
}
Expand description

Convert Polar types to Rust types.

This trait is automatically implemented for any type that implements the PolarClass trait, which should be preferred.

This is also implemented automatically using the #[derive(PolarClass)] macro.

Trait bounds

FromPolar requires Clone because we can only get a borrowed value back from oso. In the future, this could be updated to return borrowed data instead.

The default implementation for PolarClass also requires types to be Send + Sync, since it is possible to store a FromPolar value on an Oso instance which can be shared between threads

Required methods

Loading content...

Implementations on Foreign Types

impl FromPolar for u8[src]

impl FromPolar for i8[src]

impl FromPolar for u16[src]

impl FromPolar for i16[src]

impl FromPolar for u32[src]

impl FromPolar for i32[src]

impl FromPolar for i64[src]

impl FromPolar for f64[src]

impl FromPolar for String[src]

impl FromPolar for bool[src]

impl<T: FromPolar> FromPolar for HashMap<String, T>[src]

impl<T: FromPolar> FromPolar for BTreeMap<String, T>[src]

impl<T: FromPolar> FromPolar for Vec<T>[src]

impl<T: FromPolar> FromPolar for LinkedList<T>[src]

impl<T: FromPolar> FromPolar for VecDeque<T>[src]

impl<T: Eq + Hash + FromPolar> FromPolar for HashSet<T>[src]

impl<T: Eq + Ord + FromPolar> FromPolar for BTreeSet<T>[src]

impl<T: Ord + FromPolar> FromPolar for BinaryHeap<T>[src]

impl<T: FromPolar> FromPolar for Option<T>[src]

Loading content...

Implementors

impl FromPolar for PolarValue[src]

impl<T> FromPolar for T where
    T: 'static + Clone + PolarClass
[src]

impl<T: FromPolar> FromPolar for Action<T>[src]

Loading content...