[INFO] crate rustr 0.1.9 is already in cache [INFO] testing rustr-0.1.9 against 1.38.0 for beta-1.39-1 [INFO] extracting crate rustr 0.1.9 into work/builds/worker-0/source [INFO] validating manifest of crates.io crate rustr 0.1.9 on toolchain 1.38.0 [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate rustr 0.1.9 [INFO] finished tweaking crates.io crate rustr 0.1.9 [INFO] tweaked toml for crates.io crate rustr 0.1.9 written to work/builds/worker-0/source/Cargo.toml [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.38.0" "build" "--frozen"` [INFO] [stdout] 70af4e5cb51b299914e92671c12684cb8cce10cb5314ea7c4636008e55a781f6 [INFO] running `"docker" "start" "-a" "70af4e5cb51b299914e92671c12684cb8cce10cb5314ea7c4636008e55a781f6"` [INFO] [stderr] Compiling rustr v0.1.9 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/rtype.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | /// ////////////VECTOR BEGIN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 56 | CHARSXP => RTypeEnum::CHAR, [INFO] [stderr] | -------------------------- rustdoc does not generate documentation for match arms [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/rtype.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | /// ///////////VECTOR END [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 67 | DOTSXP => RTypeEnum::DOT, [INFO] [stderr] | ------------------------ rustdoc does not generate documentation for match arms [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/storage.rs:69:33 [INFO] [stderr] | [INFO] [stderr] 69 | unsafe { Ok(Rf_inherits((self.data), class.as_ptr()) == Rboolean::TRUE) } [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/storage.rs:76:46 [INFO] [stderr] | [INFO] [stderr] 76 | self.data = rustr_replace_object((self.data), x); [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/storage.rs:149:33 [INFO] [stderr] | [INFO] [stderr] 149 | unsafe { Ok(Rf_inherits((self.data), class.as_ptr()) == Rboolean::TRUE) } [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `error::*` [INFO] [stderr] --> src/traits/attr.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use error::*; [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/grow.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn pairlist(xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [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/grow.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | let head: &Args = match it.next() { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:46:24 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn language(xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn pairlist1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:55:36 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn pairlist1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:58:16 [INFO] [stderr] | [INFO] [stderr] 58 | let head: &Args = match it.next() { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:93:23 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn language1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:93:36 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn language1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlang.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(x: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:72:32 [INFO] [stderr] | [INFO] [stderr] 72 | fn cause(&self) -> Option<&Error> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:87:18 [INFO] [stderr] | [INFO] [stderr] 87 | $($x(Box)),* [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error+Send+Sync` [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:88:91 [INFO] [stderr] | [INFO] [stderr] 88 | ,UnknownError(String), UnreachableError(String), ForceStopError(String),Other(Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error+Send+Sync` [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:156:27 [INFO] [stderr] | [INFO] [stderr] 156 | where E: Into> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:168:23 [INFO] [stderr] | [INFO] [stderr] 168 | where E: Into> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:182:23 [INFO] [stderr] | [INFO] [stderr] 182 | where E: Into> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rfunction.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn eval(&self, args: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rfunction.rs:81:55 [INFO] [stderr] | [INFO] [stderr] 81 | args: &[&Args], [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/error.rs:77:31 [INFO] [stderr] | [INFO] [stderr] 77 | Other(ref c) => c.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/error.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | |* => c.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused import: `storage` [INFO] [stderr] --> src/traits/rfield.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use storage::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `storage` [INFO] [stderr] --> src/grow.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use storage::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/traits/mod.rs:47:25 [INFO] [stderr] | [INFO] [stderr] 47 | fn set_s(&mut self, X: SEXP); [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.79s [INFO] running `"docker" "inspect" "70af4e5cb51b299914e92671c12684cb8cce10cb5314ea7c4636008e55a781f6"` [INFO] running `"docker" "rm" "-f" "70af4e5cb51b299914e92671c12684cb8cce10cb5314ea7c4636008e55a781f6"` [INFO] [stdout] 70af4e5cb51b299914e92671c12684cb8cce10cb5314ea7c4636008e55a781f6 [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.38.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 56b25fb47e1095689ff941193ba23d4b18c1d2a480d5008c1c418ffea026b268 [INFO] running `"docker" "start" "-a" "56b25fb47e1095689ff941193ba23d4b18c1d2a480d5008c1c418ffea026b268"` [INFO] [stderr] Compiling rustr v0.1.9 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/rtype.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | /// ////////////VECTOR BEGIN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 56 | CHARSXP => RTypeEnum::CHAR, [INFO] [stderr] | -------------------------- rustdoc does not generate documentation for match arms [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/rtype.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | /// ///////////VECTOR END [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 67 | DOTSXP => RTypeEnum::DOT, [INFO] [stderr] | ------------------------ rustdoc does not generate documentation for match arms [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/examples/engine-c9d983cc7f173aa2.engine.7sngtgdb-cgu.0.rcgu.o" "/opt/rustwide/target/debug/examples/engine-c9d983cc7f173aa2.engine.7sngtgdb-cgu.1.rcgu.o" "/opt/rustwide/target/debug/examples/engine-c9d983cc7f173aa2.engine.7sngtgdb-cgu.2.rcgu.o" "/opt/rustwide/target/debug/examples/engine-c9d983cc7f173aa2.engine.7sngtgdb-cgu.3.rcgu.o" "/opt/rustwide/target/debug/examples/engine-c9d983cc7f173aa2.engine.7sngtgdb-cgu.4.rcgu.o" "-o" "/opt/rustwide/target/debug/examples/engine-c9d983cc7f173aa2" "/opt/rustwide/target/debug/examples/engine-c9d983cc7f173aa2.4y92xs5n0lsdqri4.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/librustr-13160a3e97524486.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-12ce12f1efc08aa3.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5d3cd1b3ddab72e4.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-f8222943dfd167e2.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-0cd00b2d3108cd48.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-485c05ba6ce1b438.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-63e6b1072426ba59.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-a421aff1d43911ee.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-3deef8ef4fe80dff.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-f65a176f0586269e.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-ad46d4080f4d7e57.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-da6c590582bf0885.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-837ca740df32db0a.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-db27c965e824589f.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-68a4f8466685ed76.rlib" "-Wl,-Bdynamic" "-lR" "-lR" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lR [INFO] [stderr] /usr/bin/ld: cannot find -lR [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rustr`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/storage.rs:69:33 [INFO] [stderr] | [INFO] [stderr] 69 | unsafe { Ok(Rf_inherits((self.data), class.as_ptr()) == Rboolean::TRUE) } [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/storage.rs:76:46 [INFO] [stderr] | [INFO] [stderr] 76 | self.data = rustr_replace_object((self.data), x); [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/storage.rs:149:33 [INFO] [stderr] | [INFO] [stderr] 149 | unsafe { Ok(Rf_inherits((self.data), class.as_ptr()) == Rboolean::TRUE) } [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `error::*` [INFO] [stderr] --> src/traits/attr.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use error::*; [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/grow.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn pairlist(xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [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/grow.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | let head: &Args = match it.next() { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:46:24 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn language(xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn pairlist1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:55:36 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn pairlist1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:58:16 [INFO] [stderr] | [INFO] [stderr] 58 | let head: &Args = match it.next() { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:93:23 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn language1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grow.rs:93:36 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn language1(hd: &Args, xs: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlang.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(x: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:72:32 [INFO] [stderr] | [INFO] [stderr] 72 | fn cause(&self) -> Option<&Error> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:87:18 [INFO] [stderr] | [INFO] [stderr] 87 | $($x(Box)),* [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error+Send+Sync` [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:88:91 [INFO] [stderr] | [INFO] [stderr] 88 | ,UnknownError(String), UnreachableError(String), ForceStopError(String),Other(Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error+Send+Sync` [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:156:27 [INFO] [stderr] | [INFO] [stderr] 156 | where E: Into> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:168:23 [INFO] [stderr] | [INFO] [stderr] 168 | where E: Into> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:182:23 [INFO] [stderr] | [INFO] [stderr] 182 | where E: Into> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rfunction.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn eval(&self, args: &[&Args]) -> RResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rfunction.rs:81:55 [INFO] [stderr] | [INFO] [stderr] 81 | args: &[&Args], [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Args` [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/libtests_engine-015bb7752a049893.libtests_engine.7206hzrr-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/libtests_engine-015bb7752a049893.libtests_engine.7206hzrr-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/libtests_engine-015bb7752a049893.libtests_engine.7206hzrr-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/libtests_engine-015bb7752a049893.libtests_engine.7206hzrr-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/libtests_engine-015bb7752a049893.libtests_engine.7206hzrr-cgu.4.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/libtests_engine-015bb7752a049893" "/opt/rustwide/target/debug/deps/libtests_engine-015bb7752a049893.372euc5lace4sy33.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-8b6fbd25e1766083.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-bd8f21e3bdd6cbdc.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-bfcad117c6a632af.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-79a1f91e8ce4eb83.rlib" "/opt/rustwide/target/debug/deps/librustr-13160a3e97524486.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-12ce12f1efc08aa3.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5d3cd1b3ddab72e4.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-f8222943dfd167e2.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-0cd00b2d3108cd48.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-485c05ba6ce1b438.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-63e6b1072426ba59.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-a421aff1d43911ee.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-3deef8ef4fe80dff.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-f65a176f0586269e.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-ad46d4080f4d7e57.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-da6c590582bf0885.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-837ca740df32db0a.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-db27c965e824589f.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-68a4f8466685ed76.rlib" "-Wl,-Bdynamic" "-lR" "-lR" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lR [INFO] [stderr] /usr/bin/ld: cannot find -lR [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rustr`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/error.rs:77:31 [INFO] [stderr] | [INFO] [stderr] 77 | Other(ref c) => c.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/error.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | |* => c.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 94 | / gen_fmt!(Interrupted, [INFO] [stderr] 95 | | NotAMatrix, [INFO] [stderr] 96 | | IndexOutOfBounds, [INFO] [stderr] 97 | | ParseError, [INFO] [stderr] ... | [INFO] [stderr] 117 | | FunctionNotExported, [INFO] [stderr] 118 | | EvalError); [INFO] [stderr] | |____________________- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused import: `storage` [INFO] [stderr] --> src/traits/rfield.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use storage::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `storage` [INFO] [stderr] --> src/grow.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use storage::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/traits/mod.rs:47:25 [INFO] [stderr] | [INFO] [stderr] 47 | fn set_s(&mut self, X: SEXP); [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/rustr-25e5964de4b2b3d7.rustr.1jtw1pq8-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rustr-25e5964de4b2b3d7.rustr.1jtw1pq8-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/rustr-25e5964de4b2b3d7.rustr.1jtw1pq8-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/rustr-25e5964de4b2b3d7.rustr.1jtw1pq8-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/rustr-25e5964de4b2b3d7.rustr.1jtw1pq8-cgu.4.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/rustr-25e5964de4b2b3d7" "/opt/rustwide/target/debug/deps/rustr-25e5964de4b2b3d7.2bm2lnycmqwtpnpf.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lR" "-lR" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-8b6fbd25e1766083.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-bd8f21e3bdd6cbdc.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-bfcad117c6a632af.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-79a1f91e8ce4eb83.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-12ce12f1efc08aa3.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5d3cd1b3ddab72e4.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-f8222943dfd167e2.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-0cd00b2d3108cd48.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-485c05ba6ce1b438.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-63e6b1072426ba59.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-a421aff1d43911ee.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-3deef8ef4fe80dff.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-f65a176f0586269e.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-ad46d4080f4d7e57.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-da6c590582bf0885.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-837ca740df32db0a.rlib" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-db27c965e824589f.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.38.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-68a4f8466685ed76.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lR [INFO] [stderr] /usr/bin/ld: cannot find -lR [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rustr`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "56b25fb47e1095689ff941193ba23d4b18c1d2a480d5008c1c418ffea026b268"` [INFO] running `"docker" "rm" "-f" "56b25fb47e1095689ff941193ba23d4b18c1d2a480d5008c1c418ffea026b268"` [INFO] [stdout] 56b25fb47e1095689ff941193ba23d4b18c1d2a480d5008c1c418ffea026b268