Closed Zapotek closed 7 years ago
Rust:
class!( NullByte ); methods!( NullByte, itself, fn get() -> RString { RString::new( "\u{0}" ) } ); Class::new( "NullByte", None ).define( |itself| { itself.def_self( "get", get ); });
Ruby:
NullByte.get
Error:
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: NulError(0, [0])', ../src/libcore/result.rs:799 stack backtrace: 1: 0x7f75d426e61f - std::sys::backtrace::tracing::imp::write::h22f199c1dbb72ba2 2: 0x7f75d427db4d - std::panicking::default_hook::{{closure}}::h9a389c462b6a22dd 3: 0x7f75d427b0b2 - std::panicking::default_hook::h852b4223c1c00c59 4: 0x7f75d427b6a8 - std::panicking::rust_panic_with_hook::hcd9d05f53fa0dafc 5: 0x7f75d427b542 - std::panicking::begin_panic::hf6c488cee66e7f17 6: 0x7f75d427b480 - std::panicking::begin_panic_fmt::hb0a7126ee57cdd27 7: 0x7f75d427b401 - rust_begin_unwind 8: 0x7f75d4293aaf - core::panicking::panic_fmt::h9af671b78898cdba 9: 0x7f75d4231383 - core::result::unwrap_failed::h03cc84bf66ee82b5 10: 0x7f75d423235e - ruru::class::string::RString::new::h2793ffe2d21bdbab 11: 0x7f75d4231239 - get 12: 0x7f75df5533b2 - vm_call_cfunc at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:1638 at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:1733 13: 0x7f75df562d2d - vm_call_method_each_type at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:2022 14: 0x7f75df5632a2 - vm_call_method at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:2172 15: 0x7f75df55c7d7 - vm_exec_core at /home/zapotek/.rvm/src/ruby-2.3.1/insns.def:995 16: 0x7f75df561285 - vm_exec at /home/zapotek/.rvm/src/ruby-2.3.1/vm.c:1650 17: 0x7f75df4082e8 - rb_load_internal0 at /home/zapotek/.rvm/src/ruby-2.3.1/load.c:619 18: 0x7f75df409dff - rb_require_internal at /home/zapotek/.rvm/src/ruby-2.3.1/load.c:998 19: 0x7f75df40a128 - rb_require_safe at /home/zapotek/.rvm/src/ruby-2.3.1/load.c:1043 20: 0x7f75df5533b2 - vm_call_cfunc at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:1638 at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:1733 21: 0x7f75df562d2d - vm_call_method_each_type at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:2022 22: 0x7f75df5632a2 - vm_call_method at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:2172 23: 0x7f75df55c7d7 - vm_exec_core at /home/zapotek/.rvm/src/ruby-2.3.1/insns.def:995 24: 0x7f75df561285 - vm_exec at /home/zapotek/.rvm/src/ruby-2.3.1/vm.c:1650 25: 0x7f75df4082e8 - rb_load_internal0 at /home/zapotek/.rvm/src/ruby-2.3.1/load.c:619 26: 0x7f75df409dff - rb_require_internal at /home/zapotek/.rvm/src/ruby-2.3.1/load.c:998 27: 0x7f75df40a128 - rb_require_safe at /home/zapotek/.rvm/src/ruby-2.3.1/load.c:1043 28: 0x7f75df5533b2 - vm_call_cfunc at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:1638 at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:1733 29: 0x7f75df562d2d - vm_call_method_each_type at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:2022 30: 0x7f75df5632a2 - vm_call_method at /home/zapotek/.rvm/src/ruby-2.3.1/vm_insnhelper.c:2172 31: 0x7f75df55c7d7 - vm_exec_core at /home/zapotek/.rvm/src/ruby-2.3.1/insns.def:995 32: 0x7f75df561285 - vm_exec at /home/zapotek/.rvm/src/ruby-2.3.1/vm.c:1650 33: 0x7f75df40251c - ruby_exec_internal at /home/zapotek/.rvm/src/ruby-2.3.1/eval.c:245 34: 0x7f75df40473c - ruby_exec_node at /home/zapotek/.rvm/src/ruby-2.3.1/eval.c:310 35: 0x7f75df40717d - ruby_run_node at /home/zapotek/.rvm/src/ruby-2.3.1/eval.c:302 36: 0x40088a - main at /home/zapotek/.rvm/src/ruby-2.3.1/main.c:36 37: 0x7f75defd482f - __libc_start_main 38: 0x4008b8 - _start 39: 0x0 - <unknown> fatal runtime error: failed to initiate panic, error 5 Aborted (core dumped)
Both Ruby and Rust support null-bytes in strings, it'd be nice to allow them to cross boundaries.
Done in 0.9.0
Rust:
Ruby:
Error:
Both Ruby and Rust support null-bytes in strings, it'd be nice to allow them to cross boundaries.