[INFO] updating cached repository dschenkelman/rust-jwt [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/dschenkelman/rust-jwt [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/dschenkelman/rust-jwt" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/dschenkelman/rust-jwt"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/dschenkelman/rust-jwt'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/dschenkelman/rust-jwt" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/dschenkelman/rust-jwt"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/dschenkelman/rust-jwt'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c06ce65498c65044ec758e78e3b2d3d465f8c5ba [INFO] sha for GitHub repo dschenkelman/rust-jwt: c06ce65498c65044ec758e78e3b2d3d465f8c5ba [INFO] validating manifest of dschenkelman/rust-jwt on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of dschenkelman/rust-jwt on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing dschenkelman/rust-jwt [INFO] finished frobbing dschenkelman/rust-jwt [INFO] frobbed toml for dschenkelman/rust-jwt written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/dschenkelman/rust-jwt/Cargo.toml [INFO] started frobbing dschenkelman/rust-jwt [INFO] finished frobbing dschenkelman/rust-jwt [INFO] frobbed toml for dschenkelman/rust-jwt written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/dschenkelman/rust-jwt/Cargo.toml [INFO] crate dschenkelman/rust-jwt already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/dschenkelman/rust-jwt/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Updating git repository `https://github.com/sfackler/rust-openssl.git` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/sfackler/rust-openssl.git` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking dschenkelman/rust-jwt against master#60960a260f7b5c695fd0717311d72ce62dd4eb43 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-1/master#60960a260f7b5c695fd0717311d72ce62dd4eb43:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/dschenkelman/rust-jwt:/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=forbid" "-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" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 4017d10d299a9502f642b7c3313ea5f920a1b7b9a825b9ace73ee28bf367d96e [INFO] running `"docker" "start" "-a" "4017d10d299a9502f642b7c3313ea5f920a1b7b9a825b9ace73ee28bf367d96e"` [INFO] [stderr] Compiling openssl v0.10.24 (https://github.com/sfackler/rust-openssl.git#0e2cd821) [INFO] [stderr] Compiling openssl-sys v0.9.48 (https://github.com/sfackler/rust-openssl.git#0e2cd821) [INFO] [stderr] Checking jwt v0.0.2 (/opt/crater/workdir) [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![license = "MIT"] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/54726 [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![license = "MIT"] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/54726 [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error: unknown format trait `s` [INFO] [stderr] --> src/jwt.rs:86:76 [INFO] [stderr] | [INFO] [stderr] 86 | return Err(format!("Unsupported algorithm {:s}. Only supports HS256.", header.alg)); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the only appropriate formatting traits are: [INFO] [stderr] - ``, which uses the `Display` trait [INFO] [stderr] - `?`, which uses the `Debug` trait [INFO] [stderr] - `e`, which uses the `LowerExp` trait [INFO] [stderr] - `E`, which uses the `UpperExp` trait [INFO] [stderr] - `o`, which uses the `Octal` trait [INFO] [stderr] - `p`, which uses the `Pointer` trait [INFO] [stderr] - `b`, which uses the `Binary` trait [INFO] [stderr] - `x`, which uses the `LowerHex` trait [INFO] [stderr] - `X`, which uses the `UpperHex` trait [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `crypto` in `openssl` [INFO] [stderr] --> src/jwt.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | use openssl::crypto::hash::{SHA256}; [INFO] [stderr] | ^^^^^^ could not find `crypto` in `openssl` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `crypto` in `openssl` [INFO] [stderr] --> src/jwt.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | use openssl::crypto::hmac::{HMAC}; [INFO] [stderr] | ^^^^^^ could not find `crypto` in `openssl` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `serialize::base64` [INFO] [stderr] --> src/jwt.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use serialize::base64::FromBase64; [INFO] [stderr] | ^^^^^^ could not find `base64` in `serialize` [INFO] [stderr] [INFO] [stderr] error: cannot find attribute macro `license` in this scope [INFO] [stderr] --> src/lib.rs:4:4 [INFO] [stderr] | [INFO] [stderr] 4 | #![license = "MIT"] [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find attribute macro `deriving` in this scope [INFO] [stderr] --> src/jwt.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | #[deriving(Default)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find attribute macro `deriving` in this scope [INFO] [stderr] --> src/jwt.rs:49:3 [INFO] [stderr] | [INFO] [stderr] 49 | #[deriving(Decodable)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `HMAC` in this scope [INFO] [stderr] --> src/jwt.rs:91:18 [INFO] [stderr] | [INFO] [stderr] 91 | let mut hmac = HMAC(SHA256, secret.as_bytes()); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `SHA256` in this scope [INFO] [stderr] --> src/jwt.rs:91:23 [INFO] [stderr] | [INFO] [stderr] 91 | let mut hmac = HMAC(SHA256, secret.as_bytes()); [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] warning: unused import: `SHA256` [INFO] [stderr] --> src/jwt.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | use openssl::crypto::hash::{SHA256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `HMAC` [INFO] [stderr] --> src/jwt.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | use openssl::crypto::hmac::{HMAC}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | extern crate libc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/lib.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | extern crate serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | extern crate serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | extern crate libc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use libc::time_t; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use serialize::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:55:22 [INFO] [stderr] | [INFO] [stderr] 55 | fn time(time: *mut time_t) -> time_t; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:55:33 [INFO] [stderr] | [INFO] [stderr] 55 | fn time(time: *mut time_t) -> time_t; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:68:94 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn validate_token(token: &str, secret: &str, expected_claims: &Option) -> Result{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | let header: Header = json::decode(header_json_str.as_slice()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:107:81 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn validate_claims(token: &str, expected_claims: &Option) -> Result{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:116:93 [INFO] [stderr] | [INFO] [stderr] 116 | fn internal_validate_claims(payload_part: &str, expected_claims: &Option) -> Result{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:124:28 [INFO] [stderr] | [INFO] [stderr] 124 | let json_payload = match json::from_str(claims_json_str){ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:183:43 [INFO] [stderr] | [INFO] [stderr] 183 | fn extract_value_for_string<'t>(this: &'t json::Json, prop: &str) -> Result, String>{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | ..Default::default() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | ..Default::default() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error: unknown format trait `s` [INFO] [stderr] --> src/jwt.rs:86:76 [INFO] [stderr] | [INFO] [stderr] 86 | return Err(format!("Unsupported algorithm {:s}. Only supports HS256.", header.alg)); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the only appropriate formatting traits are: [INFO] [stderr] - ``, which uses the `Display` trait [INFO] [stderr] - `?`, which uses the `Debug` trait [INFO] [stderr] - `e`, which uses the `LowerExp` trait [INFO] [stderr] - `E`, which uses the `UpperExp` trait [INFO] [stderr] - `o`, which uses the `Octal` trait [INFO] [stderr] - `p`, which uses the `Pointer` trait [INFO] [stderr] - `b`, which uses the `Binary` trait [INFO] [stderr] - `x`, which uses the `LowerHex` trait [INFO] [stderr] - `X`, which uses the `UpperHex` trait [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `crypto` in `openssl` [INFO] [stderr] --> src/jwt.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | use openssl::crypto::hash::{SHA256}; [INFO] [stderr] | ^^^^^^ could not find `crypto` in `openssl` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `crypto` in `openssl` [INFO] [stderr] --> src/jwt.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | use openssl::crypto::hmac::{HMAC}; [INFO] [stderr] | ^^^^^^ could not find `crypto` in `openssl` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `serialize::base64` [INFO] [stderr] --> src/jwt.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use serialize::base64::FromBase64; [INFO] [stderr] | ^^^^^^ could not find `base64` in `serialize` [INFO] [stderr] [INFO] [stderr] error: cannot find attribute macro `license` in this scope [INFO] [stderr] --> src/lib.rs:4:4 [INFO] [stderr] | [INFO] [stderr] 4 | #![license = "MIT"] [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find attribute macro `deriving` in this scope [INFO] [stderr] --> src/jwt.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | #[deriving(Default)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find attribute macro `deriving` in this scope [INFO] [stderr] --> src/jwt.rs:49:3 [INFO] [stderr] | [INFO] [stderr] 49 | #[deriving(Decodable)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&str` in the current scope [INFO] [stderr] --> src/jwt.rs:76:41 [INFO] [stderr] | [INFO] [stderr] 76 | let decoded_header_part = header_part.as_slice().from_base64().unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:79:7 [INFO] [stderr] | [INFO] [stderr] 78 | let header_json_str = match str::from_utf8(decoded_header_part.as_slice()) { [INFO] [stderr] | ---------------------------------------------- this match expression has type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] 79 | Some(e) => e, [INFO] [stderr] | ^^^^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:80:7 [INFO] [stderr] | [INFO] [stderr] 80 | None => return Err("Invalid UTF-8 sequence".to_string()), [INFO] [stderr] | ^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:211:5 [INFO] [stderr] | [INFO] [stderr] 211 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:237:5 [INFO] [stderr] | [INFO] [stderr] 237 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:250:5 [INFO] [stderr] | [INFO] [stderr] 250 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:284:5 [INFO] [stderr] | [INFO] [stderr] 284 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:296:5 [INFO] [stderr] | [INFO] [stderr] 296 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:308:5 [INFO] [stderr] | [INFO] [stderr] 308 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error: cannot determine resolution for the attribute macro `test` [INFO] [stderr] --> src/jwt.rs:320:5 [INFO] [stderr] | [INFO] [stderr] 320 | #[test] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: import resolution is stuck, try simplifying macro imports [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `HMAC` in this scope [INFO] [stderr] --> src/jwt.rs:91:18 [INFO] [stderr] | [INFO] [stderr] 91 | let mut hmac = HMAC(SHA256, secret.as_bytes()); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `SHA256` in this scope [INFO] [stderr] --> src/jwt.rs:91:23 [INFO] [stderr] | [INFO] [stderr] 91 | let mut hmac = HMAC(SHA256, secret.as_bytes()); [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] warning: unused import: `SHA256` [INFO] [stderr] --> src/jwt.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | use openssl::crypto::hash::{SHA256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `HMAC` [INFO] [stderr] --> src/jwt.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | use openssl::crypto::hmac::{HMAC}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `std::string::String` in the current scope [INFO] [stderr] --> src/jwt.rs:85:17 [INFO] [stderr] | [INFO] [stderr] 85 | if header.alg.as_slice() != "HS256"{ [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Header: serialize::UseSpecializedDecodable` is not satisfied [INFO] [stderr] --> src/jwt.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | let header: Header = json::decode(header_json_str.as_slice()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ the trait `serialize::UseSpecializedDecodable` is not implemented for `jwt::Header` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `serialize::Decodable` for `jwt::Header` [INFO] [stderr] = note: required by `serialize::json::decode` [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | extern crate libc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/lib.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | extern crate serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'test' [INFO] [stderr] --> src/lib.rs:10:14 [INFO] [stderr] | [INFO] [stderr] 10 | #[cfg(test)] extern crate test; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/50297 [INFO] [stderr] = help: add `#![feature(test)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | extern crate serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | extern crate libc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use libc::time_t; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use serialize::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:55:22 [INFO] [stderr] | [INFO] [stderr] 55 | fn time(time: *mut time_t) -> time_t; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:55:33 [INFO] [stderr] | [INFO] [stderr] 55 | fn time(time: *mut time_t) -> time_t; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:68:94 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn validate_token(token: &str, secret: &str, expected_claims: &Option) -> Result{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | let header: Header = json::decode(header_json_str.as_slice()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:107:81 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn validate_claims(token: &str, expected_claims: &Option) -> Result{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:116:93 [INFO] [stderr] | [INFO] [stderr] 116 | fn internal_validate_claims(payload_part: &str, expected_claims: &Option) -> Result{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:124:28 [INFO] [stderr] | [INFO] [stderr] 124 | let json_payload = match json::from_str(claims_json_str){ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:183:43 [INFO] [stderr] | [INFO] [stderr] 183 | fn extract_value_for_string<'t>(this: &'t json::Json, prop: &str) -> Result, String>{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&str` in the current scope [INFO] [stderr] --> src/jwt.rs:97:41 [INFO] [stderr] | [INFO] [stderr] 97 | let decoded_signature_part = parts[2].as_slice().from_base64().unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&str` in the current scope [INFO] [stderr] --> src/jwt.rs:117:42 [INFO] [stderr] | [INFO] [stderr] 117 | let decoded_claims_part = payload_part.as_slice().from_base64().unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 119 | let claims_json_str = match str::from_utf8(decoded_claims_part.as_slice()) { [INFO] [stderr] | ---------------------------------------------- this match expression has type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] 120 | Some(e) => e, [INFO] [stderr] | ^^^^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | None => return Err("Invalid UTF-8 sequence".to_string()), [INFO] [stderr] | ^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:139:32 [INFO] [stderr] | [INFO] [stderr] 139 | let exp = match json_payload.find(&"exp".to_string()){ [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:140:24 [INFO] [stderr] | [INFO] [stderr] 140 | Some(v) => match v.as_i64(){ [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:184:14 [INFO] [stderr] | [INFO] [stderr] 184 | match this.find(&prop.to_string()){ [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | Some(j) => match j.as_string(){ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&std::string::String` in the current scope [INFO] [stderr] --> src/jwt.rs:196:32 [INFO] [stderr] | [INFO] [stderr] 196 | if actual.is_some() && x.as_slice() != actual.unwrap(){ [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 40 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0425, E0432, E0433, E0599, E0658. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `jwt`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | ..Default::default() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | ..Default::default() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&str` in the current scope [INFO] [stderr] --> src/jwt.rs:76:41 [INFO] [stderr] | [INFO] [stderr] 76 | let decoded_header_part = header_part.as_slice().from_base64().unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:79:7 [INFO] [stderr] | [INFO] [stderr] 78 | let header_json_str = match str::from_utf8(decoded_header_part.as_slice()) { [INFO] [stderr] | ---------------------------------------------- this match expression has type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] 79 | Some(e) => e, [INFO] [stderr] | ^^^^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:80:7 [INFO] [stderr] | [INFO] [stderr] 80 | None => return Err("Invalid UTF-8 sequence".to_string()), [INFO] [stderr] | ^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `std::string::String` in the current scope [INFO] [stderr] --> src/jwt.rs:85:17 [INFO] [stderr] | [INFO] [stderr] 85 | if header.alg.as_slice() != "HS256"{ [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Header: serialize::UseSpecializedDecodable` is not satisfied [INFO] [stderr] --> src/jwt.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | let header: Header = json::decode(header_json_str.as_slice()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ the trait `serialize::UseSpecializedDecodable` is not implemented for `jwt::Header` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `serialize::Decodable` for `jwt::Header` [INFO] [stderr] = note: required by `serialize::json::decode` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&str` in the current scope [INFO] [stderr] --> src/jwt.rs:97:41 [INFO] [stderr] | [INFO] [stderr] 97 | let decoded_signature_part = parts[2].as_slice().from_base64().unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&str` in the current scope [INFO] [stderr] --> src/jwt.rs:117:42 [INFO] [stderr] | [INFO] [stderr] 117 | let decoded_claims_part = payload_part.as_slice().from_base64().unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 119 | let claims_json_str = match str::from_utf8(decoded_claims_part.as_slice()) { [INFO] [stderr] | ---------------------------------------------- this match expression has type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] 120 | Some(e) => e, [INFO] [stderr] | ^^^^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/jwt.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | None => return Err("Invalid UTF-8 sequence".to_string()), [INFO] [stderr] | ^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result<&str, std::str::Utf8Error>` [INFO] [stderr] found type `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:139:32 [INFO] [stderr] | [INFO] [stderr] 139 | let exp = match json_payload.find(&"exp".to_string()){ [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:140:24 [INFO] [stderr] | [INFO] [stderr] 140 | Some(v) => match v.as_i64(){ [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:184:14 [INFO] [stderr] | [INFO] [stderr] 184 | match this.find(&prop.to_string()){ [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | Some(j) => match j.as_string(){ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for type `&std::string::String` in the current scope [INFO] [stderr] --> src/jwt.rs:196:32 [INFO] [stderr] | [INFO] [stderr] 196 | if actual.is_some() && x.as_slice() != actual.unwrap(){ [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:259:28 [INFO] [stderr] | [INFO] [stderr] 259 | assert_eq!(payload.find(&"aud".to_string()).unwrap().as_string().unwrap().to_string(), "audience".to_string()); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:259:62 [INFO] [stderr] | [INFO] [stderr] 259 | assert_eq!(payload.find(&"aud".to_string()).unwrap().as_string().unwrap().to_string(), "audience".to_string()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:260:28 [INFO] [stderr] | [INFO] [stderr] 260 | assert_eq!(payload.find(&"iss".to_string()).unwrap().as_string().unwrap().to_string(), "issuer".to_string()); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:260:62 [INFO] [stderr] | [INFO] [stderr] 260 | assert_eq!(payload.find(&"iss".to_string()).unwrap().as_string().unwrap().to_string(), "issuer".to_string()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:261:28 [INFO] [stderr] | [INFO] [stderr] 261 | assert_eq!(payload.find(&"exp".to_string()).unwrap().as_i64().unwrap(), 9412912170i64); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:261:62 [INFO] [stderr] | [INFO] [stderr] 261 | assert_eq!(payload.find(&"exp".to_string()).unwrap().as_i64().unwrap(), 9412912170i64); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:276:28 [INFO] [stderr] | [INFO] [stderr] 276 | assert_eq!(payload.find(&"aud".to_string()).unwrap().as_string().unwrap().to_string(), "audience".to_string()); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:276:62 [INFO] [stderr] | [INFO] [stderr] 276 | assert_eq!(payload.find(&"aud".to_string()).unwrap().as_string().unwrap().to_string(), "audience".to_string()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:277:28 [INFO] [stderr] | [INFO] [stderr] 277 | assert_eq!(payload.find(&"iss".to_string()).unwrap().as_string().unwrap().to_string(), "issuer".to_string()); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:277:62 [INFO] [stderr] | [INFO] [stderr] 277 | assert_eq!(payload.find(&"iss".to_string()).unwrap().as_string().unwrap().to_string(), "issuer".to_string()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:278:28 [INFO] [stderr] | [INFO] [stderr] 278 | assert_eq!(payload.find(&"exp".to_string()).unwrap().as_i64().unwrap(), 9412912170i64); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? [INFO] [stderr] --> src/jwt.rs:278:62 [INFO] [stderr] | [INFO] [stderr] 278 | assert_eq!(payload.find(&"exp".to_string()).unwrap().as_i64().unwrap(), 9412912170i64); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, see https://github.com/rust-lang/rust/issues/27812 [INFO] [stderr] = help: add `#![feature(rustc_private)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:288:40 [INFO] [stderr] | [INFO] [stderr] 288 | let expected_claims: jwt::Claims = Default::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:300:40 [INFO] [stderr] | [INFO] [stderr] 300 | let expected_claims: jwt::Claims = Default::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:312:40 [INFO] [stderr] | [INFO] [stderr] 312 | let expected_claims: jwt::Claims = Default::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `jwt::Claims: std::default::Default` is not satisfied [INFO] [stderr] --> src/jwt.rs:324:40 [INFO] [stderr] | [INFO] [stderr] 324 | let expected_claims: jwt::Claims = Default::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `jwt::Claims` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error: aborting due to 66 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0425, E0432, E0433, E0599, E0658. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `jwt`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "4017d10d299a9502f642b7c3313ea5f920a1b7b9a825b9ace73ee28bf367d96e"` [INFO] running `"docker" "rm" "-f" "4017d10d299a9502f642b7c3313ea5f920a1b7b9a825b9ace73ee28bf367d96e"` [INFO] [stdout] 4017d10d299a9502f642b7c3313ea5f920a1b7b9a825b9ace73ee28bf367d96e