time: 0.000; rss: 60MB -> 62MB ( +2MB) parse_crate time: 0.000; rss: 62MB -> 62MB ( +0MB) attributes_injection time: 0.000; rss: 62MB -> 62MB ( +0MB) plugin_loading time: 0.000; rss: 62MB -> 62MB ( +0MB) plugin_registration time: 0.000; rss: 66MB -> 66MB ( +0MB) crate_injection time: 0.050; rss: 66MB -> 104MB ( +38MB) expand_crate time: 0.000; rss: 104MB -> 104MB ( +0MB) check_unused_macros time: 0.050; rss: 66MB -> 104MB ( +38MB) macro_expand_crate time: 0.000; rss: 104MB -> 104MB ( +0MB) maybe_building_test_harness time: 0.000; rss: 104MB -> 104MB ( +0MB) AST_validation time: 0.000; rss: 104MB -> 104MB ( +0MB) maybe_create_a_macro_crate time: 0.000; rss: 104MB -> 104MB ( +0MB) finalize_imports time: 0.000; rss: 104MB -> 104MB ( +0MB) resolve_access_levels time: 0.000; rss: 104MB -> 104MB ( +0MB) finalize_macro_resolutions time: 0.004; rss: 104MB -> 106MB ( +2MB) late_resolve_crate time: 0.000; rss: 106MB -> 106MB ( +0MB) resolve_main time: 0.000; rss: 106MB -> 106MB ( +0MB) resolve_check_unused time: 0.000; rss: 106MB -> 106MB ( +0MB) resolve_report_errors time: 0.000; rss: 106MB -> 106MB ( +0MB) resolve_postprocess time: 0.005; rss: 104MB -> 106MB ( +2MB) resolve_crate time: 0.000; rss: 106MB -> 106MB ( +0MB) complete_gated_feature_checking time: 0.056; rss: 62MB -> 106MB ( +43MB) configure_and_expand {"artifact":"/usr/home/liquid/tmp/.tmpxoD4w8/target/debug/deps/ascii-580a8dc1ba8eb473.d","emit":"dep-info"} time: 0.000; rss: 106MB -> 106MB ( +0MB) prepare_outputs time: 0.009; rss: 106MB -> 110MB ( +4MB) hir_lowering time: 0.001; rss: 110MB -> 110MB ( +0MB) early_lint_checks time: 0.001; rss: 110MB -> 110MB ( +0MB) drop_ast time: 0.000; rss: 110MB -> 110MB ( +0MB) setup_global_ctxt time: 0.000; rss: 113MB -> 113MB ( +0MB) looking_for_entry_point time: 0.000; rss: 113MB -> 113MB ( +0MB) looking_for_derive_registrar time: 0.003; rss: 113MB -> 113MB ( +0MB) misc_checking_1 time: 0.025; rss: 113MB -> 130MB ( +17MB) type_collecting time: 0.000; rss: 130MB -> 130MB ( +0MB) impl_wf_inference time: 0.000; rss: 130MB -> 130MB ( +0MB) unsafety_checking time: 0.014; rss: 130MB -> 152MB ( +22MB) coherence_checking time: 0.022; rss: 152MB -> 154MB ( +2MB) wf_checking time: 0.008; rss: 154MB -> 154MB ( +0MB) item_types_checking time: 0.071; rss: 154MB -> 159MB ( +5MB) item_bodies_checking time: 0.140; rss: 113MB -> 159MB ( +46MB) type_check_crate {"message":"pattern binding `a` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":6451,"byte_end":6452,"line_start":204,"line_end":204,"column_start":40,"column_end":41,"is_primary":true,"text":[{"text":" &self[self.chars().take_while(|a| a.is_whitespace()).count()..]","highlight_start":40,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(bindings_with_variant_name)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `a` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:204:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m204\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m &self[self.chars().take_while(|a| a.is_whitespace()).count()..]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(bindings_with_variant_name)]` on by default\u001b[0m\n\n"} {"message":"pattern binding `a` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":6901,"byte_end":6902,"line_start":218,"line_end":218,"column_start":26,"column_end":27,"is_primary":true,"text":[{"text":" .take_while(|a| a.is_whitespace())","highlight_start":26,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `a` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:218:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m218\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m .take_while(|a| a.is_whitespace())\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\n\n"} {"message":"pattern binding `a` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":7189,"byte_end":7190,"line_start":226,"line_end":226,"column_start":51,"column_end":52,"is_primary":true,"text":[{"text":" self.chars().zip(other.chars()).all(|(a, b)| {","highlight_start":51,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `a` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:226:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m226\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m self.chars().zip(other.chars()).all(|(a, b)| {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\n\n"} {"message":"pattern binding `b` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":7192,"byte_end":7193,"line_start":226,"line_end":226,"column_start":54,"column_end":55,"is_primary":true,"text":[{"text":" self.chars().zip(other.chars()).all(|(a, b)| {","highlight_start":54,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `b` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:226:54\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m226\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m self.chars().zip(other.chars()).all(|(a, b)| {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\n\n"} {"message":"pattern binding `a` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":7388,"byte_end":7389,"line_start":233,"line_end":233,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" for a in self.chars_mut() {","highlight_start":13,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"to match on the variant, qualify the path","code":null,"level":"help","spans":[{"file_name":"src/ascii_str.rs","byte_start":7388,"byte_end":7389,"line_start":233,"line_end":233,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" for a in self.chars_mut() {","highlight_start":13,"highlight_end":14}],"label":null,"suggested_replacement":"AsciiChar::a","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `a` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:233:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m233\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m for a in self.chars_mut() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: to match on the variant, qualify the path: `AsciiChar::a`\u001b[0m\n\n"} {"message":"pattern binding `a` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":7595,"byte_end":7596,"line_start":240,"line_end":240,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" for a in self.chars_mut() {","highlight_start":13,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"to match on the variant, qualify the path","code":null,"level":"help","spans":[{"file_name":"src/ascii_str.rs","byte_start":7595,"byte_end":7596,"line_start":240,"line_end":240,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" for a in self.chars_mut() {","highlight_start":13,"highlight_end":14}],"label":null,"suggested_replacement":"AsciiChar::a","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `a` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:240:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m240\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m for a in self.chars_mut() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: to match on the variant, qualify the path: `AsciiChar::a`\u001b[0m\n\n"} {"message":"pattern binding `c` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":17046,"byte_end":17047,"line_start":614,"line_end":614,"column_start":52,"column_end":53,"is_primary":true,"text":[{"text":" if let Some(at) = self.chars.position(|c| c == split_on) {","highlight_start":52,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `c` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:614:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m614\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m if let Some(at) = self.chars.position(|c| c == split_on) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\n\n"} {"message":"pattern binding `c` is named the same as one of the variants of the type `AsciiChar`","code":{"code":"E0170","explanation":"A pattern binding is using the same name as one of the variants of a type.\n\nErroneous code example:\n\n```compile_fail,E0170\n# #![deny(warnings)]\nenum Method {\n GET,\n POST,\n}\n\nfn is_empty(s: Method) -> bool {\n match s {\n GET => true,\n _ => false\n }\n}\n\nfn main() {}\n```\n\nEnum variants are qualified by default. For example, given this type:\n\n```\nenum Method {\n GET,\n POST,\n}\n```\n\nYou would match it using:\n\n```\nenum Method {\n GET,\n POST,\n}\n\nlet m = Method::GET;\n\nmatch m {\n Method::GET => {},\n Method::POST => {},\n}\n```\n\nIf you don't qualify the names, the code will bind new variables named \"GET\" and\n\"POST\" instead. This behavior is likely not what you want, so `rustc` warns when\nthat happens.\n\nQualified names are good practice, and most code works well with them. But if\nyou prefer them unqualified, you can import the variants into scope:\n\n```\nuse Method::*;\nenum Method { GET, POST }\n# fn main() {}\n```\n\nIf you want others to be able to import variants from your module directly, use\n`pub use`:\n\n```\npub use Method::*;\npub enum Method { GET, POST }\n# fn main() {}\n```\n"},"level":"warning","spans":[{"file_name":"src/ascii_str.rs","byte_start":17519,"byte_end":17520,"line_start":630,"line_end":630,"column_start":53,"column_end":54,"is_primary":true,"text":[{"text":" if let Some(at) = self.chars.rposition(|c| c == split_on) {","highlight_start":53,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0170]\u001b[0m\u001b[0m\u001b[1m: pattern binding `c` is named the same as one of the variants of the type `AsciiChar`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ascii_str.rs:630:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m630\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m if let Some(at) = self.chars.rposition(|c| c == split_on) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\n\n"} time: 0.008; rss: 159MB -> 165MB ( +6MB) match_checking time: 0.001; rss: 165MB -> 165MB ( +0MB) liveness_and_intrinsic_checking time: 0.010; rss: 159MB -> 165MB ( +6MB) misc_checking_2 time: 0.070; rss: 165MB -> 168MB ( +3MB) MIR_borrow_checking time: 0.001; rss: 168MB -> 168MB ( +0MB) MIR_effect_checking time: 0.000; rss: 168MB -> 168MB ( +0MB) layout_testing time: 0.001; rss: 168MB -> 168MB ( +0MB) death_checking time: 0.000; rss: 168MB -> 168MB ( +0MB) unused_lib_feature_checking time: 0.006; rss: 168MB -> 169MB ( +1MB) crate_lints time: 0.001; rss: 169MB -> 169MB ( +0MB) module_lints time: 0.007; rss: 168MB -> 169MB ( +1MB) lint_checking time: 0.003; rss: 169MB -> 169MB ( +0MB) privacy_checking_modules time: 0.013; rss: 168MB -> 169MB ( +1MB) misc_checking_3 time: 0.004; rss: 169MB -> 171MB ( +2MB) generate_crate_metadata {"artifact":"/usr/home/liquid/tmp/.tmpxoD4w8/target/debug/deps/libascii-580a8dc1ba8eb473.rmeta","emit":"metadata"} time: 0.001; rss: 171MB -> 171MB ( +0MB) codegen_crate time: 0.000; rss: 171MB -> 171MB ( +0MB) serialize_dep_graph time: 0.005; rss: 171MB -> 117MB ( -54MB) free_global_ctxt time: 0.000; rss: 117MB -> 117MB ( +0MB) join_worker_thread time: 0.000; rss: 117MB -> 117MB ( +0MB) finish_ongoing_codegen time: 0.000; rss: 117MB -> 117MB ( +0MB) llvm_dump_timing_file time: 0.000; rss: 117MB -> 117MB ( +0MB) serialize_work_products time: 0.000; rss: 117MB -> 117MB ( +0MB) link_binary_check_files_are_writeable time: 0.000; rss: 117MB -> 117MB ( +0MB) link_binary_remove_temps time: 0.000; rss: 117MB -> 117MB ( +0MB) link_binary time: 0.000; rss: 117MB -> 117MB ( +0MB) link_crate time: 0.000; rss: 117MB -> 117MB ( +0MB) link {"message":"8 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 8 warnings emitted\u001b[0m\n\n"} {"message":"For more information about this error, try `rustc --explain E0170`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0170`.\u001b[0m\n"} time: 0.322; rss: 46MB -> 115MB ( +69MB) total