Trait rune::runtime::FromValue

source ·
pub trait FromValue: 'static + Sized {
    // Required method
    fn from_value(value: Value) -> VmResult<Self>;
}
Expand description

Trait for converting types from the dynamic Value container.

§Examples

use rune::{FromValue, Vm};
use std::sync::Arc;

#[derive(FromValue)]
struct Foo {
    field: u64,
}

let mut sources = rune::sources!(entry => {
    pub fn main() { #{field: 42} }
});

let unit = rune::prepare(&mut sources).build()?;

let mut vm = Vm::without_runtime(Arc::new(unit));
let foo = vm.call(["main"], ())?;
let foo: Foo = rune::from_value(foo)?;

assert_eq!(foo.field, 42);

Required Methods§

source

fn from_value(value: Value) -> VmResult<Self>

Try to convert to the given type, from the given value.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl FromValue for Ordering

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for bool

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for char

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for f32

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for f64

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for i8

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for i16

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for i32

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for i64

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for i128

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for isize

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for u8

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for u16

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for u32

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for u64

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for u128

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for ()

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for usize

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for Box<str>

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for String

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl FromValue for RangeFull

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A> FromValue for (A,)
where A: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B> FromValue for (A, B)
where A: FromValue, B: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C> FromValue for (A, B, C)
where A: FromValue, B: FromValue, C: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D> FromValue for (A, B, C, D)
where A: FromValue, B: FromValue, C: FromValue, D: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E> FromValue for (A, B, C, D, E)
where A: FromValue, B: FromValue, C: FromValue, D: FromValue, E: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F> FromValue for (A, B, C, D, E, F)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G> FromValue for (A, B, C, D, E, F, G)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H> FromValue for (A, B, C, D, E, F, G, H)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I> FromValue for (A, B, C, D, E, F, G, H, I)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I, J> FromValue for (A, B, C, D, E, F, G, H, I, J)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I, J, K> FromValue for (A, B, C, D, E, F, G, H, I, J, K)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> FromValue for (A, B, C, D, E, F, G, H, I, J, K, L)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> FromValue for (A, B, C, D, E, F, G, H, I, J, K, L, M)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> FromValue for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> FromValue for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> FromValue for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<B, C> FromValue for ControlFlow<B, C>
where B: FromValue, C: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<Idx> FromValue for Range<Idx>
where Idx: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<Idx> FromValue for RangeFrom<Idx>
where Idx: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<Idx> FromValue for RangeInclusive<Idx>
where Idx: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<Idx> FromValue for RangeTo<Idx>
where Idx: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<Idx> FromValue for RangeToInclusive<Idx>
where Idx: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<T> FromValue for Option<T>
where T: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<T> FromValue for Vec<T>
where T: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<T> FromValue for HashMap<String, T>
where T: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<T> FromValue for HashMap<String, T>
where T: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

source§

impl<T, E> FromValue for Result<T, E>
where T: FromValue, E: FromValue,

source§

fn from_value(value: Value) -> VmResult<Self>

Implementors§

source§

impl FromValue for ConstValue

source§

impl FromValue for rune::runtime::ControlFlow

source§

impl FromValue for GeneratorState

source§

impl FromValue for Value

source§

impl FromValue for rune::alloc::Box<str>

source§

impl FromValue for rune::alloc::String

source§

impl FromValue for Format

source§

impl FromValue for Bytes

source§

impl FromValue for Function

source§

impl FromValue for Future

source§

impl FromValue for Generator<Vm>

source§

impl FromValue for Iterator

source§

impl FromValue for Mut<ControlFlow>

source§

impl FromValue for Mut<GeneratorState>

source§

impl FromValue for Mut<String>

source§

impl FromValue for Mut<Format>

source§

impl FromValue for Mut<Bytes>

source§

impl FromValue for Mut<Function>

source§

impl FromValue for Mut<Future>

source§

impl FromValue for Mut<Generator<Vm>>

source§

impl FromValue for Mut<Iterator>

source§

impl FromValue for Mut<Object>

source§

impl FromValue for Mut<Range>

source§

impl FromValue for Mut<RangeFrom>

source§

impl FromValue for Mut<RangeFull>

source§

impl FromValue for Mut<RangeInclusive>

source§

impl FromValue for Mut<RangeTo>

source§

impl FromValue for Mut<RangeToInclusive>

source§

impl FromValue for Mut<Stream<Vm>>

source§

impl FromValue for Mut<Tuple>

source§

impl FromValue for Mut<Vec>

source§

impl FromValue for Object

source§

impl FromValue for OwnedTuple

source§

impl FromValue for rune::runtime::Range

source§

impl FromValue for rune::runtime::RangeFrom

source§

impl FromValue for rune::runtime::RangeFull

source§

impl FromValue for rune::runtime::RangeInclusive

source§

impl FromValue for rune::runtime::RangeTo

source§

impl FromValue for rune::runtime::RangeToInclusive

source§

impl FromValue for Ref<ControlFlow>

source§

impl FromValue for Ref<GeneratorState>

source§

impl FromValue for Ref<str>

source§

impl FromValue for Ref<String>

source§

impl FromValue for Ref<Format>

source§

impl FromValue for Ref<Bytes>

source§

impl FromValue for Ref<Function>

source§

impl FromValue for Ref<Future>

source§

impl FromValue for Ref<Generator<Vm>>

source§

impl FromValue for Ref<Iterator>

source§

impl FromValue for Ref<Object>

source§

impl FromValue for Ref<Range>

source§

impl FromValue for Ref<RangeFrom>

source§

impl FromValue for Ref<RangeFull>

source§

impl FromValue for Ref<RangeInclusive>

source§

impl FromValue for Ref<RangeTo>

source§

impl FromValue for Ref<RangeToInclusive>

source§

impl FromValue for Ref<Stream<Vm>>

source§

impl FromValue for Ref<Tuple>

source§

impl FromValue for Ref<Vec>

source§

impl FromValue for Shared<ControlFlow>

source§

impl FromValue for Shared<GeneratorState>

source§

impl FromValue for Shared<Format>

source§

impl FromValue for Shared<AnyObj>

source§

impl FromValue for Shared<Bytes>

source§

impl FromValue for Shared<Function>

source§

impl FromValue for Shared<Future>

source§

impl FromValue for Shared<Generator<Vm>>

source§

impl FromValue for Shared<Iterator>

source§

impl FromValue for Shared<Object>

source§

impl FromValue for Shared<Range>

source§

impl FromValue for Shared<RangeFrom>

source§

impl FromValue for Shared<RangeFull>

source§

impl FromValue for Shared<RangeInclusive>

source§

impl FromValue for Shared<RangeTo>

source§

impl FromValue for Shared<RangeToInclusive>

source§

impl FromValue for Shared<Stream<Vm>>

source§

impl FromValue for Shared<Vec>

source§

impl FromValue for Stream<Vm>

source§

impl FromValue for SyncFunction

source§

impl FromValue for Type

source§

impl FromValue for rune::runtime::Vec

source§

impl FromValue for VecTuple<()>

source§

impl<A> FromValue for VecTuple<(A,)>
where A: FromValue,

source§

impl<A, B> FromValue for VecTuple<(A, B)>
where A: FromValue, B: FromValue,

source§

impl<A, B, C> FromValue for VecTuple<(A, B, C)>
where A: FromValue, B: FromValue, C: FromValue,

source§

impl<A, B, C, D> FromValue for VecTuple<(A, B, C, D)>
where A: FromValue, B: FromValue, C: FromValue, D: FromValue,

source§

impl<A, B, C, D, E> FromValue for VecTuple<(A, B, C, D, E)>
where A: FromValue, B: FromValue, C: FromValue, D: FromValue, E: FromValue,

source§

impl<A, B, C, D, E, F> FromValue for VecTuple<(A, B, C, D, E, F)>

source§

impl<A, B, C, D, E, F, G> FromValue for VecTuple<(A, B, C, D, E, F, G)>

source§

impl<A, B, C, D, E, F, G, H> FromValue for VecTuple<(A, B, C, D, E, F, G, H)>

source§

impl<A, B, C, D, E, F, G, H, I> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I)>

source§

impl<A, B, C, D, E, F, G, H, I, J> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I, J)>

source§

impl<A, B, C, D, E, F, G, H, I, J, K> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I, J, K)>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I, J, K, L)>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I, J, K, L, M)>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> FromValue for VecTuple<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>

source§

impl<T> FromValue for rune::alloc::HashMap<String, T>
where T: FromValue,

source§

impl<T> FromValue for rune::alloc::HashMap<String, T>
where T: FromValue,

source§

impl<T> FromValue for rune::alloc::Vec<T>
where T: FromValue,

source§

impl<T> FromValue for Mut<T>
where T: Any,

source§

impl<T> FromValue for Ref<T>
where T: Any,

source§

impl<T> FromValue for T
where T: Any,