[INFO] fetching crate frender-macros 1.0.0-alpha.8...
[INFO] testing frender-macros-1.0.0-alpha.8 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate frender-macros 1.0.0-alpha.8 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate frender-macros 1.0.0-alpha.8
[INFO] finished tweaking crates.io crate frender-macros 1.0.0-alpha.8
[INFO] tweaked toml for crates.io crate frender-macros 1.0.0-alpha.8 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate frender-macros 1.0.0-alpha.8 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 16 packages to latest compatible versions
[INFO] [stderr]       Adding darling v0.13.4 (available: v0.21.3)
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.110)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 261b1efd385eb196842b4d545b91e5d35b8dcb78bb85eb97851e5d6e3a46642c
[INFO] running `Command { std: "docker" "start" "-a" "261b1efd385eb196842b4d545b91e5d35b8dcb78bb85eb97851e5d6e3a46642c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "261b1efd385eb196842b4d545b91e5d35b8dcb78bb85eb97851e5d6e3a46642c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "261b1efd385eb196842b4d545b91e5d35b8dcb78bb85eb97851e5d6e3a46642c", kill_on_drop: false }`
[INFO] [stdout] 261b1efd385eb196842b4d545b91e5d35b8dcb78bb85eb97851e5d6e3a46642c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c557f43304061a841a33e9d5425238f44ace4b67276d33151973585a77eddac
[INFO] running `Command { std: "docker" "start" "-a" "8c557f43304061a841a33e9d5425238f44ace4b67276d33151973585a77eddac", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling frender-macros v1.0.0-alpha.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `to_tokens::*`
[INFO] [stdout]  --> src/custom_element/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use to_tokens::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren_token` is never read
[INFO] [stdout]   --> src/component_data.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ComponentItemFnSignature {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub paren_token: syn::token::Paren,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_option_value_result` is never used
[INFO] [stdout]   --> src/err.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub trait OutputError {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn into_option_value_result<T>(self, v: T) -> Result<T, (Option<T>, Self::OutputError)>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `brace_token` is never read
[INFO] [stdout]    --> src/props_data.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct PropsFields {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 119 |     pub brace_token: syn::token::Brace,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]    --> src/props_data.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct PropsFieldBuilder {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 183 |     pub generics: syn::Generics,
[INFO] [stdout] 184 |     pub paren: syn::token::Paren,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropsFieldBuilder` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_required_field` and `is_required` are never used
[INFO] [stdout]    --> src/props_to_tokens.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 374 | impl<'a> PropsFieldImpl<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] 375 |     #[inline]
[INFO] [stdout] 376 |     pub fn as_required_field(&self) -> Option<&Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn is_required(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slash` and `start_gt` are never read
[INFO] [stdout]   --> src/rsx_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     No {
[INFO] [stdout]    |     -- fields in this variant
[INFO] [stdout] 15 |         slash: syn::Token![/],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |         start_gt: syn::Token![>],
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `end_lt`, `end_slash`, `end_component_type`, and `end_gt` are never read
[INFO] [stdout]   --> src/rsx_data.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Yes {
[INFO] [stdout]    |     --- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 22 |         end_lt: syn::Token![<],
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |         end_slash: syn::Token![/],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 24 |         end_component_type: RsxEndElementComponentType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |         end_gt: syn::Token![>],
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `eq` is never read
[INFO] [stdout]    --> src/rsx_data.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct RsxPropValue {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub eq: syn::Token![=],
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `brace` is never read
[INFO] [stdout]    --> src/rsx_data.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     BracedExpr {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 342 |         brace: syn::token::Brace,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/case.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<str> {
[INFO] [stdout]   |                              ^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<'_, str> {
[INFO] [stdout]   |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/props_to_tokens.rs:305:23
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl>> {
[INFO] [stdout]     |                       ^^^^^                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl<'_>>> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/props_to_tokens.rs:394:20
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo<'_> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.97s
[INFO] running `Command { std: "docker" "inspect" "8c557f43304061a841a33e9d5425238f44ace4b67276d33151973585a77eddac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c557f43304061a841a33e9d5425238f44ace4b67276d33151973585a77eddac", kill_on_drop: false }`
[INFO] [stdout] 8c557f43304061a841a33e9d5425238f44ace4b67276d33151973585a77eddac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 450e6e6f5b9941d50a26c5e90732be0290fdcb3e5de0abf306d5d53c0e4e9f9e
[INFO] running `Command { std: "docker" "start" "-a" "450e6e6f5b9941d50a26c5e90732be0290fdcb3e5de0abf306d5d53c0e4e9f9e", kill_on_drop: false }`
[INFO] [stderr]    Compiling frender-macros v1.0.0-alpha.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `to_tokens::*`
[INFO] [stdout]  --> src/custom_element/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use to_tokens::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_tokens::*`
[INFO] [stdout]  --> src/custom_element/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use to_tokens::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren_token` is never read
[INFO] [stdout]   --> src/component_data.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ComponentItemFnSignature {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub paren_token: syn::token::Paren,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_option_value_result` is never used
[INFO] [stdout]   --> src/err.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub trait OutputError {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn into_option_value_result<T>(self, v: T) -> Result<T, (Option<T>, Self::OutputError)>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `brace_token` is never read
[INFO] [stdout]    --> src/props_data.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct PropsFields {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 119 |     pub brace_token: syn::token::Brace,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]    --> src/props_data.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct PropsFieldBuilder {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 183 |     pub generics: syn::Generics,
[INFO] [stdout] 184 |     pub paren: syn::token::Paren,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropsFieldBuilder` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_required_field` and `is_required` are never used
[INFO] [stdout]    --> src/props_to_tokens.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 374 | impl<'a> PropsFieldImpl<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] 375 |     #[inline]
[INFO] [stdout] 376 |     pub fn as_required_field(&self) -> Option<&Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn is_required(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slash` and `start_gt` are never read
[INFO] [stdout]   --> src/rsx_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     No {
[INFO] [stdout]    |     -- fields in this variant
[INFO] [stdout] 15 |         slash: syn::Token![/],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |         start_gt: syn::Token![>],
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `end_lt`, `end_slash`, `end_component_type`, and `end_gt` are never read
[INFO] [stdout]   --> src/rsx_data.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Yes {
[INFO] [stdout]    |     --- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 22 |         end_lt: syn::Token![<],
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |         end_slash: syn::Token![/],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 24 |         end_component_type: RsxEndElementComponentType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |         end_gt: syn::Token![>],
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `eq` is never read
[INFO] [stdout]    --> src/rsx_data.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct RsxPropValue {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub eq: syn::Token![=],
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `brace` is never read
[INFO] [stdout]    --> src/rsx_data.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     BracedExpr {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 342 |         brace: syn::token::Brace,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/case.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<str> {
[INFO] [stdout]   |                              ^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<'_, str> {
[INFO] [stdout]   |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/props_to_tokens.rs:305:23
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl>> {
[INFO] [stdout]     |                       ^^^^^                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl<'_>>> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/props_to_tokens.rs:394:20
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo<'_> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren_token` is never read
[INFO] [stdout]   --> src/component_data.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ComponentItemFnSignature {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub paren_token: syn::token::Paren,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_option_value_result` is never used
[INFO] [stdout]   --> src/err.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub trait OutputError {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn into_option_value_result<T>(self, v: T) -> Result<T, (Option<T>, Self::OutputError)>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `brace_token` is never read
[INFO] [stdout]    --> src/props_data.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct PropsFields {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 119 |     pub brace_token: syn::token::Brace,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]    --> src/props_data.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct PropsFieldBuilder {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 183 |     pub generics: syn::Generics,
[INFO] [stdout] 184 |     pub paren: syn::token::Paren,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropsFieldBuilder` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_required_field` and `is_required` are never used
[INFO] [stdout]    --> src/props_to_tokens.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 374 | impl<'a> PropsFieldImpl<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] 375 |     #[inline]
[INFO] [stdout] 376 |     pub fn as_required_field(&self) -> Option<&Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn is_required(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slash` and `start_gt` are never read
[INFO] [stdout]   --> src/rsx_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     No {
[INFO] [stdout]    |     -- fields in this variant
[INFO] [stdout] 15 |         slash: syn::Token![/],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |         start_gt: syn::Token![>],
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `end_lt`, `end_slash`, `end_component_type`, and `end_gt` are never read
[INFO] [stdout]   --> src/rsx_data.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Yes {
[INFO] [stdout]    |     --- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 22 |         end_lt: syn::Token![<],
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |         end_slash: syn::Token![/],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 24 |         end_component_type: RsxEndElementComponentType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |         end_gt: syn::Token![>],
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `eq` is never read
[INFO] [stdout]    --> src/rsx_data.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct RsxPropValue {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub eq: syn::Token![=],
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `brace` is never read
[INFO] [stdout]    --> src/rsx_data.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     BracedExpr {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 342 |         brace: syn::token::Brace,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/case.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<str> {
[INFO] [stdout]   |                              ^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<'_, str> {
[INFO] [stdout]   |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/props_to_tokens.rs:305:23
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl>> {
[INFO] [stdout]     |                       ^^^^^                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl<'_>>> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/props_to_tokens.rs:394:20
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo<'_> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.99s
[INFO] running `Command { std: "docker" "inspect" "450e6e6f5b9941d50a26c5e90732be0290fdcb3e5de0abf306d5d53c0e4e9f9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "450e6e6f5b9941d50a26c5e90732be0290fdcb3e5de0abf306d5d53c0e4e9f9e", kill_on_drop: false }`
[INFO] [stdout] 450e6e6f5b9941d50a26c5e90732be0290fdcb3e5de0abf306d5d53c0e4e9f9e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0ec055312972ab4124c8767d04bdf8c1e96d1cc29743d3f7fe628ab0142db012
[INFO] running `Command { std: "docker" "start" "-a" "0ec055312972ab4124c8767d04bdf8c1e96d1cc29743d3f7fe628ab0142db012", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `to_tokens::*`
[INFO] [stderr]  --> src/custom_element/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use to_tokens::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `paren_token` is never read
[INFO] [stderr]   --> src/component_data.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct ComponentItemFnSignature {
[INFO] [stderr]    |            ------------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub paren_token: syn::token::Paren,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `into_option_value_result` is never used
[INFO] [stderr]   --> src/err.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub trait OutputError {
[INFO] [stderr]    |           ----------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 77 |     fn into_option_value_result<T>(self, v: T) -> Result<T, (Option<T>, Self::OutputError)>
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `brace_token` is never read
[INFO] [stderr]    --> src/props_data.rs:119:9
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub struct PropsFields {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] 119 |     pub brace_token: syn::token::Brace,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `paren` is never read
[INFO] [stderr]    --> src/props_data.rs:184:9
[INFO] [stderr]     |
[INFO] [stderr] 182 | pub struct PropsFieldBuilder {
[INFO] [stderr]     |            ----------------- field in this struct
[INFO] [stderr] 183 |     pub generics: syn::Generics,
[INFO] [stderr] 184 |     pub paren: syn::token::Paren,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PropsFieldBuilder` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `as_required_field` and `is_required` are never used
[INFO] [stderr]    --> src/props_to_tokens.rs:376:12
[INFO] [stderr]     |
[INFO] [stderr] 374 | impl<'a> PropsFieldImpl<'a> {
[INFO] [stderr]     | --------------------------- methods in this implementation
[INFO] [stderr] 375 |     #[inline]
[INFO] [stderr] 376 |     pub fn as_required_field(&self) -> Option<&Self> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 390 |     pub fn is_required(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `slash` and `start_gt` are never read
[INFO] [stderr]   --> src/rsx_data.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     No {
[INFO] [stderr]    |     -- fields in this variant
[INFO] [stderr] 15 |         slash: syn::Token![/],
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 16 |         start_gt: syn::Token![>],
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `end_lt`, `end_slash`, `end_component_type`, and `end_gt` are never read
[INFO] [stderr]   --> src/rsx_data.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     Yes {
[INFO] [stderr]    |     --- fields in this variant
[INFO] [stderr] ...
[INFO] [stderr] 22 |         end_lt: syn::Token![<],
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 23 |         end_slash: syn::Token![/],
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 24 |         end_component_type: RsxEndElementComponentType,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 25 |         end_gt: syn::Token![>],
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `eq` is never read
[INFO] [stderr]    --> src/rsx_data.rs:306:9
[INFO] [stderr]     |
[INFO] [stderr] 301 | pub struct RsxPropValue {
[INFO] [stderr]     |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 306 |     pub eq: syn::Token![=],
[INFO] [stderr]     |         ^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `brace` is never read
[INFO] [stderr]    --> src/rsx_data.rs:342:9
[INFO] [stderr]     |
[INFO] [stderr] 341 |     BracedExpr {
[INFO] [stderr]     |     ---------- field in this variant
[INFO] [stderr] 342 |         brace: syn::token::Brace,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]  --> src/case.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<str> {
[INFO] [stderr]   |                              ^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |                              |
[INFO] [stderr]   |                              the lifetime is elided here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn snake_to_camel(value: &str) -> std::borrow::Cow<'_, str> {
[INFO] [stderr]   |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/props_to_tokens.rs:305:23
[INFO] [stderr]     |
[INFO] [stderr] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl>> {
[INFO] [stderr]     |                       ^^^^^                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 305 |     fn to_fields_impl(&self) -> syn::Result<Vec<PropsFieldImpl<'_>>> {
[INFO] [stderr]     |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/props_to_tokens.rs:394:20
[INFO] [stderr]     |
[INFO] [stderr] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo {
[INFO] [stderr]     |                    ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 394 |     pub fn to_info(&self, props_ident: &syn::Ident) -> PropsFieldInfo<'_> {
[INFO] [stderr]     |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `frender-macros` (lib) generated 13 warnings (run `cargo fix --lib -p frender-macros` to apply 4 suggestions)
[INFO] [stderr] warning: `frender-macros` (lib test) generated 13 warnings (13 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/frender_macros-e0e6af2fd6e74a6e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests frender_macros
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/props_to_tokens.rs - props_to_tokens::PropsFieldInfo::builder_init (line 364) ... ignored
[INFO] [stdout] test src/props_to_tokens.rs - props_to_tokens::PropsFieldInfo::builder_type_param (line 351) ... ignored
[INFO] [stdout] test src/props_to_tokens.rs - props_to_tokens::PropsFieldInfo::builder_type_param (line 358) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0ec055312972ab4124c8767d04bdf8c1e96d1cc29743d3f7fe628ab0142db012", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ec055312972ab4124c8767d04bdf8c1e96d1cc29743d3f7fe628ab0142db012", kill_on_drop: false }`
[INFO] [stdout] 0ec055312972ab4124c8767d04bdf8c1e96d1cc29743d3f7fe628ab0142db012
