[INFO] updating cached repository https://github.com/mnottale/language
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 37e10bd07ba2c5778da8f619a6a5c5611910d5cc
[INFO] checking mnottale/language against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmnottale%2Flanguage" "/workspace/builds/worker-4/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mnottale/language on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/mnottale/language
[INFO] finished tweaking git repo https://github.com/mnottale/language
[INFO] tweaked toml for git repo https://github.com/mnottale/language written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/mnottale/language already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] 746fd0a31a137643e612005d8d8e75878318598c25dd145a491db2a2360a1adb
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "746fd0a31a137643e612005d8d8e75878318598c25dd145a491db2a2360a1adb"`
[INFO] [stderr]    Compiling cpython v0.1.0
[INFO] [stderr]    Compiling pest v1.0.0-beta.17
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling pest_derive v1.0.0-beta.17
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling python3-sys v0.1.3
[INFO] [stderr]     Checking urbi4 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused import: `std::fmt::Formatter`
[INFO] [stderr]  --> src/value.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::Formatter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/value.rs:17:16
[INFO] [stderr]    |
[INFO] [stderr] 17 |   Pri(&'static Callable),
[INFO] [stderr]    |                ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/value.rs:18:20
[INFO] [stderr]    |
[INFO] [stderr] 18 |   Box(&'static mut Any),
[INFO] [stderr]    |                    ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:142:28
[INFO] [stderr]     |
[INFO] [stderr] 142 |   pub fn from_pri(val: Box<Callable>) -> Value {
[INFO] [stderr]     |                            ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:150:28
[INFO] [stderr]     |
[INFO] [stderr] 150 |   pub fn from_any(val: Box<Any>) -> Value {
[INFO] [stderr]     |                            ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/value.rs:159:5
[INFO] [stderr]     |
[INFO] [stderr] 159 |     ((self.v &TMASK) >> TSHIFT)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:195:36
[INFO] [stderr]     |
[INFO] [stderr] 195 |   pub fn as_pri(&self) -> &'static Callable {
[INFO] [stderr]     |                                    ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:200:46
[INFO] [stderr]     |
[INFO] [stderr] 200 |       let b = &mut*((cp & AMASK) as *mut Box<Callable>);
[INFO] [stderr]     |                                              ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:201:43
[INFO] [stderr]     |
[INFO] [stderr] 201 |       let c = b.deref().deref() as *const Callable;
[INFO] [stderr]     |                                           ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:205:40
[INFO] [stderr]     |
[INFO] [stderr] 205 |   pub fn as_box(&self) -> &'static mut Any {
[INFO] [stderr]     |                                        ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:210:46
[INFO] [stderr]     |
[INFO] [stderr] 210 |       let b = &mut*((cp & AMASK) as *mut Box<Any>);
[INFO] [stderr]     |                                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:211:40
[INFO] [stderr]     |
[INFO] [stderr] 211 |       let c = (*b).deref_mut() as *mut Any;
[INFO] [stderr]     |                                        ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:308:50
[INFO] [stderr]     |
[INFO] [stderr] 308 |           Box::from_raw((cp & AMASK) as *mut Box<Callable>);
[INFO] [stderr]     |                                                  ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:323:50
[INFO] [stderr]     |
[INFO] [stderr] 323 |           Box::from_raw((cp & AMASK) as *mut Box<Any>);
[INFO] [stderr]     |                                                  ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/callable.rs:192:16
[INFO] [stderr]     |
[INFO] [stderr] 192 | impl Debug for Callable {
[INFO] [stderr]     |                ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Formatter`
[INFO] [stderr]  --> src/value.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::Formatter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PyDict`, `PyResult`
[INFO] [stderr]  --> src/python.rs:3:80
[INFO] [stderr]   |
[INFO] [stderr] 3 | use cpython::{ObjectProtocol, Python, PyObject, PyList, PyTuple, PythonObject, PyDict, PyResult, PyModule, ToPyObject};
[INFO] [stderr]   |                                                                                ^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/value.rs:17:16
[INFO] [stderr]    |
[INFO] [stderr] 17 |   Pri(&'static Callable),
[INFO] [stderr]    |                ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/value.rs:18:20
[INFO] [stderr]    |
[INFO] [stderr] 18 |   Box(&'static mut Any),
[INFO] [stderr]    |                    ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `callable::Callable`
[INFO] [stderr]  --> src/libstdlib.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use callable::Callable;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:142:28
[INFO] [stderr]     |
[INFO] [stderr] 142 |   pub fn from_pri(val: Box<Callable>) -> Value {
[INFO] [stderr]     |                            ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:150:28
[INFO] [stderr]     |
[INFO] [stderr] 150 |   pub fn from_any(val: Box<Any>) -> Value {
[INFO] [stderr]     |                            ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/value.rs:159:5
[INFO] [stderr]     |
[INFO] [stderr] 159 |     ((self.v &TMASK) >> TSHIFT)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `callable::Convertible`
[INFO] [stderr]  --> src/libstdlib.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use callable::Convertible;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:195:36
[INFO] [stderr]     |
[INFO] [stderr] 195 |   pub fn as_pri(&self) -> &'static Callable {
[INFO] [stderr]     |                                    ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:200:46
[INFO] [stderr]     |
[INFO] [stderr] 200 |       let b = &mut*((cp & AMASK) as *mut Box<Callable>);
[INFO] [stderr]     |                                              ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/libstdlib.rs:78:34
[INFO] [stderr]    |
[INFO] [stderr] 78 |   let fptr: fn(&mut Vec<Value>)->(Option<Value>) = Vec::<Value>::pop;
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:201:43
[INFO] [stderr]     |
[INFO] [stderr] 201 |       let c = b.deref().deref() as *const Callable;
[INFO] [stderr]     |                                           ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:205:40
[INFO] [stderr]     |
[INFO] [stderr] 205 |   pub fn as_box(&self) -> &'static mut Any {
[INFO] [stderr]     |                                        ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:210:46
[INFO] [stderr]     |
[INFO] [stderr] 210 |       let b = &mut*((cp & AMASK) as *mut Box<Any>);
[INFO] [stderr]     |                                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:211:40
[INFO] [stderr]     |
[INFO] [stderr] 211 |       let c = (*b).deref_mut() as *mut Any;
[INFO] [stderr]     |                                        ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:308:50
[INFO] [stderr]     |
[INFO] [stderr] 308 |           Box::from_raw((cp & AMASK) as *mut Box<Callable>);
[INFO] [stderr]     |                                                  ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/main.rs:627:7
[INFO] [stderr]     |
[INFO] [stderr] 627 |       while true {
[INFO] [stderr]     |       ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/value.rs:323:50
[INFO] [stderr]     |
[INFO] [stderr] 323 |           Box::from_raw((cp & AMASK) as *mut Box<Any>);
[INFO] [stderr]     |                                                  ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/callable.rs:192:16
[INFO] [stderr]     |
[INFO] [stderr] 192 | impl Debug for Callable {
[INFO] [stderr]     |                ^^^^^^^^ help: use `dyn`: `dyn Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PyDict`, `PyResult`
[INFO] [stderr]  --> src/python.rs:3:80
[INFO] [stderr]   |
[INFO] [stderr] 3 | use cpython::{ObjectProtocol, Python, PyObject, PyList, PyTuple, PythonObject, PyDict, PyResult, PyModule, ToPyObject};
[INFO] [stderr]   |                                                                                ^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `callable::Callable`
[INFO] [stderr]  --> src/libstdlib.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use callable::Callable;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `callable::Convertible`
[INFO] [stderr]  --> src/libstdlib.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use callable::Convertible;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/libstdlib.rs:78:34
[INFO] [stderr]    |
[INFO] [stderr] 78 |   let fptr: fn(&mut Vec<Value>)->(Option<Value>) = Vec::<Value>::pop;
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/main.rs:627:7
[INFO] [stderr]     |
[INFO] [stderr] 627 |       while true {
[INFO] [stderr]     |       ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/main.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | / lazy_static! {
[INFO] [stderr] 52 | |   static ref variables : Mutex<HashMap<String, Value>> = Mutex::new(HashMap::new());
[INFO] [stderr] 53 | |   static ref classes : Mutex<HashMap<String, Box<Class>>> = Mutex::new(HashMap::new());
[INFO] [stderr] 54 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/main.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | / lazy_static! {
[INFO] [stderr] 52 | |   static ref variables : Mutex<HashMap<String, Value>> = Mutex::new(HashMap::new());
[INFO] [stderr] 53 | |   static ref classes : Mutex<HashMap<String, Box<Class>>> = Mutex::new(HashMap::new());
[INFO] [stderr] 54 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: conflicting implementations of trait `callable::Callable` for type `fn(&mut _) -> _`:
[INFO] [stderr]    --> src/callable.rs:165:1
[INFO] [stderr]     |
[INFO] [stderr] 159 | impl<R: Convertible, P1:Convertible> Callable for fn(P1) -> R {
[INFO] [stderr]     | ------------------------------------------------------------- first implementation here
[INFO] [stderr] ...
[INFO] [stderr] 165 | impl<R: Convertible, P1> Callable for fn(&mut P1) -> R where P1:Convertible{
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(&mut _) -> _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(coherence_leak_check)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #56105 <https://github.com/rust-lang/rust/issues/56105>
[INFO] [stderr]     = note: downstream crates may implement trait `callable::Boxable` for type `&mut _`
[INFO] [stderr]     = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
[INFO] [stderr] 
[INFO] [stderr] warning: conflicting implementations of trait `callable::Callable` for type `fn(&mut _, _) -> _`:
[INFO] [stderr]    --> src/callable.rs:178:1
[INFO] [stderr]     |
[INFO] [stderr] 172 | impl<R: Convertible, P1:Convertible, P2: Convertible> Callable for fn(P1, P2) -> R {
[INFO] [stderr]     | ---------------------------------------------------------------------------------- first implementation here
[INFO] [stderr] ...
[INFO] [stderr] 178 | impl<'a, R: Convertible, P1:'a, P2:Convertible> Callable for fn(&mut P1, P2) -> R where P1: Convertible{
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(&mut _, _) -> _`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #56105 <https://github.com/rust-lang/rust/issues/56105>
[INFO] [stderr]     = note: downstream crates may implement trait `callable::Boxable` for type `&mut _`
[INFO] [stderr]     = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/main.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | / lazy_static! {
[INFO] [stderr] 52 | |   static ref variables : Mutex<HashMap<String, Value>> = Mutex::new(HashMap::new());
[INFO] [stderr] 53 | |   static ref classes : Mutex<HashMap<String, Box<Class>>> = Mutex::new(HashMap::new());
[INFO] [stderr] 54 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/main.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | / lazy_static! {
[INFO] [stderr] 52 | |   static ref variables : Mutex<HashMap<String, Value>> = Mutex::new(HashMap::new());
[INFO] [stderr] 53 | |   static ref classes : Mutex<HashMap<String, Box<Class>>> = Mutex::new(HashMap::new());
[INFO] [stderr] 54 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: conflicting implementations of trait `callable::Callable` for type `fn(&mut _) -> _`:
[INFO] [stderr]    --> src/callable.rs:165:1
[INFO] [stderr]     |
[INFO] [stderr] 159 | impl<R: Convertible, P1:Convertible> Callable for fn(P1) -> R {
[INFO] [stderr]     | ------------------------------------------------------------- first implementation here
[INFO] [stderr] ...
[INFO] [stderr] 165 | impl<R: Convertible, P1> Callable for fn(&mut P1) -> R where P1:Convertible{
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(&mut _) -> _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(coherence_leak_check)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #56105 <https://github.com/rust-lang/rust/issues/56105>
[INFO] [stderr]     = note: downstream crates may implement trait `callable::Boxable` for type `&mut _`
[INFO] [stderr]     = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
[INFO] [stderr] 
[INFO] [stderr] warning: conflicting implementations of trait `callable::Callable` for type `fn(&mut _, _) -> _`:
[INFO] [stderr]    --> src/callable.rs:178:1
[INFO] [stderr]     |
[INFO] [stderr] 172 | impl<R: Convertible, P1:Convertible, P2: Convertible> Callable for fn(P1, P2) -> R {
[INFO] [stderr]     | ---------------------------------------------------------------------------------- first implementation here
[INFO] [stderr] ...
[INFO] [stderr] 178 | impl<'a, R: Convertible, P1:'a, P2:Convertible> Callable for fn(&mut P1, P2) -> R where P1: Convertible{
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(&mut _, _) -> _`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #56105 <https://github.com/rust-lang/rust/issues/56105>
[INFO] [stderr]     = note: downstream crates may implement trait `callable::Boxable` for type `&mut _`
[INFO] [stderr]     = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `callable::Callable`
[INFO] [stderr]   --> src/main.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | use callable::Callable;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheClass`
[INFO] [stderr]    --> src/main.rs:455:35
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: try ignoring the field: `cacheClass: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheIndex`
[INFO] [stderr]    --> src/main.rs:455:47
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: try ignoring the field: `cacheIndex: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheClass`
[INFO] [stderr]    --> src/main.rs:465:35
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: try ignoring the field: `cacheClass: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheIndex`
[INFO] [stderr]    --> src/main.rs:465:47
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: try ignoring the field: `cacheIndex: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]   --> src/callable.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 |   fn from_value(v: &Value) -> T {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `callable::Callable`
[INFO] [stderr]   --> src/main.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | use callable::Callable;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheClass`
[INFO] [stderr]    --> src/main.rs:455:35
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: try ignoring the field: `cacheClass: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheIndex`
[INFO] [stderr]    --> src/main.rs:455:47
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: try ignoring the field: `cacheIndex: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheClass`
[INFO] [stderr]    --> src/main.rs:465:35
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: try ignoring the field: `cacheClass: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cacheIndex`
[INFO] [stderr]    --> src/main.rs:465:47
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: try ignoring the field: `cacheIndex: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]   --> src/callable.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 |   fn from_value(v: &Value) -> T {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:279:19
[INFO] [stderr]     |
[INFO] [stderr] 279 | fn parse_exprlist(mut pairs: pest::iterators::Pairs<Rule, pest::inputs::StrInput>, ctx: &mut ParseContext) -> ExprList {
[INFO] [stderr]     |                   ----^^^^^
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:288:20
[INFO] [stderr]     |
[INFO] [stderr] 288 | fn parse_identlist(mut pairs: pest::iterators::Pairs<Rule, pest::inputs::StrInput>, _ctx: &mut ParseContext) -> (IdentList, Option<String>) {
[INFO] [stderr]     |                    ----^^^^^
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:473:16
[INFO] [stderr]     |
[INFO] [stderr] 473 | fn parse_block(mut pairs: pest::iterators::Pairs<Rule, pest::inputs::StrInput>, ctx: &mut ParseContext) -> Block {
[INFO] [stderr]     |                ----^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:498:7
[INFO] [stderr]     |
[INFO] [stderr] 498 |   let mut block = parse_block(body.into_inner(), &mut newctx);
[INFO] [stderr]     |       ----^^^^^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:516:80
[INFO] [stderr]     |
[INFO] [stderr] 516 | fn process_toplevel(pair: pest::iterators::Pair<Rule, pest::inputs::StrInput>, mut funcs: &mut Arc<Functions>) -> Value {
[INFO] [stderr]     |                                                                                ----^^^^^
[INFO] [stderr]     |                                                                                |
[INFO] [stderr]     |                                                                                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:547:11
[INFO] [stderr]     |
[INFO] [stderr] 547 |       let mut block = parse_block(body.into_inner(), &mut ctx);
[INFO] [stderr]     |           ----^^^^^
[INFO] [stderr]     |           |
[INFO] [stderr]     |           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:947:7
[INFO] [stderr]     |
[INFO] [stderr] 947 |   let mut state : HashMap<String, i32> = HashMap::new();
[INFO] [stderr]     |       ----^^^^^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/python.rs:60:11
[INFO] [stderr]    |
[INFO] [stderr] 60 |       let mut res = PyList::new(*python, &[]);
[INFO] [stderr]    |           ----^^^
[INFO] [stderr]    |           |
[INFO] [stderr]    |           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: static item is never used: `T_FLT`
[INFO] [stderr]   --> src/value.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub static T_FLT:u64 = 32768;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Allocator`
[INFO] [stderr]   --> src/main.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | struct Allocator<T: Clone> {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `new`
[INFO] [stderr]   --> src/main.rs:69:3
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn new(template: T) -> Allocator<T> {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `alloc`
[INFO] [stderr]   --> src/main.rs:72:3
[INFO] [stderr]    |
[INFO] [stderr] 72 |   fn alloc(&mut self) -> u32 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `free`
[INFO] [stderr]   --> src/main.rs:82:3
[INFO] [stderr]    |
[INFO] [stderr] 82 |   fn free(&mut self, idx: u32) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `get`
[INFO] [stderr]   --> src/main.rs:86:3
[INFO] [stderr]    |
[INFO] [stderr] 86 |   fn get(&mut self, idx: u32) -> *mut T {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `test_value`
[INFO] [stderr]    --> src/main.rs:908:4
[INFO] [stderr]     |
[INFO] [stderr] 908 | fn test_value() {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `variables` should have an upper case name
[INFO] [stderr]   --> src/main.rs:52:14
[INFO] [stderr]    |
[INFO] [stderr] 52 |   static ref variables : Mutex<HashMap<String, Value>> = Mutex::new(HashMap::new());
[INFO] [stderr]    |              ^^^^^^^^^ help: convert the identifier to upper case: `VARIABLES`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `classes` should have an upper case name
[INFO] [stderr]   --> src/main.rs:53:14
[INFO] [stderr]    |
[INFO] [stderr] 53 |   static ref classes : Mutex<HashMap<String, Box<Class>>> = Mutex::new(HashMap::new());
[INFO] [stderr]    |              ^^^^^^^ help: convert the identifier to upper case: `CLASSES`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/main.rs:118:4
[INFO] [stderr]     |
[INFO] [stderr] 118 |    "<func>".fmt(f);
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:148:42
[INFO] [stderr]     |
[INFO] [stderr] 148 |   Dot{lhs: Box<Expression>, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                          ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:148:74
[INFO] [stderr]     |
[INFO] [stderr] 148 |   Dot{lhs: Box<Expression>, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                          ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:161:78
[INFO] [stderr]     |
[INFO] [stderr] 161 |   ObjAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                              ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:161:110
[INFO] [stderr]     |
[INFO] [stderr] 161 |   ObjAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                                                              ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:162:107
[INFO] [stderr]     |
[INFO] [stderr] 162 |   ObjIndexAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, index: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:162:139
[INFO] [stderr]     |
[INFO] [stderr] 162 |   ObjIndexAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, index: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                                                                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `closureBuild` should have a snake case name
[INFO] [stderr]    --> src/main.rs:184:3
[INFO] [stderr]     |
[INFO] [stderr] 184 |   closureBuild: Vec<i32>, // parent stack indexes
[INFO] [stderr]     |   ^^^^^^^^^^^^ help: convert the identifier to snake case: `closure_build`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `closurePut` should have a snake case name
[INFO] [stderr]    --> src/main.rs:185:3
[INFO] [stderr]     |
[INFO] [stderr] 185 |   closurePut: Vec<i32>, // stack index where to put closed values
[INFO] [stderr]     |   ^^^^^^^^^^ help: convert the identifier to snake case: `closure_put`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `parentStack` should have a snake case name
[INFO] [stderr]    --> src/main.rs:196:3
[INFO] [stderr]     |
[INFO] [stderr] 196 |   parentStack: Option<Box<Stack>>,
[INFO] [stderr]     |   ^^^^^^^^^^^ help: convert the identifier to snake case: `parent_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:455:35
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:455:47
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:465:35
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:465:47
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `closureBuild` should have a snake case name
[INFO] [stderr]    --> src/main.rs:499:11
[INFO] [stderr]     |
[INFO] [stderr] 499 |   let mut closureBuild = Vec::new();
[INFO] [stderr]     |           ^^^^^^^^^^^^ help: convert the identifier to snake case: `closure_build`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `closurePut` should have a snake case name
[INFO] [stderr]    --> src/main.rs:500:11
[INFO] [stderr]     |
[INFO] [stderr] 500 |   let mut closurePut = Vec::new();
[INFO] [stderr]     |           ^^^^^^^^^^ help: convert the identifier to snake case: `closure_put`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:639:65
[INFO] [stderr]     |
[INFO] [stderr] 639 |     Statement::ObjAssignment{ref target, ref slot, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:639:81
[INFO] [stderr]     |
[INFO] [stderr] 639 |     Statement::ObjAssignment{ref target, ref slot, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:662:81
[INFO] [stderr]     |
[INFO] [stderr] 662 |     Statement::ObjIndexAssignment{ref target, ref slot, ref rhs, ref index, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:662:97
[INFO] [stderr]     |
[INFO] [stderr] 662 |     Statement::ObjIndexAssignment{ref target, ref slot, ref rhs, ref index, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:868:43
[INFO] [stderr]     |
[INFO] [stderr] 868 |     Expression::Dot{ref lhs, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:868:59
[INFO] [stderr]     |
[INFO] [stderr] 868 |     Expression::Dot{ref lhs, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:934:25
[INFO] [stderr]     |
[INFO] [stderr] 934 |   println!("{} = \n{}", 1e1000, unbox_f64(box_f64(1e1000)));
[INFO] [stderr]     |                         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[deny(overflowing_literals)]` on by default
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:934:51
[INFO] [stderr]     |
[INFO] [stderr] 934 |   println!("{} = \n{}", 1e1000, unbox_f64(box_f64(1e1000)));
[INFO] [stderr]     |                                                   ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:935:26
[INFO] [stderr]     |
[INFO] [stderr] 935 |   println!("{} = \n{}", -1e1000, unbox_f64(box_f64(-1e1000)));
[INFO] [stderr]     |                          ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:935:53
[INFO] [stderr]     |
[INFO] [stderr] 935 |   println!("{} = \n{}", -1e1000, unbox_f64(box_f64(-1e1000)));
[INFO] [stderr]     |                                                     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cModules` should have a snake case name
[INFO] [stderr]    --> src/python.rs:138:11
[INFO] [stderr]     |
[INFO] [stderr] 138 |   let mut cModules = Class {name: "PyModules".to_string(), fields: HashMap::new(), funcs: HashMap::new()};
[INFO] [stderr]     |           ^^^^^^^^ help: convert the identifier to snake case: `c_modules`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cModule` should have a snake case name
[INFO] [stderr]    --> src/python.rs:148:11
[INFO] [stderr]     |
[INFO] [stderr] 148 |   let mut cModule = Class {name: "PyModule".to_string(), fields: hashmap!{"box".to_string() => 0}, funcs: HashMap::new()};
[INFO] [stderr]     |           ^^^^^^^ help: convert the identifier to snake case: `c_module`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cObject` should have a snake case name
[INFO] [stderr]    --> src/python.rs:154:11
[INFO] [stderr]     |
[INFO] [stderr] 154 |   let mut cObject = Class {name: "PyObject".to_string(), fields: hashmap!{"box".to_string() => 0}, funcs: HashMap::new()};
[INFO] [stderr]     |           ^^^^^^^ help: convert the identifier to snake case: `c_object`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cPoint` should have a snake case name
[INFO] [stderr]   --> src/libstdlib.rs:81:11
[INFO] [stderr]    |
[INFO] [stderr] 81 |   let mut cPoint = Class {name: "Point".to_string(), fields: hashmap!{"box".to_string() => 0}, funcs: HashMap::new()};
[INFO] [stderr]    |           ^^^^^^ help: convert the identifier to snake case: `c_point`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 4 previous errors
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `urbi4`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:279:19
[INFO] [stderr]     |
[INFO] [stderr] 279 | fn parse_exprlist(mut pairs: pest::iterators::Pairs<Rule, pest::inputs::StrInput>, ctx: &mut ParseContext) -> ExprList {
[INFO] [stderr]     |                   ----^^^^^
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:288:20
[INFO] [stderr]     |
[INFO] [stderr] 288 | fn parse_identlist(mut pairs: pest::iterators::Pairs<Rule, pest::inputs::StrInput>, _ctx: &mut ParseContext) -> (IdentList, Option<String>) {
[INFO] [stderr]     |                    ----^^^^^
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:473:16
[INFO] [stderr]     |
[INFO] [stderr] 473 | fn parse_block(mut pairs: pest::iterators::Pairs<Rule, pest::inputs::StrInput>, ctx: &mut ParseContext) -> Block {
[INFO] [stderr]     |                ----^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:498:7
[INFO] [stderr]     |
[INFO] [stderr] 498 |   let mut block = parse_block(body.into_inner(), &mut newctx);
[INFO] [stderr]     |       ----^^^^^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:516:80
[INFO] [stderr]     |
[INFO] [stderr] 516 | fn process_toplevel(pair: pest::iterators::Pair<Rule, pest::inputs::StrInput>, mut funcs: &mut Arc<Functions>) -> Value {
[INFO] [stderr]     |                                                                                ----^^^^^
[INFO] [stderr]     |                                                                                |
[INFO] [stderr]     |                                                                                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:547:11
[INFO] [stderr]     |
[INFO] [stderr] 547 |       let mut block = parse_block(body.into_inner(), &mut ctx);
[INFO] [stderr]     |           ----^^^^^
[INFO] [stderr]     |           |
[INFO] [stderr]     |           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:947:7
[INFO] [stderr]     |
[INFO] [stderr] 947 |   let mut state : HashMap<String, i32> = HashMap::new();
[INFO] [stderr]     |       ----^^^^^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/python.rs:60:11
[INFO] [stderr]    |
[INFO] [stderr] 60 |       let mut res = PyList::new(*python, &[]);
[INFO] [stderr]    |           ----^^^
[INFO] [stderr]    |           |
[INFO] [stderr]    |           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: static item is never used: `T_FLT`
[INFO] [stderr]   --> src/value.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub static T_FLT:u64 = 32768;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Allocator`
[INFO] [stderr]   --> src/main.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | struct Allocator<T: Clone> {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `new`
[INFO] [stderr]   --> src/main.rs:69:3
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn new(template: T) -> Allocator<T> {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `alloc`
[INFO] [stderr]   --> src/main.rs:72:3
[INFO] [stderr]    |
[INFO] [stderr] 72 |   fn alloc(&mut self) -> u32 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `free`
[INFO] [stderr]   --> src/main.rs:82:3
[INFO] [stderr]    |
[INFO] [stderr] 82 |   fn free(&mut self, idx: u32) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `get`
[INFO] [stderr]   --> src/main.rs:86:3
[INFO] [stderr]    |
[INFO] [stderr] 86 |   fn get(&mut self, idx: u32) -> *mut T {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `test_value`
[INFO] [stderr]    --> src/main.rs:908:4
[INFO] [stderr]     |
[INFO] [stderr] 908 | fn test_value() {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `variables` should have an upper case name
[INFO] [stderr]   --> src/main.rs:52:14
[INFO] [stderr]    |
[INFO] [stderr] 52 |   static ref variables : Mutex<HashMap<String, Value>> = Mutex::new(HashMap::new());
[INFO] [stderr]    |              ^^^^^^^^^ help: convert the identifier to upper case: `VARIABLES`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `classes` should have an upper case name
[INFO] [stderr]   --> src/main.rs:53:14
[INFO] [stderr]    |
[INFO] [stderr] 53 |   static ref classes : Mutex<HashMap<String, Box<Class>>> = Mutex::new(HashMap::new());
[INFO] [stderr]    |              ^^^^^^^ help: convert the identifier to upper case: `CLASSES`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/main.rs:118:4
[INFO] [stderr]     |
[INFO] [stderr] 118 |    "<func>".fmt(f);
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:148:42
[INFO] [stderr]     |
[INFO] [stderr] 148 |   Dot{lhs: Box<Expression>, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                          ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:148:74
[INFO] [stderr]     |
[INFO] [stderr] 148 |   Dot{lhs: Box<Expression>, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                          ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:161:78
[INFO] [stderr]     |
[INFO] [stderr] 161 |   ObjAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                              ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:161:110
[INFO] [stderr]     |
[INFO] [stderr] 161 |   ObjAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                                                              ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:162:107
[INFO] [stderr]     |
[INFO] [stderr] 162 |   ObjIndexAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, index: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:162:139
[INFO] [stderr]     |
[INFO] [stderr] 162 |   ObjIndexAssignment{target: Box<Expression>, slot: String, rhs: Box<Expression>, index: Box<Expression>, cacheClass: Cell<*const Class>, cacheIndex: Cell<i32>},
[INFO] [stderr]     |                                                                                                                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `closureBuild` should have a snake case name
[INFO] [stderr]    --> src/main.rs:184:3
[INFO] [stderr]     |
[INFO] [stderr] 184 |   closureBuild: Vec<i32>, // parent stack indexes
[INFO] [stderr]     |   ^^^^^^^^^^^^ help: convert the identifier to snake case: `closure_build`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `closurePut` should have a snake case name
[INFO] [stderr]    --> src/main.rs:185:3
[INFO] [stderr]     |
[INFO] [stderr] 185 |   closurePut: Vec<i32>, // stack index where to put closed values
[INFO] [stderr]     |   ^^^^^^^^^^ help: convert the identifier to snake case: `closure_put`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `parentStack` should have a snake case name
[INFO] [stderr]    --> src/main.rs:196:3
[INFO] [stderr]     |
[INFO] [stderr] 196 |   parentStack: Option<Box<Stack>>,
[INFO] [stderr]     |   ^^^^^^^^^^^ help: convert the identifier to snake case: `parent_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:455:35
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:455:47
[INFO] [stderr]     |
[INFO] [stderr] 455 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:465:35
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                   ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:465:47
[INFO] [stderr]     |
[INFO] [stderr] 465 |         Expression::Dot{lhs, rhs, cacheClass, cacheIndex} => Statement::ObjIndexAssignment{target: lhs, slot: rhs, rhs: Box::new(rrhs), index: Box::new(index), cacheClass: Cell::new(0 as *const Class), cacheIndex: Cell::new(0)},
[INFO] [stderr]     |                                               ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `closureBuild` should have a snake case name
[INFO] [stderr]    --> src/main.rs:499:11
[INFO] [stderr]     |
[INFO] [stderr] 499 |   let mut closureBuild = Vec::new();
[INFO] [stderr]     |           ^^^^^^^^^^^^ help: convert the identifier to snake case: `closure_build`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `closurePut` should have a snake case name
[INFO] [stderr]    --> src/main.rs:500:11
[INFO] [stderr]     |
[INFO] [stderr] 500 |   let mut closurePut = Vec::new();
[INFO] [stderr]     |           ^^^^^^^^^^ help: convert the identifier to snake case: `closure_put`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:639:65
[INFO] [stderr]     |
[INFO] [stderr] 639 |     Statement::ObjAssignment{ref target, ref slot, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:639:81
[INFO] [stderr]     |
[INFO] [stderr] 639 |     Statement::ObjAssignment{ref target, ref slot, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:662:81
[INFO] [stderr]     |
[INFO] [stderr] 662 |     Statement::ObjIndexAssignment{ref target, ref slot, ref rhs, ref index, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:662:97
[INFO] [stderr]     |
[INFO] [stderr] 662 |     Statement::ObjIndexAssignment{ref target, ref slot, ref rhs, ref index, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                                                                 ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheClass` should have a snake case name
[INFO] [stderr]    --> src/main.rs:868:43
[INFO] [stderr]     |
[INFO] [stderr] 868 |     Expression::Dot{ref lhs, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_class`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cacheIndex` should have a snake case name
[INFO] [stderr]    --> src/main.rs:868:59
[INFO] [stderr]     |
[INFO] [stderr] 868 |     Expression::Dot{ref lhs, ref rhs, ref cacheClass, ref cacheIndex} => {
[INFO] [stderr]     |                                                           ^^^^^^^^^^ help: convert the identifier to snake case: `cache_index`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:934:25
[INFO] [stderr]     |
[INFO] [stderr] 934 |   println!("{} = \n{}", 1e1000, unbox_f64(box_f64(1e1000)));
[INFO] [stderr]     |                         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[deny(overflowing_literals)]` on by default
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:934:51
[INFO] [stderr]     |
[INFO] [stderr] 934 |   println!("{} = \n{}", 1e1000, unbox_f64(box_f64(1e1000)));
[INFO] [stderr]     |                                                   ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:935:26
[INFO] [stderr]     |
[INFO] [stderr] 935 |   println!("{} = \n{}", -1e1000, unbox_f64(box_f64(-1e1000)));
[INFO] [stderr]     |                          ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for `f64`
[INFO] [stderr]    --> src/main.rs:935:53
[INFO] [stderr]     |
[INFO] [stderr] 935 |   println!("{} = \n{}", -1e1000, unbox_f64(box_f64(-1e1000)));
[INFO] [stderr]     |                                                     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `1e1000` does not fit into the type `f64` and will be converted to `std::f64::INFINITY`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cModules` should have a snake case name
[INFO] [stderr]    --> src/python.rs:138:11
[INFO] [stderr]     |
[INFO] [stderr] 138 |   let mut cModules = Class {name: "PyModules".to_string(), fields: HashMap::new(), funcs: HashMap::new()};
[INFO] [stderr]     |           ^^^^^^^^ help: convert the identifier to snake case: `c_modules`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cModule` should have a snake case name
[INFO] [stderr]    --> src/python.rs:148:11
[INFO] [stderr]     |
[INFO] [stderr] 148 |   let mut cModule = Class {name: "PyModule".to_string(), fields: hashmap!{"box".to_string() => 0}, funcs: HashMap::new()};
[INFO] [stderr]     |           ^^^^^^^ help: convert the identifier to snake case: `c_module`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cObject` should have a snake case name
[INFO] [stderr]    --> src/python.rs:154:11
[INFO] [stderr]     |
[INFO] [stderr] 154 |   let mut cObject = Class {name: "PyObject".to_string(), fields: hashmap!{"box".to_string() => 0}, funcs: HashMap::new()};
[INFO] [stderr]     |           ^^^^^^^ help: convert the identifier to snake case: `c_object`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cPoint` should have a snake case name
[INFO] [stderr]   --> src/libstdlib.rs:81:11
[INFO] [stderr]    |
[INFO] [stderr] 81 |   let mut cPoint = Class {name: "Point".to_string(), fields: hashmap!{"box".to_string() => 0}, funcs: HashMap::new()};
[INFO] [stderr]    |           ^^^^^^ help: convert the identifier to snake case: `c_point`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 4 previous errors
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `urbi4`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "746fd0a31a137643e612005d8d8e75878318598c25dd145a491db2a2360a1adb"`
[INFO] running `"docker" "rm" "-f" "746fd0a31a137643e612005d8d8e75878318598c25dd145a491db2a2360a1adb"`
[INFO] [stdout] 746fd0a31a137643e612005d8d8e75878318598c25dd145a491db2a2360a1adb
