rune
                                
                                
                                
                                    rune copied to clipboard
                            
                            
                            
                        Implicit `i64` conversion / support for `u64`
Currently all integers are implicitly converted to i64 and can cause overflow errors during runtime.
This is related to #261 and more or less just a documentation of the error on the Rust integration side. (Feel free to close this as duplicate)
$ cargo run
Error: failed to convert integer `9223372036854775808` to value `i64`
use rune::{Context, FromValue, Vm};
use std::sync::Arc;
fn main() -> rune::Result<()> {
    let context = Context::new();
    let runtime = Arc::new(context.runtime());
    let mut sources = rune::sources! {
        entry => {
            pub fn main(a) { 0 }
        }
    };
    let unit = rune::prepare(&mut sources).with_context(&context).build()?;
    let mut vm = Vm::new(runtime, Arc::new(unit));
    let output = vm.call(&["main"], (0x8000_0000_0000_0000u64,))?;
    let output = u64::from_value(output)?;
    println!("{}", output);
    Ok(())
}