[INFO] updating cached repository mnottale/language [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/mnottale/language [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/mnottale/language" "work/ex/beta-1.38-1/sources/1.37.0/gh/mnottale/language"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/mnottale/language'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/mnottale/language" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/mnottale/language"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/mnottale/language'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 37e10bd07ba2c5778da8f619a6a5c5611910d5cc [INFO] sha for GitHub repo mnottale/language: 37e10bd07ba2c5778da8f619a6a5c5611910d5cc [INFO] validating manifest of mnottale/language on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of mnottale/language on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing mnottale/language [INFO] finished frobbing mnottale/language [INFO] frobbed toml for mnottale/language written to work/ex/beta-1.38-1/sources/1.37.0/gh/mnottale/language/Cargo.toml [INFO] started frobbing mnottale/language [INFO] finished frobbing mnottale/language [INFO] frobbed toml for mnottale/language written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/mnottale/language/Cargo.toml [INFO] crate mnottale/language already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing mnottale/language against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/mnottale/language:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] 18509bc6df920289e36e356eaad1ed06d486dc3c81b2e85cd042ced13e702f0b [INFO] running `"docker" "start" "-a" "18509bc6df920289e36e356eaad1ed06d486dc3c81b2e85cd042ced13e702f0b"` [INFO] [stderr] Compiling cpython v0.1.0 [INFO] [stderr] Compiling pest v1.0.0-beta.17 [INFO] [stderr] Compiling syn v0.10.8 [INFO] [stderr] Compiling python3-sys v0.1.3 [INFO] [stderr] Compiling pest_derive v1.0.0-beta.17 [INFO] [stderr] Compiling urbi4 v0.1.0 (/opt/crater/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) -> 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) -> Value { [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: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); [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); [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); [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); [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: 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: consider prefixing 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, 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, _ctx: &mut ParseContext) -> (IdentList, Option) { [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, 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, mut funcs: &mut Arc) -> 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 = 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:1 [INFO] [stderr] | [INFO] [stderr] 62 | struct Allocator { [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 { [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:1 [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> = 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>> = 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 | "".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, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, index: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, index: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, // 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, // 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>, [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: 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: 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] warning: 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: #[warn(overflowing_literals)] on by default [INFO] [stderr] [INFO] [stderr] warning: 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] warning: 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] warning: 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] 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] Finished dev [unoptimized + debuginfo] target(s) in 24.71s [INFO] running `"docker" "inspect" "18509bc6df920289e36e356eaad1ed06d486dc3c81b2e85cd042ced13e702f0b"` [INFO] running `"docker" "rm" "-f" "18509bc6df920289e36e356eaad1ed06d486dc3c81b2e85cd042ced13e702f0b"` [INFO] [stdout] 18509bc6df920289e36e356eaad1ed06d486dc3c81b2e85cd042ced13e702f0b [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/mnottale/language:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 1ab2e42c342bd65796331b786dfeac532fc5c1094abe2ee4d638f577e753dbc7 [INFO] running `"docker" "start" "-a" "1ab2e42c342bd65796331b786dfeac532fc5c1094abe2ee4d638f577e753dbc7"` [INFO] [stderr] Compiling urbi4 v0.1.0 (/opt/crater/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) -> 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) -> Value { [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: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); [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); [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); [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); [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: 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: consider prefixing 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, 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, _ctx: &mut ParseContext) -> (IdentList, Option) { [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, 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, mut funcs: &mut Arc) -> 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 = 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:1 [INFO] [stderr] | [INFO] [stderr] 62 | struct Allocator { [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 { [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:1 [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> = 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>> = 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 | "".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, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, rhs: String, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, index: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, slot: String, rhs: Box, index: Box, cacheClass: Cell<*const Class>, cacheIndex: Cell}, [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, // 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, // 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>, [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: 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: 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] warning: 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: #[warn(overflowing_literals)] on by default [INFO] [stderr] [INFO] [stderr] warning: 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] warning: 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] warning: 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] 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] Finished dev [unoptimized + debuginfo] target(s) in 2.24s [INFO] running `"docker" "inspect" "1ab2e42c342bd65796331b786dfeac532fc5c1094abe2ee4d638f577e753dbc7"` [INFO] running `"docker" "rm" "-f" "1ab2e42c342bd65796331b786dfeac532fc5c1094abe2ee4d638f577e753dbc7"` [INFO] [stdout] 1ab2e42c342bd65796331b786dfeac532fc5c1094abe2ee4d638f577e753dbc7 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/mnottale/language:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen"` [INFO] [stdout] f6d8556a5e38c1921d475baceb181638ed212e45b278151c9ea9ea7c5ce35c9c [INFO] running `"docker" "start" "-a" "f6d8556a5e38c1921d475baceb181638ed212e45b278151c9ea9ea7c5ce35c9c"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/crater/target/debug/deps/urbi4-f31193459bbd6388 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "f6d8556a5e38c1921d475baceb181638ed212e45b278151c9ea9ea7c5ce35c9c"` [INFO] running `"docker" "rm" "-f" "f6d8556a5e38c1921d475baceb181638ed212e45b278151c9ea9ea7c5ce35c9c"` [INFO] [stdout] f6d8556a5e38c1921d475baceb181638ed212e45b278151c9ea9ea7c5ce35c9c