Trait magnus::rb_sys::FromRawId

source ·
pub trait FromRawId {
    unsafe fn from_raw(id: ID) -> Self;
}
Available on crate feature rb-sys-interop only.
Expand description

Trait to convert from a raw ID to an Id.

Required Methods§

Convert rb_sys::ID to magnus::value::Id.

Safety

You must only supply a valid, non-zero ID obtained from rb-sys to this function. Using a invalid Id produced from this function will void all saftey guarantees provided by Magnus.


use magnus::{Symbol, value::Id, rb_sys::{FromRawId, AsRawId}};
use std::convert::TryInto;

let foo: Id = Symbol::new("foo").into();
let from_raw_val: Symbol = unsafe { Id::from_raw(foo.as_raw()) }.into();

assert_eq!(from_raw_val.inspect(), ":foo");

Implementors§