[INFO] cloning repository https://github.com/tanin47/lilit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tanin47/lilit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftanin47%2Flilit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftanin47%2Flilit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cb20b46c045ca64e99fd3e7edf4ce2d81a8d48b5 [INFO] testing tanin47/lilit against 1.55.0 for beta-1.56-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftanin47%2Flilit" "/workspace/builds/worker-57/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-57/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tanin47/lilit on toolchain 1.55.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tanin47/lilit [INFO] finished tweaking git repo https://github.com/tanin47/lilit [INFO] tweaked toml for git repo https://github.com/tanin47/lilit written to /workspace/builds/worker-57/source/Cargo.toml [INFO] crate git repo https://github.com/tanin47/lilit already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded proc-macro2 v0.4.23 [INFO] [stderr] Downloaded syn v0.15.20 [INFO] [stderr] Downloaded enum-methods v0.0.8 [INFO] [stderr] Downloaded llvm-sys v60.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fd4c2bf780fc4a8b1e1f34313581698648296019b3b595def9564a76f0de4623 [INFO] running `Command { std: "docker" "start" "-a" "fd4c2bf780fc4a8b1e1f34313581698648296019b3b595def9564a76f0de4623", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fd4c2bf780fc4a8b1e1f34313581698648296019b3b595def9564a76f0de4623", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd4c2bf780fc4a8b1e1f34313581698648296019b3b595def9564a76f0de4623", kill_on_drop: false }` [INFO] [stdout] fd4c2bf780fc4a8b1e1f34313581698648296019b3b595def9564a76f0de4623 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eaeae8040090290fdf6f601b989a7d2a5a6be00591371c273ede9142befeec99 [INFO] running `Command { std: "docker" "start" "-a" "eaeae8040090290fdf6f601b989a7d2a5a6be00591371c273ede9142befeec99", kill_on_drop: false }` [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling libc v0.2.43 [INFO] [stderr] Compiling cfg-if v0.1.6 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling lazy_static v1.2.0 [INFO] [stderr] Compiling ucd-util v0.1.2 [INFO] [stderr] Compiling utf8-ranges v1.0.2 [INFO] [stderr] Compiling proc-macro2 v0.4.23 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling gcc v0.3.55 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling serde v1.0.106 [INFO] [stderr] Compiling ryu v1.0.3 [INFO] [stderr] Compiling inkwell v0.1.0 (https://github.com/tanin47/inkwell?rev=46d576c63a7bec3a5ff4c81efbe74842f850ff0a#46d576c6) [INFO] [stderr] Compiling itoa v0.4.5 [INFO] [stderr] Compiling either v1.5.0 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling memchr v2.1.1 [INFO] [stderr] Compiling quote v0.6.10 [INFO] [stderr] Compiling enum-methods v0.0.8 [INFO] [stderr] Compiling aho-corasick v0.6.9 [INFO] [stderr] Compiling serde_json v1.0.51 [INFO] [stderr] Compiling syn v0.15.20 [INFO] [stderr] Compiling llvm-sys v60.2.0 [INFO] [stderr] Compiling inkwell_internal_macros v0.1.0 (https://github.com/tanin47/inkwell?rev=46d576c63a7bec3a5ff4c81efbe74842f850ff0a#46d576c6) [INFO] [stderr] Compiling lilit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the type `CompilationUnit` does not permit zero-initialization [INFO] [stdout] --> src/parse/mod.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | unit: unsafe { std::mem::MaybeUninit::zeroed().assume_init() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] note: `std::ptr::Unique` must be non-null (in this struct field) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 50.05s [INFO] running `Command { std: "docker" "inspect" "eaeae8040090290fdf6f601b989a7d2a5a6be00591371c273ede9142befeec99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eaeae8040090290fdf6f601b989a7d2a5a6be00591371c273ede9142befeec99", kill_on_drop: false }` [INFO] [stdout] eaeae8040090290fdf6f601b989a7d2a5a6be00591371c273ede9142befeec99 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c27abaa166cc71a4e276572c03d3dd28079a90a08a4b3b3ebad4840cf11a3481 [INFO] running `Command { std: "docker" "start" "-a" "c27abaa166cc71a4e276572c03d3dd28079a90a08a4b3b3ebad4840cf11a3481", kill_on_drop: false }` [INFO] [stderr] Compiling lilit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the type `CompilationUnit` does not permit zero-initialization [INFO] [stdout] --> src/parse/mod.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | unit: unsafe { std::mem::MaybeUninit::zeroed().assume_init() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] note: `std::ptr::Unique` must be non-null (in this struct field) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `CompilationUnit` does not permit zero-initialization [INFO] [stdout] --> src/parse/mod.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | unit: unsafe { std::mem::MaybeUninit::zeroed().assume_init() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] note: `std::ptr::Unique` must be non-null (in this struct field) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 19.17s [INFO] running `Command { std: "docker" "inspect" "c27abaa166cc71a4e276572c03d3dd28079a90a08a4b3b3ebad4840cf11a3481", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c27abaa166cc71a4e276572c03d3dd28079a90a08a4b3b3ebad4840cf11a3481", kill_on_drop: false }` [INFO] [stdout] c27abaa166cc71a4e276572c03d3dd28079a90a08a4b3b3ebad4840cf11a3481 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3e378862d933ece3e9abb8a932da964dc7400c662c8601e3dc2465c4ed617f2a [INFO] running `Command { std: "docker" "start" "-a" "3e378862d933ece3e9abb8a932da964dc7400c662c8601e3dc2465c4ed617f2a", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: the type `CompilationUnit` does not permit zero-initialization [INFO] [stderr] --> src/parse/mod.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | unit: unsafe { std::mem::MaybeUninit::zeroed().assume_init() }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(invalid_value)]` on by default [INFO] [stderr] note: `std::ptr::Unique` must be non-null (in this struct field) [INFO] [stderr] [INFO] [stderr] warning: `lilit` (lib) generated 1 warning [INFO] [stderr] warning: `lilit` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 45.44s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/lilit-659f86dcc3c5dbeb) [INFO] [stdout] [INFO] [stdout] running 42 tests [INFO] [stderr] ; ModuleID = 'main' [INFO] [stderr] source_filename = "main" [INFO] [stderr] [INFO] [stderr] %String = type { %Native__String* } [INFO] [stderr] %Native__String = type { i8* } [INFO] [stderr] %Int = type { %Native__Int* } [INFO] [stderr] %Native__Int = type { i64 } [INFO] [stderr] [INFO] [stderr] define i64 @native__vprintf(i8* %0, ...) { [INFO] [stderr] first_block: [INFO] [stderr] %va_list = alloca { i32, i32, i8*, i8* } [INFO] [stderr] call void @llvm.va_start({ i32, i32, i8*, i8* }* %va_list) [INFO] [stderr] %"Invoke native method vprintf" = call i64 @vprintf(i8* %0, { i32, i32, i8*, i8* }* %va_list) [INFO] [stderr] call void @llvm.va_end({ i32, i32, i8*, i8* }* %va_list) [INFO] [stderr] ret i64 %"Invoke native method vprintf" [INFO] [stderr] } [INFO] [stderr] [INFO] [stderr] ; Function Attrs: nounwind [INFO] [stderr] declare void @llvm.va_start(i8* %0) #0 [INFO] [stderr] [INFO] [stderr] declare i64 @vprintf(i8* %0, { i32, i32, i8*, i8* }* %1) [INFO] [stderr] [INFO] [stderr] ; Function Attrs: nounwind [INFO] [stderr] declare void @llvm.va_end(i8* %0) #0 [INFO] [stderr] [INFO] [stderr] define void @lilit_user_space__println(%String* %0, %Int* %1, %Int* %2) { [INFO] [stderr] first_block: [INFO] [stderr] %"Param 0 of method println" = alloca %String* [INFO] [stderr] store %String* %0, %String** %"Param 0 of method println" [INFO] [stderr] %"Param 1 of method println" = alloca %Int* [INFO] [stderr] store %Int* %1, %Int** %"Param 1 of method println" [INFO] [stderr] %"Param 2 of method println" = alloca %Int* [INFO] [stderr] store %Int* %2, %Int** %"Param 2 of method println" [INFO] [stderr] %"Read ptr into String" = load %String*, %String** %"Param 0 of method println" [INFO] [stderr] %"Gep field 0 of String" = getelementptr inbounds %String, %String* %"Read ptr into String", i32 0, i32 0 [INFO] [stderr] %"Load field underlying for identifier underlying" = load %Native__String*, %Native__String** %"Gep field 0 of String" [INFO] [stderr] %"Gep the native value" = getelementptr inbounds %Native__String, %Native__String* %"Load field underlying for identifier underlying", i32 0, i32 0 [INFO] [stderr] %"Load the native value" = load i8*, i8** %"Gep the native value" [INFO] [stderr] %"Read ptr into Int" = load %Int*, %Int** %"Param 1 of method println" [INFO] [stderr] %"Gep field 0 of Int" = getelementptr inbounds %Int, %Int* %"Read ptr into Int", i32 0, i32 0 [INFO] [stderr] %"Load field underlying for identifier underlying1" = load %Native__Int*, %Native__Int** %"Gep field 0 of Int" [INFO] [stderr] %"Gep the native value2" = getelementptr inbounds %Native__Int, %Native__Int* %"Load field underlying for identifier underlying1", i32 0, i32 0 [INFO] [stderr] %"Load the native value3" = load i64, i64* %"Gep the native value2" [INFO] [stderr] %"Read ptr into Int4" = load %Int*, %Int** %"Param 2 of method println" [INFO] [stderr] %"Gep field 0 of Int5" = getelementptr inbounds %Int, %Int* %"Read ptr into Int4", i32 0, i32 0 [INFO] [stderr] %"Load field underlying for identifier underlying6" = load %Native__Int*, %Native__Int** %"Gep field 0 of Int5" [INFO] [stderr] %"Gep the native value7" = getelementptr inbounds %Native__Int, %Native__Int* %"Load field underlying for identifier underlying6", i32 0, i32 0 [INFO] [stderr] %"Load the native value8" = load i64, i64* %"Gep the native value7" [INFO] [stderr] %native__vprintf = call i64 (i8*, ...) @native__vprintf(i8* %"Load the native value", i64 %"Load the native value3", i64 %"Load the native value8") [INFO] [stderr] %malloc = call i8* @GC_malloc(i64 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i64)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast = bitcast i8* %malloc to %Native__Int* [INFO] [stderr] %"Gep for the native param of the class Native__Int" = getelementptr inbounds %Native__Int, %Native__Int* %cast, i32 0, i32 0 [INFO] [stderr] store i64 %native__vprintf, i64* %"Gep for the native param of the class Native__Int" [INFO] [stderr] ret void [INFO] [stderr] } [INFO] [stderr] [INFO] [stderr] declare noalias i8* @GC_malloc(i64 %0) [INFO] [stderr] [INFO] [stderr] declare void @GC_finalizer(i8* %0, i8* %1) [INFO] [stderr] [INFO] [stderr] declare void @GC_register_finalizer(i8* %0, void (i8*, i8*)* %1, i8* %2, void (i8*, i8*)** %3, i8** %4) [INFO] [stderr] [INFO] [stderr] define void @lilit_user_space__test() { [INFO] [stderr] first_block: [INFO] [stderr] %malloc = call i8* @GC_malloc(i64 mul nuw (i64 ptrtoint (i8* getelementptr (i8, i8* null, i32 1) to i64), i64 11)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %"Cast pointer to ArrayType" = bitcast i8* %malloc to [11 x i8]* [INFO] [stderr] %"Gep char 0 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 0 [INFO] [stderr] store i8 84, i8* %"Gep char 0 of string Test %d %d" [INFO] [stderr] %"Gep char 1 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 1 [INFO] [stderr] store i8 101, i8* %"Gep char 1 of string Test %d %d" [INFO] [stderr] %"Gep char 2 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 2 [INFO] [stderr] store i8 115, i8* %"Gep char 2 of string Test %d %d" [INFO] [stderr] %"Gep char 3 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 3 [INFO] [stderr] store i8 116, i8* %"Gep char 3 of string Test %d %d" [INFO] [stderr] %"Gep char 4 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 4 [INFO] [stderr] store i8 32, i8* %"Gep char 4 of string Test %d %d" [INFO] [stderr] %"Gep char 5 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 5 [INFO] [stderr] store i8 37, i8* %"Gep char 5 of string Test %d %d" [INFO] [stderr] %"Gep char 6 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 6 [INFO] [stderr] store i8 100, i8* %"Gep char 6 of string Test %d %d" [INFO] [stderr] %"Gep char 7 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 7 [INFO] [stderr] store i8 32, i8* %"Gep char 7 of string Test %d %d" [INFO] [stderr] %"Gep char 8 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 8 [INFO] [stderr] store i8 37, i8* %"Gep char 8 of string Test %d %d" [INFO] [stderr] %"Gep char 9 of string Test %d %d" = getelementptr inbounds [11 x i8], [11 x i8]* %"Cast pointer to ArrayType", i32 0, i32 9 [INFO] [stderr] store i8 100; ModuleID = ', imain8*' [INFO] [stderr] source_filename = "%"mGaeipn c" [INFO] [stderr] har 9 of string T [INFO] [stderr] es%t %dChar = type %d{ " [INFO] [stderr] % %Native__Char"G*e }p [INFO] [stderr] %tNative__Charh = type e{ il8a }s [INFO] [stderr] t [INFO] [stderr] define pos%iChart*i o@lilit_user_space__test() { [INFO] [stderr] first_block: [INFO] [stderr] %malloc = calln fo ri 8t*h e@ tGC_malloce(rim64i natiptrtointng ( is8y*m bogetelementptrl ( io8f , sit8r*i nnullg, iT32e st 1%)d to i%64d)") = getelementptr [INFO] [stderr] inbounds call[ 11 x voidi 8@]GC_register_finalizer,( i[811* x i%8malloc], *void (%i"8C*a, sit8 *p)o*i n@teGC_finalizerr, it8o* Anullr, rvoida (yiT8y*p, ei"8, *i)32* *0 , nulli, 32i 810* [INFO] [stderr] * storenull )i [INFO] [stderr] 8 %0cast, = ibitcast8* i%8"*G e%pmalloc to t%hNative__Chare* [INFO] [stderr] l a%s"tG eppo sfiotri otnh ef onra ttihvee tvearlmuien aotfi ntgh es ycmlbaosls oNfa tsitvrei_n_gC hTaers"t = getelementptr% inboundsd %%Native__Chard," [INFO] [stderr] %%Native__Char"*C a%scastt, it32o e0l, iim32i n0a [INFO] [stderr] t estore tih8e s97i, zie8 *i n%f"oG"e = pbitcast f[o11r x it8h]e* n%a"tCiavset vpaoliunet eorf ttoh eA rcrlaaysTsy pNea"t to iiv8e*_ [INFO] [stderr] _ Ch%amalloc1r = " [INFO] [stderr] call % malloc1i = 8call* i@8GC_malloc*( @GC_malloci(64i 64 ptrtointptrtoint ( (ii11**** getelementptrgetelementptr ( (ii11**, , ii11**** nullnull, , ii3232 11)) to to ii6464)))) [INFO] [stderr] [INFO] [stderr] callcall voidvoid @@GC_register_finalizerGC_register_finalizer((ii88** %%malloc1malloc1, , voidvoid ( (ii88**, , ii88**))** @@GC_finalizerGC_finalizer, , ii88* *null , nullvoid, (ivoid8 (*i, 8i*8, *i)8***) *null*, inull8, *i*8 *null*) [INFO] [stderr] null )% [INFO] [stderr] cast2 = %bitcastcast = ibitcast8 *i 8%*malloc1 to %%malloc1Char to *% [INFO] [stderr] Native__String *% [INFO] [stderr] " G%e"pG efpo rf otrh et hfei enladt i#v0e ovfa ltuhee ocfl atshse Cchlaars"s = getelementptrN inboundsa t%iCharv,e _%_CharS*t r%icast2n, gi"32 = getelementptr0 inbounds, i%32Native__String ,0 [INFO] [stderr] % Native__Stringstore* %%castNative__Char, *i 32% cast0, , %iNative__Char32* *0 [INFO] [stderr] % "storeG eip8 *f o%r" Ctahset ftioe ledl i#m0i noaft et hteh ec lsaiszse Cihnafro"" [INFO] [stderr] , i8ret* *% Char%*" G%ecast2p [INFO] [stderr] f} [INFO] [stderr] o [INFO] [stderr] r declaret he natinoaliasv ei 8v*a l@ueGC_malloc (oif64 the % 0c)la [INFO] [stderr] s [INFO] [stderr] sdeclare Nvoida t@iGC_finalizerv(ei_8_*St %r0i, nig8"* [INFO] [stderr] % 1)% [INFO] [stderr] malloc2 [INFO] [stderr] = declarecall voidi 8@*GC_register_finalizer (@iGC_malloc8(*i %640 , ptrtointvoid ( (ii18***, igetelementptr8 (*i)1** %, 1i, 1i*8** %null2, , ivoid32 ( i18)* to , ii648)*)) [INFO] [stderr] * *call % 3void, i@8*GC_register_finalizer*( %i48)* [INFO] [stderr] %malloc2, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast3 = bitcast i8* %malloc2 to %String* [INFO] [stderr] %"Gep for the field #0 of the class String" = getelementptr inbounds %String, %String* %cast3, i32 0, i32 0 [INFO] [stderr] store %Native__String* %cast, %Native__String** %"Gep for the field #0 of the class String" [INFO] [stderr] %malloc4 = call i8* @GC_malloc(i64 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i64)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc4, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast5 = bitcast i8* %malloc4 to %Native__Int* [INFO] [stderr] %"Gep for the native value of the class Native__Int" = getelementptr inbounds %Native__Int, %Native__Int* %cast5, i32 0, i32 0 [INFO] [stderr] store i64 1, i64* %"Gep for the native value of the class Native__Int" [INFO] [stderr] %malloc6 = call i8* @GC_malloc(i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc6, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast7 = bitcast i8* %malloc6 to %Int* [INFO] [stderr] %"Gep for the field #0 of the class Int" = getelementptr inbounds %Int, %Int* %cast7, i32 0, i32 0 [INFO] [stderr] store %Native__Int* %cast5, %Native__Int** %"Gep for the field #0 of the class Int" [INFO] [stderr] %malloc8 = call i8* @GC_malloc(i64 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i64)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc8, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast9 = bitcast i8* %malloc8 to %Native__Int* [INFO] [stderr] %"Gep for the native value of the class Native__Int10" = getelementptr inbounds %Native__Int, %Native__Int* %cast9, i32 0, i32 0 [INFO] [stderr] store i64 2, i64* %"Gep for the native value of the class Native__Int10" [INFO] [stderr] %malloc11 = call i8* @GC_malloc(i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc11, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast12 = bitcast i8* %malloc11 to %Int* [INFO] [stderr] %"Gep for the field #0 of the class Int13" = getelementptr inbounds %Int, %Int* %cast12, i32 0, i32 0 [INFO] [stderr] store %Native__Int* %cast9, %Native__Int** %"Gep for the field #0 of the class Int13" [INFO] [stderr] call void @lilit_user_space__println(%String* %cast3, %Int* %cast7, %Int* %cast12) [INFO] [stderr] ret void [INFO] [stderr] } [INFO] [stderr] [INFO] [stderr] attributes #0 = { nounwind } [INFO] [stderr] ; ModuleID = 'main' [INFO] [stderr] source_filename = "main" [INFO] [stderr] [INFO] [stderr] %Int = type {} [INFO] [stderr] %Test = type { %Int* } [INFO] [stderr] [INFO] [stderr] define %Int* @lilit_user_space__test(%Test* %0) { [INFO] [stderr] first_block: [INFO] [stderr] %"Param 0 of method test" = alloca %Test* [INFO] [stderr] store %Test* %0, %Test** %"Param 0 of method test" [INFO] [stderr] %"Read ptr into Test" = load %Test*, %Test** %"Param 0 of method test" [INFO] [stderr] %"Gep field 0 of Test" = getelementptr inbounds %Test, %Test* %"Read ptr into Test", i32 0, i32 0 [INFO] [stderr] %"Load field a for identifier -" = load %Int*, %Int** %"Gep field 0 of Test" [INFO] [stderr] ret %Int* %"Load field a for identifier -" [INFO] [stderr] } [INFO] [stderr] ; ModuleID = 'main' [INFO] [stderr] source_filename = "main" [INFO] [stderr] [INFO] [stderr] %Int = type { %Native__Int* } [INFO] [stderr] %Native__Int = type { i64 } [INFO] [stderr] [INFO] [stderr] define void @lilit_user_space__test() { [INFO] [stderr] first_block: [INFO] [stderr] %"alloca assignment" = alloca %Int* [INFO] [stderr] %malloc = call i8* @GC_malloc(i64 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i64)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast = bitcast i8* %malloc to %Native__Int* [INFO] [stderr] %"Gep for the native value of the class Native__Int" = getelementptr inbounds %Native__Int, %Native__Int* %cast, i32 0, i32 0 [INFO] [stderr] store i64 2, i64* %"Gep for the native value of the class Native__Int" [INFO] [stderr] %malloc1 = call i8* @GC_malloc(i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc1, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %cast2 = bitcast i8* %malloc1 to %Int* [INFO] [stderr] %"Gep for the field #0 of the class Int" = getelementptr inbounds %Int, %Int* %cast2, i32 0, i32 0 [INFO] [stderr] store %Native__Int* %cast, %Native__Int** %"Gep for the field #0 of the class Int" [INFO] [stderr] store %Int* %cast2, %Int** %"alloca assignment" [INFO] [stderr] ret void [INFO] [stderr] } [INFO] [stderr] [INFO] [stderr] declare noalias i8* @GC_malloc(i64 %0) [INFO] [stderr] [INFO] [stderr] declare void @GC_finalizer(i8* %0, i8* %1) [INFO] [stderr] [INFO] [stderr] declare void @GC_register_finalizer(i8* %0, void (i8*, i8*)* %1, i8* %2, void (i8*, i8*)** %3, i8** %4) [INFO] [stderr] ; ModuleID = 'main' [INFO] [stderr] source_filename = "main" [INFO] [stderr] [INFO] [stderr] %String = type { %Native__String* } [INFO] [stderr] %Native__String = type { i8* } [INFO] [stderr] %Int = type { %Native__Int* } [INFO] [stderr] %Native__Int = type { i64 } [INFO] [stderr] [INFO] [stderr] define void @native__printf(i8* %0) { [INFO] [stderr] first_block: [INFO] [stderr] call void @printf(i8* %0) [INFO] [stderr] ret void [INFO] [stderr] } [INFO] [stderr] [INFO] [stderr] declare void @printf(i8* %0) [INFO] [stderr] [INFO] [stderr] define void @lilit_user_space__println(%String* %0) { [INFO] [stderr] first_block: [INFO] [stderr] %"Param 0 of method println" = alloca %String* [INFO] [stderr] store %String* %0, %String** %"Param 0 of method println" [INFO] [stderr] %"Read ptr into String" = load %String*, %String** %"Param 0 of method println" [INFO] [stderr] %"Gep field 0 of String" = getelementptr inbounds %String, %String* %"Read ptr into String", i32 0, i32 0 [INFO] [stderr] %"Load field underlying for identifier underlying" = load %Native__String*, %Native__String** %"Gep field 0 of String" [INFO] [stderr] %"Gep the native value" = getelementptr inbounds %Native__String, %Native__String* %"Load field underlying for identifier underlying", i32 0, i32 0 [INFO] [stderr] %"Load the native value" = load i8*, i8** %"Gep the native value" [INFO] [stderr] call void @native__printf(i8* %"Load the native value") [INFO] [stderr] ret void [INFO] [stderr] } [INFO] [stderr] [INFO] [stderr] define %Int* @native__main() { [INFO] [stderr] first_block: [INFO] [stderr] %malloc = call i8* @GC_malloc(i64 mul nuw (i64 ptrtoint (i8* getelementptr (i8, i8* null, i32 1) to i64), i64 13)) [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stderr] %"Cast pointer to ArrayType" = bitcast i8* %malloc to [13 x i8]* [INFO] [stderr] %"Gep char 0 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 0 [INFO] [stderr] store i8 72, i8* %"Gep char 0 of string Hello world!" [INFO] [stderr] %"Gep char 1 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 1 [INFO] [stderr] store i8 101, i8* %"Gep char 1 of string Hello world!" [INFO] [stderr] %"Gep char 2 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 2 [INFO] [stderr] store i8 108, i8* %"Gep char 2 of string Hello world!" [INFO] [stderr] %"Gep char 3 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 3 [INFO] [stderr] store i8 108, i8* %"Gep char 3 of string Hello world!" [INFO] [stderr] %"Gep char 4 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 4 [INFO] [stderr] store i8 111, i8* %"Gep char 4 of string Hello world!" [INFO] [stderr] %"Gep char 5 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 5 [INFO] [stderr] store i8 32, i8* %"Gep char 5 of string Hello world!" [INFO] [stderr] %"Gep char 6 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 6 [INFO] [stderr] store i8 119, i8* %"Gep char 6 of string Hello world!" [INFO] [stderr] %"Gep char 7 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 7 [INFO] [stderr] store i8 111, i8* %"Gep char 7 of string Hello world!" [INFO] [stderr] %"Gep char 8 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 8 [INFO] [stderr] store i8 114, i8* %"Gep char 8 of string Hello world!" [INFO] [stderr] %"Gep char 9 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 9 [INFO] [stderr] store i8 108, i8* %"Gep char 9 of string Hello world!" [INFO] [stderr] %"Gep char 10 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 10 [INFO] [stderr] store i8 100, i8* %"Gep char 10 of string Hello world!" [INFO] [stderr] %"Gep char 11 of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 11 [INFO] [stderr] store i8 33, i8* %"Gep char 11 of string Hello world!" [INFO] [stderr] %"Gep the last position for the terminating symbol of string Hello world!" = getelementptr inbounds [13 x i8], [13 x i8]* %"Cast pointer to ArrayType", i32 0, i32 12 [INFO] [stderr] store i8 0, i8* %"Gep the last position for the terminating symbol of string Hello world!" [INFO] [stdout] test analyse::tests::test_full ... ok [INFO] [stderr] %"Cast to eliminate the size info" = bitcast [13 x i8]* %"Cast pointer to ArrayType" to i8* [INFO] [stdout] test analyse::expr::literal_string::tests::test_simple ... ok [INFO] [stderr] %malloc1 = call i8* @GC_malloc(i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64)) [INFO] [stdout] test analyse::expr::member_access::tests::test_simple ... ok [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc1, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stdout] test emit::expr::literal_char::tests::test_full ... ok [INFO] [stderr] %cast = bitcast i8* %malloc1 to %Native__String* [INFO] [stdout] test emit::expr::invoke::tests::test_full ... ok [INFO] [stderr] %"Gep for the native value of the class Native__String" = getelementptr inbounds %Native__String, %Native__String* %cast, i32 0, i32 0 [INFO] [stdout] test analyse::expr::identifier::tests::test_class_param ... ok [INFO] [stderr] store i8* %"Cast to eliminate the size info", i8** %"Gep for the native value of the class Native__String" [INFO] [stdout] test emit::expr::identifier::tests::test_simple ... ok [INFO] [stderr] %malloc2 = call i8* @GC_malloc(i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64)) [INFO] [stdout] test emit::expr::assignment::tests::test_full ... ok [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc2, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stdout] test analyse::expr::int::tests::test_simple ... ok [INFO] [stderr] %cast3 = bitcast i8* %malloc2 to %String* [INFO] [stdout] test analyse::expr::literal_char::tests::test_simple ... ok [INFO] [stderr] %"Gep for the field #0 of the class String" = getelementptr inbounds %String, %String* %cast3, i32 0, i32 0 [INFO] [stdout] test parse::def::params::tests::test_empty ... ok [INFO] [stderr] store %Native__String* %cast, %Native__String** %"Gep for the field #0 of the class String" [INFO] [stdout] test parse::expr::atom::invoke::tests::test_simple ... ok [INFO] [stderr] call void @lilit_user_space__println(%String* %cast3) [INFO] [stdout] test tokenize::tests::test_escaped_backslash_char ... ok [INFO] [stderr] %malloc4 = call i8* @GC_malloc(i64 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i64)) [INFO] [stdout] test parse::expr::atom::new_instance::tests::test_simple ... ok [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc4, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stdout] test parse::expr::level_010::tests::test_dot ... ok [INFO] [stderr] %cast5 = bitcast i8* %malloc4 to %Native__Int* [INFO] [stdout] test analyse::expr::invoke::tests::test_instance_method ... ok [INFO] [stderr] %"Gep for the native value of the class Native__Int" = getelementptr inbounds %Native__Int, %Native__Int* %cast5, i32 0, i32 0 [INFO] [stdout] test analyse::expr::assignment::tests::test_simple ... ok [INFO] [stderr] store i64 123, i64* %"Gep for the native value of the class Native__Int" [INFO] [stdout] test tokenize::tests::test_char ... ok [INFO] [stderr] %malloc6 = call i8* @GC_malloc(i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64)) [INFO] [stdout] test tokenize::tests::test_bit ... ok [INFO] [stderr] call void @GC_register_finalizer(i8* %malloc6, void (i8*, i8*)* @GC_finalizer, i8* null, void (i8*, i8*)** null, i8** null) [INFO] [stdout] test tokenize::tests::test_complex ... ok [INFO] [stderr] %cast7 = bitcast i8* %malloc6 to %Int* [INFO] [stdout] test tokenize::tests::test_escaped_backslash_string_3 ... ok [INFO] [stderr] %"Gep for the field #0 of the class Int" = getelementptr inbounds %Int, %Int* %cast7, i32 0, i32 0 [INFO] [stdout] test tokenize::tests::test_escaped_backslash_string_2 ... ok [INFO] [stderr] store %Native__Int* %cast5, %Native__Int** %"Gep for the field #0 of the class Int" [INFO] [stdout] test parse::def::params::tests::test_simple ... ok [INFO] [stderr] ret %Int* %cast7 [INFO] [stdout] test index::tests::test_simple ... ok [INFO] [stderr] } [INFO] [stdout] test tokenize::tests::test_empty_string ... ok [INFO] [stderr] [INFO] [stdout] test tokenize::tests::test_escaped_backslash_string ... ok [INFO] [stderr] declare noalias i8* @GC_malloc(i64 %0) [INFO] [stdout] test parse::def::method::tests::test_no_params ... ok [INFO] [stderr] [INFO] [stdout] test parse::def::class::tests::test_simple ... ok [INFO] [stderr] declare void @GC_finalizer(i8* %0, i8* %1) [INFO] [stdout] test parse::def::method::tests::test_with_params ... ok [INFO] [stderr] [INFO] [stdout] test emit::tests::test_full ... ok [INFO] [stderr] declare void @GC_register_finalizer(i8* %0, void (i8*, i8*)* %1, i8* %2, void (i8*, i8*)** %3, i8** %4) [INFO] [stdout] test analyse::tests::test_simple ... ok [INFO] [stderr] [INFO] [stdout] test parse::tests::test_simple ... ok [INFO] [stderr] define i32 @main(i32 %0, i8** %1) { [INFO] [stdout] test tokenize::tests::test_empty_char ... ok [INFO] [stderr] first_block: [INFO] [stderr] %main = call %Int* @native__main() [INFO] [stderr] %"Gep for the first param of Int" = getelementptr inbounds %Int, %Int* %main, i32 0, i32 0 [INFO] [stderr] %"Load the first param of Int" = load %Native__Int*, %Native__Int** %"Gep for the first param of Int" [INFO] [stderr] %"Gep for the first param of Native__Int" = getelementptr inbounds %Native__Int, %Native__Int* %"Load the first param of Int", i32 0, i32 0 [INFO] [stderr] %"Load the first param of Native__Int" = load i64, i64* %"Gep for the first param of Native__Int" [INFO] [stderr] %"Cast return type" = trunc i64 %"Load the first param of Native__Int" to i32 [INFO] [stderr] ret i32 %"Cast return type" [INFO] [stderr] } [INFO] [stdout] test tokenize::tests::test_string ... ok [INFO] [stdout] test tokenize::tests::test_word ... ok [INFO] [stdout] test tokenize::tests::test_float ... ok [INFO] [stdout] test tokenize::tests::test_hex ... ok [INFO] [stdout] test tokenize::tests::test_symbol ... ok [INFO] [stdout] test tokenize::tests::test_int ... ok [INFO] [stdout] test tokenize::tests::test_escaped_char ... ok [INFO] [stdout] test tokenize::tests::test_unicode ... ok [INFO] [stdout] test tokenize::tests::test_oneline_comment ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/lilit-d998120be74ecc20) [INFO] [stdout] [INFO] [stderr] Doc-tests lilit [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [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; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3e378862d933ece3e9abb8a932da964dc7400c662c8601e3dc2465c4ed617f2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e378862d933ece3e9abb8a932da964dc7400c662c8601e3dc2465c4ed617f2a", kill_on_drop: false }` [INFO] [stdout] 3e378862d933ece3e9abb8a932da964dc7400c662c8601e3dc2465c4ed617f2a