rake thermite:build
checking for cargo... yes
/usr/local/bin/cargo build --release
Compiling ruru v0.9.2
/Users/chase/.cargo/registry/src/github.com-88ac128001ac3a9a/ruru-0.9.2/src/dsl.rs:152:72: 152:84 error: `$return_type:ty` is followed by `$body:block`, which is not allowed for `ty` fragments
/Users/chase/.cargo/registry/src/github.com-88ac128001ac3a9a/ruru-0.9.2/src/dsl.rs:152 ($($arg_name: ident: $arg_type: ty),*) -> $return_type: ty $body: block
^~~~~~~~~~~~
error: aborting due to previous error
error: Could not compile `ruru`.
To learn more, run the command again with --verbose.
rake aborted!
Command failed with status (101): [/usr/local/bin/cargo build --release...]
/Users/chase/.rvm/gems/ruby-2.4.0/gems/thermite-0.8.0/lib/thermite/cargo.rb:41:in `block in run_cargo'
/Users/chase/.rvm/gems/ruby-2.4.0/gems/thermite-0.8.0/lib/thermite/cargo.rb:40:in `chdir'
/Users/chase/.rvm/gems/ruby-2.4.0/gems/thermite-0.8.0/lib/thermite/cargo.rb:40:in `run_cargo'
/Users/chase/.rvm/gems/ruby-2.4.0/gems/thermite-0.8.0/lib/thermite/cargo.rb:58:in `run_cargo_build'
/Users/chase/.rvm/gems/ruby-2.4.0/gems/thermite-0.8.0/lib/thermite/tasks.rb:121:in `block in define_build_task'
/Users/chase/.rvm/gems/ruby-2.4.0@global/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/Users/chase/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `eval'
/Users/chase/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => thermite:build
(See full trace by running task with --trace)
rust-lang/rust
room on Gitter and this topic on Reddit
Q1: Do the parameters in a Rust method count as references to prevent the Ruby VM from garbage collecting the parameters while the Rust method is running without GVL?
Q2: Does calling let mut hsh = Hash::new();
in Rust allocate the object on the Ruby heap, or a separate heap?
Q3: Does Ruru call finalizer on the above Hash
automatically when its ownership scope ends? Or is it subject to garbage collection at a later time?
Q4: Are Ruby objects instantiated from Rust different in any way from the Ruby objects passed into Rust as parameters, or returned from Rust to Ruby?
ruby-sys
code executed without GVL become safe? I suspect it does not, and only pure Rust code would be safe?
ruru
. i thought about replacing each daft_funkt
function with a native rust function but I'm not sure if there would be any performance benefit to doing so. Is this just a awful idea? Am I on to something here? More importantly, is this even possible?