{"config":{"output_file":null,"full_docs":false,"pub_only":true,"reachable_only":false,"distro_crate":true,"signatures":false,"borrow_data":false},"version":"0.19.1","compilation":{"directory":"/rustc/1.63.0/vendor/memchr-2.4.1","program":"/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2/bin/rustc","arguments":["--crate-name","memchr","--edition=2018","/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","--error-format=json","--json=diagnostic-rendered-ansi,artifacts,future-incompat","--crate-type","lib","--emit=dep-info,metadata,link","-C","opt-level=3","-C","embed-bitcode=no","-C","codegen-units=1","-C","debuginfo=0","--cfg","feature=\"compiler_builtins\"","--cfg","feature=\"core\"","--cfg","feature=\"rustc-dep-of-std\"","-Zunstable-options","--check-cfg","names()","--check-cfg","values()","-C","metadata=1c96d5c7f25c5299","-C","extra-filename=-1c96d5c7f25c5299","--out-dir","/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2-std/wasm32-wasi/release/deps","--target","wasm32-wasi","-L","dependency=/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2-std/wasm32-wasi/release/deps","-L","dependency=/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2-std/release/deps","--extern","compiler_builtins=/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2-std/wasm32-wasi/release/deps/libcompiler_builtins-e9eebb430fae8f14.rmeta","--extern","core=/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2-std/wasm32-wasi/release/deps/librustc_std_workspace_core-91a1f38ea31ee519.rmeta","--cap-lints","allow","-Csymbol-mangling-version=legacy","-Zunstable-options","-Zunstable-options","--check-cfg=values(bootstrap)","--check-cfg=values(stdarch_intel_sde)","--check-cfg=values(no_fp_fmt_parse)","--check-cfg=values(no_global_oom_handling)","--check-cfg=values(freebsd12)","--check-cfg=values(backtrace_in_libstd)","--check-cfg=values(target_env,\"libnx\")","--check-cfg=values(target_os,\"watchos\")","--check-cfg=values(target_arch,\"asmjs\",\"spirv\",\"nvptx\",\"nvptx64\",\"le32\",\"xtensa\")","--check-cfg=values(dont_compile_me)","-Zmacro-backtrace","-Csplit-debuginfo=off","-Zsave-analysis","-Cprefer-dynamic","-L","native=/usr/share/wasi-sysroot/lib/wasm32-wasi","-Cembed-bitcode=yes","-Zcrate-attr=doc(html_root_url=\"https://doc.rust-lang.org/1.63.0/\")","-Z","binary-dep-depinfo","-Wrust_2018_idioms","-Wunused_lifetimes","-Wsemicolon_in_expressions_from_macros","--sysroot","/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2","-Z","force-unstable-if-unmarked"],"output":"/build/rust/src/rustc-1.63.0-src/build/i686-unknown-linux-gnu/stage2-std/wasm32-wasi/release/deps/libmemchr-1c96d5c7f25c5299.rmeta"},"prelude":{"crate_id":{"name":"memchr","disambiguator":[9890266582408623762,0]},"crate_root":"/rustc/1.63.0/vendor/memchr-2.4.1/src","external_crates":[{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","num":1,"id":{"name":"rustc_std_workspace_core","disambiguator":[13151603066660874175,0]}},{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","num":2,"id":{"name":"core","disambiguator":[15718059978005919351,0]}},{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","num":3,"id":{"name":"compiler_builtins","disambiguator":[4153947655189721061,0]}}],"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":0,"byte_end":6586,"line_start":1,"line_end":181,"column_start":1,"column_end":11}},"imports":[{"kind":"Use","ref_id":{"krate":0,"index":206},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6348,"byte_end":6354,"line_start":172,"line_end":172,"column_start":5,"column_end":11},"alias_span":null,"name":"memchr","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":208},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6356,"byte_end":6363,"line_start":172,"line_end":172,"column_start":13,"column_end":20},"alias_span":null,"name":"memchr2","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":201},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6365,"byte_end":6377,"line_start":172,"line_end":172,"column_start":22,"column_end":34},"alias_span":null,"name":"memchr2_iter","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":210},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6379,"byte_end":6386,"line_start":172,"line_end":172,"column_start":36,"column_end":43},"alias_span":null,"name":"memchr3","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":202},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6388,"byte_end":6400,"line_start":172,"line_end":172,"column_start":45,"column_end":57},"alias_span":null,"name":"memchr3_iter","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":200},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6402,"byte_end":6413,"line_start":172,"line_end":172,"column_start":59,"column_end":70},"alias_span":null,"name":"memchr_iter","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":212},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6419,"byte_end":6426,"line_start":173,"line_end":173,"column_start":5,"column_end":12},"alias_span":null,"name":"memrchr","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":214},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6428,"byte_end":6436,"line_start":173,"line_end":173,"column_start":14,"column_end":22},"alias_span":null,"name":"memrchr2","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":204},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6438,"byte_end":6451,"line_start":173,"line_end":173,"column_start":24,"column_end":37},"alias_span":null,"name":"memrchr2_iter","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":216},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6453,"byte_end":6461,"line_start":173,"line_end":173,"column_start":39,"column_end":47},"alias_span":null,"name":"memrchr3","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":205},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6463,"byte_end":6476,"line_start":173,"line_end":173,"column_start":49,"column_end":62},"alias_span":null,"name":"memrchr3_iter","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":203},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6478,"byte_end":6490,"line_start":173,"line_end":173,"column_start":64,"column_end":76},"alias_span":null,"name":"memrchr_iter","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":136},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6496,"byte_end":6502,"line_start":174,"line_end":174,"column_start":5,"column_end":11},"alias_span":null,"name":"Memchr","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":152},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6504,"byte_end":6511,"line_start":174,"line_end":174,"column_start":13,"column_end":20},"alias_span":null,"name":"Memchr2","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":169},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6513,"byte_end":6520,"line_start":174,"line_end":174,"column_start":22,"column_end":29},"alias_span":null,"name":"Memchr3","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":136},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9302,"byte_end":9308,"line_start":3,"line_end":3,"column_start":22,"column_end":28},"alias_span":null,"name":"Memchr","value":"","parent":{"krate":0,"index":67}},{"kind":"Use","ref_id":{"krate":0,"index":152},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9310,"byte_end":9317,"line_start":3,"line_end":3,"column_start":30,"column_end":37},"alias_span":null,"name":"Memchr2","value":"","parent":{"krate":0,"index":67}},{"kind":"Use","ref_id":{"krate":0,"index":169},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9319,"byte_end":9326,"line_start":3,"line_end":3,"column_start":39,"column_end":46},"alias_span":null,"name":"Memchr3","value":"","parent":{"krate":0,"index":67}},{"kind":"Use","ref_id":{"krate":0,"index":478},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":39744,"byte_end":39753,"line_start":69,"line_end":69,"column_start":26,"column_end":35},"alias_span":null,"name":"Prefilter","value":"","parent":{"krate":0,"index":218}}],"defs":[{"kind":"Mod","id":{"krate":0,"index":0},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":0,"byte_end":6586,"line_start":1,"line_end":181,"column_start":1,"column_end":11},"name":"","qualname":"::","value":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","parent":null,"children":[{"krate":0,"index":1},{"krate":0,"index":2},{"krate":0,"index":3},{"krate":0,"index":4},{"krate":0,"index":5},{"krate":0,"index":8},{"krate":0,"index":11},{"krate":0,"index":14},{"krate":0,"index":17},{"krate":0,"index":20},{"krate":0,"index":23},{"krate":0,"index":26},{"krate":0,"index":29},{"krate":0,"index":32},{"krate":0,"index":35},{"krate":0,"index":38},{"krate":0,"index":41},{"krate":0,"index":44},{"krate":0,"index":47},{"krate":0,"index":50},{"krate":0,"index":67},{"krate":0,"index":218}],"decl_id":null,"docs":"This library provides heavily optimized routines for string search primitives.","sig":null,"attributes":[{"value":"*\nThis library provides heavily optimized routines for string search primitives.\n\n# Overview\n\nThis section gives a brief high level overview of what this crate offers.\n\n* The top-level module provides routines for searching for 1, 2 or 3 bytes\n  in the forward or reverse direction. When searching for more than one byte,\n  positions are considered a match if the byte at that position matches any\n  of the bytes.\n* The [`memmem`] sub-module provides forward and reverse substring search\n  routines.\n\nIn all such cases, routines operate on `&[u8]` without regard to encoding. This\nis exactly what you want when searching either UTF-8 or arbitrary bytes.\n\n# Example: using `memchr`\n\nThis example shows how to use `memchr` to find the first occurrence of `z` in\na haystack:\n\n```\nuse memchr::memchr;\n\nlet haystack = b\"foo bar baz quuz\";\nassert_eq!(Some(10), memchr(b'z', haystack));\n```\n\n# Example: matching one of three possible bytes\n\nThis examples shows how to use `memrchr3` to find occurrences of `a`, `b` or\n`c`, starting at the end of the haystack.\n\n```\nuse memchr::memchr3_iter;\n\nlet haystack = b\"xyzaxyzbxyzc\";\n\nlet mut it = memchr3_iter(b'a', b'b', b'c', haystack).rev();\nassert_eq!(Some(11), it.next());\nassert_eq!(Some(7), it.next());\nassert_eq!(Some(3), it.next());\nassert_eq!(None, it.next());\n```\n\n# Example: iterating over substring matches\n\nThis example shows how to use the [`memmem`] sub-module to find occurrences of\na substring in a haystack.\n\n```\nuse memchr::memmem;\n\nlet haystack = b\"foo bar foo baz foo\";\n\nlet mut it = memmem::find_iter(haystack, \"foo\");\nassert_eq!(Some(0), it.next());\nassert_eq!(Some(8), it.next());\nassert_eq!(Some(16), it.next());\nassert_eq!(None, it.next());\n```\n\n# Example: repeating a search for the same needle\n\nIt may be possible for the overhead of constructing a substring searcher to be\nmeasurable in some workloads. In cases where the same needle is used to search\nmany haystacks, it is possible to do construction once and thus to avoid it for\nsubsequent searches. This can be done with a [`memmem::Finder`]:\n\n```\nuse memchr::memmem;\n\nlet finder = memmem::Finder::new(\"foo\");\n\nassert_eq!(Some(4), finder.find(b\"baz foo quux\"));\nassert_eq!(None, finder.find(b\"quux baz bar\"));\n```\n\n# Why use this crate?\n\nAt first glance, the APIs provided by this crate might seem weird. Why provide\na dedicated routine like `memchr` for something that could be implemented\nclearly and trivially in one line:\n\n```\nfn memchr(needle: u8, haystack: &[u8]) -> Option<usize> {\n    haystack.iter().position(|&b| b == needle)\n}\n```\n\nOr similarly, why does this crate provide substring search routines when Rust's\ncore library already provides them?\n\n```\nfn search(haystack: &str, needle: &str) -> Option<usize> {\n    haystack.find(needle)\n}\n```\n\nThe primary reason for both of them to exist is performance. When it comes to\nperformance, at a high level at least, there are two primary ways to look at\nit:\n\n* **Throughput**: For this, think about it as, \"given some very large haystack\n  and a byte that never occurs in that haystack, how long does it take to\n  search through it and determine that it, in fact, does not occur?\"\n* **Latency**: For this, think about it as, \"given a tiny haystack---just a\n  few bytes---how long does it take to determine if a byte is in it?\"\n\nThe `memchr` routine in this crate has _slightly_ worse latency than the\nsolution presented above, however, its throughput can easily be over an\norder of magnitude faster. This is a good general purpose trade off to make.\nYou rarely lose, but often gain big.\n\n**NOTE:** The name `memchr` comes from the corresponding routine in libc. A key\nadvantage of using this library is that its performance is not tied to its\nquality of implementation in the libc you happen to be using, which can vary\ngreatly from platform to platform.\n\nBut what about substring search? This one is a bit more complicated. The\nprimary reason for its existence is still indeed performance, but it's also\nuseful because Rust's core library doesn't actually expose any substring\nsearch routine on arbitrary bytes. The only substring search routine that\nexists works exclusively on valid UTF-8.\n\nSo if you have valid UTF-8, is there a reason to use this over the standard\nlibrary substring search routine? Yes. This routine is faster on almost every\nmetric, including latency. The natural question then, is why isn't this\nimplementation in the standard library, even if only for searching on UTF-8?\nThe reason is that the implementation details for using SIMD in the standard\nlibrary haven't quite been worked out yet.\n\n**NOTE:** Currently, only `x86_64` targets have highly accelerated\nimplementations of substring search. For `memchr`, all targets have\nsomewhat-accelerated implementations, while only `x86_64` targets have highly\naccelerated implementations. This limitation is expected to be lifted once the\nstandard library exposes a platform independent SIMD API.\n\n# Crate features\n\n* **std** - When enabled (the default), this will permit this crate to use\n  features specific to the standard library. Currently, the only thing used\n  from the standard library is runtime SIMD CPU feature detection. This means\n  that this feature must be enabled to get AVX accelerated routines. When\n  `std` is not enabled, this crate will still attempt to use SSE2 accelerated\n  routines on `x86_64`.\n* **libc** - When enabled (**not** the default), this library will use your\n  platform's libc implementation of `memchr` (and `memrchr` on Linux). This\n  can be useful on non-`x86_64` targets where the fallback implementation in\n  this crate is not as good as the one found in your libc. All other routines\n  (e.g., `memchr[23]` and substring search) unconditionally use the\n  implementation in this crate.\n*/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":0,"byte_end":5778,"line_start":1,"line_end":154,"column_start":1,"column_end":3}},{"value":"deny(missing_docs)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":5780,"byte_end":5802,"line_start":156,"line_end":156,"column_start":1,"column_end":23}},{"value":"no_std","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":5837,"byte_end":5843,"line_start":157,"line_end":157,"column_start":35,"column_end":41}}]},{"kind":"Struct","id":{"krate":0,"index":446},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7041,"byte_end":7049,"line_start":10,"line_end":10,"column_start":12,"column_end":20},"name":"CowBytes","qualname":"::cow::CowBytes","value":"","parent":null,"children":[],"decl_id":null,"docs":" A specialized copy-on-write byte string.","sig":null,"attributes":[{"value":"/ A specialized copy-on-write byte string.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":6659,"byte_end":6703,"line_start":3,"line_end":3,"column_start":1,"column_end":45}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":6704,"byte_end":6707,"line_start":4,"line_end":4,"column_start":1,"column_end":4}},{"value":"/ The purpose of this type is to permit usage of a \"borrowed or owned","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":6708,"byte_end":6779,"line_start":5,"line_end":5,"column_start":1,"column_end":72}},{"value":"/ byte string\" in a way that keeps std/no-std compatibility. That is, in","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":6780,"byte_end":6854,"line_start":6,"line_end":6,"column_start":1,"column_end":75}},{"value":"/ no-std mode, this type devolves into a simple &[u8] with no owned variant","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":6855,"byte_end":6932,"line_start":7,"line_end":7,"column_start":1,"column_end":78}},{"value":"/ available. We can't just use a plain Cow because Cow is not in core.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":6933,"byte_end":7005,"line_start":8,"line_end":8,"column_start":1,"column_end":73}}]},{"kind":"Method","id":{"krate":0,"index":57},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7522,"byte_end":7527,"line_start":30,"line_end":30,"column_start":8,"column_end":13},"name":"deref","qualname":"<CowBytes as rustc_std_workspace_core::ops::Deref>::deref","value":"fn deref(&Self) -> &[u8]","parent":{"krate":2,"index":3398},"children":[],"decl_id":{"krate":2,"index":3400},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7497,"byte_end":7514,"line_start":29,"line_end":29,"column_start":5,"column_end":22}}]},{"kind":"Method","id":{"krate":0,"index":60},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7676,"byte_end":7679,"line_start":38,"line_end":38,"column_start":12,"column_end":15},"name":"new","qualname":"<CowBytes>::new","value":"fn new<B>(&'a B) -> CowBytes where B: ?Sized + AsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Create a new borrowed CowBytes.\n","sig":null,"attributes":[{"value":"/ Create a new borrowed CowBytes.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7607,"byte_end":7642,"line_start":36,"line_end":36,"column_start":5,"column_end":40}},{"value":"inline(always)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7647,"byte_end":7664,"line_start":37,"line_end":37,"column_start":5,"column_end":22}}]},{"kind":"Method","id":{"krate":0,"index":62},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8134,"byte_end":8142,"line_start":52,"line_end":52,"column_start":12,"column_end":20},"name":"as_slice","qualname":"<CowBytes>::as_slice","value":"fn as_slice(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" Return a borrowed byte string, regardless of whether this is an owned\n or borrowed byte string internally.\n","sig":null,"attributes":[{"value":"/ Return a borrowed byte string, regardless of whether this is an owned","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7983,"byte_end":8056,"line_start":49,"line_end":49,"column_start":5,"column_end":78}},{"value":"/ or borrowed byte string internally.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8061,"byte_end":8100,"line_start":50,"line_end":50,"column_start":5,"column_end":44}},{"value":"inline(always)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8105,"byte_end":8122,"line_start":51,"line_end":51,"column_start":5,"column_end":22}}]},{"kind":"Method","id":{"krate":0,"index":65},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8885,"byte_end":8888,"line_start":79,"line_end":79,"column_start":12,"column_end":15},"name":"new","qualname":"<Imp>::new","value":"fn new(&'a [u8]) -> Imp","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"cfg(not(feature = \"std\"))","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8823,"byte_end":8851,"line_start":77,"line_end":77,"column_start":5,"column_end":33}},{"value":"inline(always)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8856,"byte_end":8873,"line_start":78,"line_end":78,"column_start":5,"column_end":22}}]},{"kind":"Method","id":{"krate":0,"index":66},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":9208,"byte_end":9216,"line_start":94,"line_end":94,"column_start":12,"column_end":20},"name":"as_slice","qualname":"<Imp>::as_slice","value":"fn as_slice(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"cfg(not(feature = \"std\"))","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":9146,"byte_end":9174,"line_start":92,"line_end":92,"column_start":5,"column_end":33}},{"value":"inline(always)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":9179,"byte_end":9196,"line_start":93,"line_end":93,"column_start":5,"column_end":22}}]},{"kind":"Mod","id":{"krate":0,"index":81},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"fallback","qualname":"::memchr::fallback","value":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","parent":null,"children":[{"krate":0,"index":82},{"krate":0,"index":83},{"krate":0,"index":86},{"krate":0,"index":89},{"krate":0,"index":90},{"krate":0,"index":91},{"krate":0,"index":96},{"krate":0,"index":97},{"krate":0,"index":99},{"krate":0,"index":101},{"krate":0,"index":103},{"krate":0,"index":105},{"krate":0,"index":107},{"krate":0,"index":109},{"krate":0,"index":111},{"krate":0,"index":113}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(dead_code)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9425,"byte_end":9444,"line_start":8,"line_end":8,"column_start":1,"column_end":20}}]},{"kind":"Function","id":{"krate":0,"index":97},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":22700,"byte_end":22706,"line_start":46,"line_end":46,"column_start":8,"column_end":14},"name":"memchr","qualname":"::memchr::fallback::memchr","value":"fn memchr(u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":99},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":24111,"byte_end":24118,"line_start":85,"line_end":85,"column_start":8,"column_end":15},"name":"memchr2","qualname":"::memchr::fallback::memchr2","value":"fn memchr2(u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memchr`, but searches for two bytes instead of one.\n","sig":null,"attributes":[{"value":"/ Like `memchr`, but searches for two bytes instead of one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":24042,"byte_end":24103,"line_start":84,"line_end":84,"column_start":1,"column_end":62}}]},{"kind":"Function","id":{"krate":0,"index":101},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":25531,"byte_end":25538,"line_start":125,"line_end":125,"column_start":8,"column_end":15},"name":"memchr3","qualname":"::memchr::fallback::memchr3","value":"fn memchr3(u8, u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memchr`, but searches for three bytes instead of one.\n","sig":null,"attributes":[{"value":"/ Like `memchr`, but searches for three bytes instead of one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":25460,"byte_end":25523,"line_start":124,"line_end":124,"column_start":1,"column_end":64}}]},{"kind":"Function","id":{"krate":0,"index":103},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":27119,"byte_end":27126,"line_start":168,"line_end":168,"column_start":8,"column_end":15},"name":"memrchr","qualname":"::memchr::fallback::memrchr","value":"fn memrchr(u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Return the last index matching the byte `x` in `text`.\n","sig":null,"attributes":[{"value":"/ Return the last index matching the byte `x` in `text`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":27053,"byte_end":27111,"line_start":167,"line_end":167,"column_start":1,"column_end":59}}]},{"kind":"Function","id":{"krate":0,"index":105},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":28524,"byte_end":28532,"line_start":206,"line_end":206,"column_start":8,"column_end":16},"name":"memrchr2","qualname":"::memchr::fallback::memrchr2","value":"fn memrchr2(u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memrchr`, but searches for two bytes instead of one.\n","sig":null,"attributes":[{"value":"/ Like `memrchr`, but searches for two bytes instead of one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":28454,"byte_end":28516,"line_start":205,"line_end":205,"column_start":1,"column_end":63}}]},{"kind":"Function","id":{"krate":0,"index":107},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":29930,"byte_end":29938,"line_start":245,"line_end":245,"column_start":8,"column_end":16},"name":"memrchr3","qualname":"::memchr::fallback::memrchr3","value":"fn memrchr3(u8, u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memrchr`, but searches for three bytes instead of one.\n","sig":null,"attributes":[{"value":"/ Like `memrchr`, but searches for three bytes instead of one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/fallback.rs","byte_start":29858,"byte_end":29922,"line_start":244,"line_end":244,"column_start":1,"column_end":65}}]},{"kind":"Struct","id":{"krate":0,"index":136},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33573,"byte_end":33579,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"name":"Memchr","qualname":"::memchr::iter::Memchr","value":"Memchr {  }","parent":null,"children":[{"krate":0,"index":138},{"krate":0,"index":139},{"krate":0,"index":140}],"decl_id":null,"docs":" An iterator for `memchr`.\n","sig":null,"attributes":[{"value":"/ An iterator for `memchr`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33532,"byte_end":33561,"line_start":33,"line_end":33,"column_start":1,"column_end":30}}]},{"kind":"Method","id":{"krate":0,"index":143},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33830,"byte_end":33833,"line_start":45,"line_end":45,"column_start":12,"column_end":15},"name":"new","qualname":"<Memchr>::new","value":"fn new(u8, &[u8]) -> Memchr","parent":null,"children":[],"decl_id":null,"docs":" Creates a new iterator that yields all positions of needle in haystack.\n","sig":null,"attributes":[{"value":"/ Creates a new iterator that yields all positions of needle in haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33729,"byte_end":33804,"line_start":43,"line_end":43,"column_start":5,"column_end":80}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33809,"byte_end":33818,"line_start":44,"line_end":44,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":147},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34035,"byte_end":34039,"line_start":54,"line_end":54,"column_start":8,"column_end":12},"name":"next","qualname":"<Memchr as rustc_std_workspace_core::iter::Iterator>::next","value":"fn next(&mut Self) -> Option<usize>","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8483},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34018,"byte_end":34027,"line_start":53,"line_end":53,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":148},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34159,"byte_end":34168,"line_start":59,"line_end":59,"column_start":8,"column_end":17},"name":"size_hint","qualname":"<Memchr as rustc_std_workspace_core::iter::Iterator>::size_hint","value":"fn size_hint(&Self) -> (usize, Option<usize>)","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8484},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34142,"byte_end":34151,"line_start":58,"line_end":58,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":151},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34319,"byte_end":34328,"line_start":66,"line_end":66,"column_start":8,"column_end":17},"name":"next_back","qualname":"<Memchr as rustc_std_workspace_core::iter::DoubleEndedIterator>::next_back","value":"fn next_back(&mut Self) -> Option<Self::Item>","parent":{"krate":2,"index":8330},"children":[],"decl_id":{"krate":2,"index":8331},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34302,"byte_end":34311,"line_start":65,"line_end":65,"column_start":5,"column_end":14}}]},{"kind":"Struct","id":{"krate":0,"index":152},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34482,"byte_end":34489,"line_start":72,"line_end":72,"column_start":12,"column_end":19},"name":"Memchr2","qualname":"::memchr::iter::Memchr2","value":"Memchr2 {  }","parent":null,"children":[{"krate":0,"index":154},{"krate":0,"index":155},{"krate":0,"index":156},{"krate":0,"index":157}],"decl_id":null,"docs":" An iterator for `memchr2`.\n","sig":null,"attributes":[{"value":"/ An iterator for `memchr2`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34440,"byte_end":34470,"line_start":71,"line_end":71,"column_start":1,"column_end":31}}]},{"kind":"Method","id":{"krate":0,"index":160},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34759,"byte_end":34762,"line_start":84,"line_end":84,"column_start":12,"column_end":15},"name":"new","qualname":"<Memchr2>::new","value":"fn new(u8, u8, &[u8]) -> Memchr2","parent":null,"children":[],"decl_id":null,"docs":" Creates a new iterator that yields all positions of needle in haystack.\n","sig":null,"attributes":[{"value":"/ Creates a new iterator that yields all positions of needle in haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34658,"byte_end":34733,"line_start":82,"line_end":82,"column_start":5,"column_end":80}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34738,"byte_end":34747,"line_start":83,"line_end":83,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":164},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35058,"byte_end":35062,"line_start":98,"line_end":98,"column_start":8,"column_end":12},"name":"next","qualname":"<Memchr2 as rustc_std_workspace_core::iter::Iterator>::next","value":"fn next(&mut Self) -> Option<usize>","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8483},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35041,"byte_end":35050,"line_start":97,"line_end":97,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":165},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35198,"byte_end":35207,"line_start":103,"line_end":103,"column_start":8,"column_end":17},"name":"size_hint","qualname":"<Memchr2 as rustc_std_workspace_core::iter::Iterator>::size_hint","value":"fn size_hint(&Self) -> (usize, Option<usize>)","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8484},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35181,"byte_end":35190,"line_start":102,"line_end":102,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":168},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35359,"byte_end":35368,"line_start":110,"line_end":110,"column_start":8,"column_end":17},"name":"next_back","qualname":"<Memchr2 as rustc_std_workspace_core::iter::DoubleEndedIterator>::next_back","value":"fn next_back(&mut Self) -> Option<Self::Item>","parent":{"krate":2,"index":8330},"children":[],"decl_id":{"krate":2,"index":8331},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35342,"byte_end":35351,"line_start":109,"line_end":109,"column_start":5,"column_end":14}}]},{"kind":"Struct","id":{"krate":0,"index":169},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35572,"byte_end":35579,"line_start":119,"line_end":119,"column_start":12,"column_end":19},"name":"Memchr3","qualname":"::memchr::iter::Memchr3","value":"Memchr3 {  }","parent":null,"children":[{"krate":0,"index":171},{"krate":0,"index":172},{"krate":0,"index":173},{"krate":0,"index":174},{"krate":0,"index":175}],"decl_id":null,"docs":" An iterator for `memchr3`.\n","sig":null,"attributes":[{"value":"/ An iterator for `memchr3`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35530,"byte_end":35560,"line_start":118,"line_end":118,"column_start":1,"column_end":31}}]},{"kind":"Method","id":{"krate":0,"index":178},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35860,"byte_end":35863,"line_start":132,"line_end":132,"column_start":12,"column_end":15},"name":"new","qualname":"<Memchr3>::new","value":"fn new(u8, u8, u8, &[u8]) -> Memchr3","parent":null,"children":[],"decl_id":null,"docs":" Create a new `Memchr3` that's initialized to zero with a haystack\n","sig":null,"attributes":[{"value":"/ Create a new `Memchr3` that's initialized to zero with a haystack","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35765,"byte_end":35834,"line_start":130,"line_end":130,"column_start":5,"column_end":74}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35839,"byte_end":35848,"line_start":131,"line_end":131,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":182},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36241,"byte_end":36245,"line_start":152,"line_end":152,"column_start":8,"column_end":12},"name":"next","qualname":"<Memchr3 as rustc_std_workspace_core::iter::Iterator>::next","value":"fn next(&mut Self) -> Option<usize>","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8483},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36224,"byte_end":36233,"line_start":151,"line_end":151,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":183},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36429,"byte_end":36438,"line_start":160,"line_end":160,"column_start":8,"column_end":17},"name":"size_hint","qualname":"<Memchr3 as rustc_std_workspace_core::iter::Iterator>::size_hint","value":"fn size_hint(&Self) -> (usize, Option<usize>)","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8484},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36412,"byte_end":36421,"line_start":159,"line_end":159,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":186},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36590,"byte_end":36599,"line_start":167,"line_end":167,"column_start":8,"column_end":17},"name":"next_back","qualname":"<Memchr3 as rustc_std_workspace_core::iter::DoubleEndedIterator>::next_back","value":"fn next_back(&mut Self) -> Option<Self::Item>","parent":{"krate":2,"index":8330},"children":[],"decl_id":{"krate":2,"index":8331},"docs":"","sig":null,"attributes":[{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36573,"byte_end":36582,"line_start":166,"line_end":166,"column_start":5,"column_end":14}}]},{"kind":"Mod","id":{"krate":0,"index":187},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"naive","qualname":"::memchr::naive","value":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","parent":null,"children":[{"krate":0,"index":188},{"krate":0,"index":190},{"krate":0,"index":192},{"krate":0,"index":194},{"krate":0,"index":196},{"krate":0,"index":198}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(dead_code)","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":36775,"byte_end":36795,"line_start":1,"line_end":1,"column_start":1,"column_end":21}}]},{"kind":"Function","id":{"krate":0,"index":188},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":36804,"byte_end":36810,"line_start":3,"line_end":3,"column_start":8,"column_end":14},"name":"memchr","qualname":"::memchr::naive::memchr","value":"fn memchr(u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":190},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":36908,"byte_end":36915,"line_start":7,"line_end":7,"column_start":8,"column_end":15},"name":"memchr2","qualname":"::memchr::naive::memchr2","value":"fn memchr2(u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":192},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":37032,"byte_end":37039,"line_start":11,"line_end":11,"column_start":8,"column_end":15},"name":"memchr3","qualname":"::memchr::naive::memchr3","value":"fn memchr3(u8, u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":194},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":37175,"byte_end":37182,"line_start":15,"line_end":15,"column_start":8,"column_end":15},"name":"memrchr","qualname":"::memchr::naive::memrchr","value":"fn memrchr(u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":196},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":37281,"byte_end":37289,"line_start":19,"line_end":19,"column_start":8,"column_end":16},"name":"memrchr2","qualname":"::memchr::naive::memrchr2","value":"fn memrchr2(u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":198},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/naive.rs","byte_start":37407,"byte_end":37415,"line_start":23,"line_end":23,"column_start":8,"column_end":16},"name":"memrchr3","qualname":"::memchr::naive::memrchr3","value":"fn memrchr3(u8, u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":200},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9649,"byte_end":9660,"line_start":17,"line_end":17,"column_start":8,"column_end":19},"name":"memchr_iter","qualname":"::memchr::memchr_iter","value":"fn memchr_iter(u8, &[u8]) -> Memchr","parent":null,"children":[],"decl_id":null,"docs":" An iterator over all occurrences of the needle in a haystack.\n","sig":null,"attributes":[{"value":"/ An iterator over all occurrences of the needle in a haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9566,"byte_end":9631,"line_start":15,"line_end":15,"column_start":1,"column_end":66}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9632,"byte_end":9641,"line_start":16,"line_end":16,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":201},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9827,"byte_end":9839,"line_start":23,"line_end":23,"column_start":8,"column_end":20},"name":"memchr2_iter","qualname":"::memchr::memchr2_iter","value":"fn memchr2_iter(u8, u8, &[u8]) -> Memchr2","parent":null,"children":[],"decl_id":null,"docs":" An iterator over all occurrences of the needles in a haystack.\n","sig":null,"attributes":[{"value":"/ An iterator over all occurrences of the needles in a haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9743,"byte_end":9809,"line_start":21,"line_end":21,"column_start":1,"column_end":67}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9810,"byte_end":9819,"line_start":22,"line_end":22,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":202},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10032,"byte_end":10044,"line_start":29,"line_end":29,"column_start":8,"column_end":20},"name":"memchr3_iter","qualname":"::memchr::memchr3_iter","value":"fn memchr3_iter(u8, u8, u8, &[u8]) -> Memchr3","parent":null,"children":[],"decl_id":null,"docs":" An iterator over all occurrences of the needles in a haystack.\n","sig":null,"attributes":[{"value":"/ An iterator over all occurrences of the needles in a haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9948,"byte_end":10014,"line_start":27,"line_end":27,"column_start":1,"column_end":67}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10015,"byte_end":10024,"line_start":28,"line_end":28,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":203},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10289,"byte_end":10301,"line_start":40,"line_end":40,"column_start":8,"column_end":20},"name":"memrchr_iter","qualname":"::memchr::memrchr_iter","value":"fn memrchr_iter(u8, &[u8]) -> Rev<Memchr>","parent":null,"children":[],"decl_id":null,"docs":" An iterator over all occurrences of the needle in a haystack, in reverse.\n","sig":null,"attributes":[{"value":"/ An iterator over all occurrences of the needle in a haystack, in reverse.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10194,"byte_end":10271,"line_start":38,"line_end":38,"column_start":1,"column_end":78}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10272,"byte_end":10281,"line_start":39,"line_end":39,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":204},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10491,"byte_end":10504,"line_start":46,"line_end":46,"column_start":8,"column_end":21},"name":"memrchr2_iter","qualname":"::memchr::memrchr2_iter","value":"fn memrchr2_iter(u8, u8, &[u8]) -> Rev<Memchr2>","parent":null,"children":[],"decl_id":null,"docs":" An iterator over all occurrences of the needles in a haystack, in reverse.\n","sig":null,"attributes":[{"value":"/ An iterator over all occurrences of the needles in a haystack, in reverse.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10395,"byte_end":10473,"line_start":44,"line_end":44,"column_start":1,"column_end":79}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10474,"byte_end":10483,"line_start":45,"line_end":45,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":205},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10735,"byte_end":10748,"line_start":56,"line_end":56,"column_start":8,"column_end":21},"name":"memrchr3_iter","qualname":"::memchr::memrchr3_iter","value":"fn memrchr3_iter(u8, u8, u8, &[u8]) -> Rev<Memchr3>","parent":null,"children":[],"decl_id":null,"docs":" An iterator over all occurrences of the needles in a haystack, in reverse.\n","sig":null,"attributes":[{"value":"/ An iterator over all occurrences of the needles in a haystack, in reverse.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10639,"byte_end":10717,"line_start":54,"line_end":54,"column_start":1,"column_end":79}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10718,"byte_end":10727,"line_start":55,"line_end":55,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":206},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11655,"byte_end":11661,"line_start":87,"line_end":87,"column_start":8,"column_end":14},"name":"memchr","qualname":"::memchr::memchr","value":"fn memchr(u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Search for the first occurrence of a byte in a slice.","sig":null,"attributes":[{"value":"/ Search for the first occurrence of a byte in a slice.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10909,"byte_end":10966,"line_start":65,"line_end":65,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10967,"byte_end":10970,"line_start":66,"line_end":66,"column_start":1,"column_end":4}},{"value":"/ This returns the index corresponding to the first occurrence of `needle` in","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":10971,"byte_end":11050,"line_start":67,"line_end":67,"column_start":1,"column_end":80}},{"value":"/ `haystack`, or `None` if one is not found. If an index is returned, it is","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11051,"byte_end":11128,"line_start":68,"line_end":68,"column_start":1,"column_end":78}},{"value":"/ guaranteed to be less than `usize::MAX`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11129,"byte_end":11173,"line_start":69,"line_end":69,"column_start":1,"column_end":45}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11174,"byte_end":11177,"line_start":70,"line_end":70,"column_start":1,"column_end":4}},{"value":"/ While this is operationally the same as something like","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11178,"byte_end":11236,"line_start":71,"line_end":71,"column_start":1,"column_end":59}},{"value":"/ `haystack.iter().position(|&b| b == needle)`, `memchr` will use a highly","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11237,"byte_end":11313,"line_start":72,"line_end":72,"column_start":1,"column_end":77}},{"value":"/ optimized routine that can be up to an order of magnitude faster in some","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11314,"byte_end":11390,"line_start":73,"line_end":73,"column_start":1,"column_end":77}},{"value":"/ cases.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11391,"byte_end":11401,"line_start":74,"line_end":74,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11402,"byte_end":11405,"line_start":75,"line_end":75,"column_start":1,"column_end":4}},{"value":"/ # Example","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11406,"byte_end":11419,"line_start":76,"line_end":76,"column_start":1,"column_end":14}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11420,"byte_end":11423,"line_start":77,"line_end":77,"column_start":1,"column_end":4}},{"value":"/ This shows how to find the first position of a byte in a byte string.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11424,"byte_end":11497,"line_start":78,"line_end":78,"column_start":1,"column_end":74}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11498,"byte_end":11501,"line_start":79,"line_end":79,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11502,"byte_end":11509,"line_start":80,"line_end":80,"column_start":1,"column_end":8}},{"value":"/ use memchr::memchr;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11510,"byte_end":11533,"line_start":81,"line_end":81,"column_start":1,"column_end":24}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11534,"byte_end":11537,"line_start":82,"line_end":82,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"the quick brown fox\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11538,"byte_end":11580,"line_start":83,"line_end":83,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(memchr(b'k', haystack), Some(8));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11581,"byte_end":11629,"line_start":84,"line_end":84,"column_start":1,"column_end":49}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11630,"byte_end":11637,"line_start":85,"line_end":85,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":11638,"byte_end":11647,"line_start":86,"line_end":86,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":208},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13508,"byte_end":13515,"line_start":151,"line_end":151,"column_start":8,"column_end":15},"name":"memchr2","qualname":"::memchr::memchr2","value":"fn memchr2(u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memchr`, but searches for either of two bytes instead of just one.","sig":null,"attributes":[{"value":"/ Like `memchr`, but searches for either of two bytes instead of just one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12627,"byte_end":12703,"line_start":127,"line_end":127,"column_start":1,"column_end":77}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12704,"byte_end":12707,"line_start":128,"line_end":128,"column_start":1,"column_end":4}},{"value":"/ This returns the index corresponding to the first occurrence of `needle1`","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12708,"byte_end":12785,"line_start":129,"line_end":129,"column_start":1,"column_end":78}},{"value":"/ or the first occurrence of `needle2` in `haystack` (whichever occurs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12786,"byte_end":12858,"line_start":130,"line_end":130,"column_start":1,"column_end":73}},{"value":"/ earlier), or `None` if neither one is found. If an index is returned, it is","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12859,"byte_end":12938,"line_start":131,"line_end":131,"column_start":1,"column_end":80}},{"value":"/ guaranteed to be less than `usize::MAX`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12939,"byte_end":12983,"line_start":132,"line_end":132,"column_start":1,"column_end":45}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12984,"byte_end":12987,"line_start":133,"line_end":133,"column_start":1,"column_end":4}},{"value":"/ While this is operationally the same as something like","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":12988,"byte_end":13046,"line_start":134,"line_end":134,"column_start":1,"column_end":59}},{"value":"/ `haystack.iter().position(|&b| b == needle1 || b == needle2)`, `memchr2`","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13047,"byte_end":13123,"line_start":135,"line_end":135,"column_start":1,"column_end":77}},{"value":"/ will use a highly optimized routine that can be up to an order of magnitude","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13124,"byte_end":13203,"line_start":136,"line_end":136,"column_start":1,"column_end":80}},{"value":"/ faster in some cases.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13204,"byte_end":13229,"line_start":137,"line_end":137,"column_start":1,"column_end":26}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13230,"byte_end":13233,"line_start":138,"line_end":138,"column_start":1,"column_end":4}},{"value":"/ # Example","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13234,"byte_end":13247,"line_start":139,"line_end":139,"column_start":1,"column_end":14}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13248,"byte_end":13251,"line_start":140,"line_end":140,"column_start":1,"column_end":4}},{"value":"/ This shows how to find the first position of either of two bytes in a byte","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13252,"byte_end":13330,"line_start":141,"line_end":141,"column_start":1,"column_end":79}},{"value":"/ string.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13331,"byte_end":13342,"line_start":142,"line_end":142,"column_start":1,"column_end":12}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13343,"byte_end":13346,"line_start":143,"line_end":143,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13347,"byte_end":13354,"line_start":144,"line_end":144,"column_start":1,"column_end":8}},{"value":"/ use memchr::memchr2;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13355,"byte_end":13379,"line_start":145,"line_end":145,"column_start":1,"column_end":25}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13380,"byte_end":13383,"line_start":146,"line_end":146,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"the quick brown fox\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13384,"byte_end":13426,"line_start":147,"line_end":147,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(memchr2(b'k', b'q', haystack), Some(4));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13427,"byte_end":13482,"line_start":148,"line_end":148,"column_start":1,"column_end":56}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13483,"byte_end":13490,"line_start":149,"line_end":149,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":13491,"byte_end":13500,"line_start":150,"line_end":150,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":210},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15208,"byte_end":15215,"line_start":204,"line_end":204,"column_start":8,"column_end":15},"name":"memchr3","qualname":"::memchr::memchr3","value":"fn memchr3(u8, u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memchr`, but searches for any of three bytes instead of just one.","sig":null,"attributes":[{"value":"/ Like `memchr`, but searches for any of three bytes instead of just one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14276,"byte_end":14351,"line_start":180,"line_end":180,"column_start":1,"column_end":76}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14352,"byte_end":14355,"line_start":181,"line_end":181,"column_start":1,"column_end":4}},{"value":"/ This returns the index corresponding to the first occurrence of `needle1`,","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14356,"byte_end":14434,"line_start":182,"line_end":182,"column_start":1,"column_end":79}},{"value":"/ the first occurrence of `needle2`, or the first occurrence of `needle3` in","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14435,"byte_end":14513,"line_start":183,"line_end":183,"column_start":1,"column_end":79}},{"value":"/ `haystack` (whichever occurs earliest), or `None` if none are found. If an","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14514,"byte_end":14592,"line_start":184,"line_end":184,"column_start":1,"column_end":79}},{"value":"/ index is returned, it is guaranteed to be less than `usize::MAX`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14593,"byte_end":14662,"line_start":185,"line_end":185,"column_start":1,"column_end":70}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14663,"byte_end":14666,"line_start":186,"line_end":186,"column_start":1,"column_end":4}},{"value":"/ While this is operationally the same as something like","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14667,"byte_end":14725,"line_start":187,"line_end":187,"column_start":1,"column_end":59}},{"value":"/ `haystack.iter().position(|&b| b == needle1 || b == needle2 ||","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14726,"byte_end":14792,"line_start":188,"line_end":188,"column_start":1,"column_end":67}},{"value":"/ b == needle3)`, `memchr3` will use a highly optimized routine that can be","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14793,"byte_end":14870,"line_start":189,"line_end":189,"column_start":1,"column_end":78}},{"value":"/ up to an order of magnitude faster in some cases.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14871,"byte_end":14924,"line_start":190,"line_end":190,"column_start":1,"column_end":54}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14925,"byte_end":14928,"line_start":191,"line_end":191,"column_start":1,"column_end":4}},{"value":"/ # Example","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14929,"byte_end":14942,"line_start":192,"line_end":192,"column_start":1,"column_end":14}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14943,"byte_end":14946,"line_start":193,"line_end":193,"column_start":1,"column_end":4}},{"value":"/ This shows how to find the first position of any of three bytes in a byte","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":14947,"byte_end":15024,"line_start":194,"line_end":194,"column_start":1,"column_end":78}},{"value":"/ string.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15025,"byte_end":15036,"line_start":195,"line_end":195,"column_start":1,"column_end":12}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15037,"byte_end":15040,"line_start":196,"line_end":196,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15041,"byte_end":15048,"line_start":197,"line_end":197,"column_start":1,"column_end":8}},{"value":"/ use memchr::memchr3;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15049,"byte_end":15073,"line_start":198,"line_end":198,"column_start":1,"column_end":25}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15074,"byte_end":15077,"line_start":199,"line_end":199,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"the quick brown fox\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15078,"byte_end":15120,"line_start":200,"line_end":200,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(memchr3(b'k', b'q', b'e', haystack), Some(2));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15121,"byte_end":15182,"line_start":201,"line_end":201,"column_start":1,"column_end":62}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15183,"byte_end":15190,"line_start":202,"line_end":202,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":15191,"byte_end":15200,"line_start":203,"line_end":203,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":212},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16801,"byte_end":16808,"line_start":260,"line_end":260,"column_start":8,"column_end":15},"name":"memrchr","qualname":"::memchr::memrchr","value":"fn memrchr(u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Search for the last occurrence of a byte in a slice.","sig":null,"attributes":[{"value":"/ Search for the last occurrence of a byte in a slice.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16053,"byte_end":16109,"line_start":238,"line_end":238,"column_start":1,"column_end":57}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16110,"byte_end":16113,"line_start":239,"line_end":239,"column_start":1,"column_end":4}},{"value":"/ This returns the index corresponding to the last occurrence of `needle` in","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16114,"byte_end":16192,"line_start":240,"line_end":240,"column_start":1,"column_end":79}},{"value":"/ `haystack`, or `None` if one is not found. If an index is returned, it is","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16193,"byte_end":16270,"line_start":241,"line_end":241,"column_start":1,"column_end":78}},{"value":"/ guaranteed to be less than `usize::MAX`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16271,"byte_end":16315,"line_start":242,"line_end":242,"column_start":1,"column_end":45}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16316,"byte_end":16319,"line_start":243,"line_end":243,"column_start":1,"column_end":4}},{"value":"/ While this is operationally the same as something like","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16320,"byte_end":16378,"line_start":244,"line_end":244,"column_start":1,"column_end":59}},{"value":"/ `haystack.iter().rposition(|&b| b == needle)`, `memrchr` will use a highly","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16379,"byte_end":16457,"line_start":245,"line_end":245,"column_start":1,"column_end":79}},{"value":"/ optimized routine that can be up to an order of magnitude faster in some","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16458,"byte_end":16534,"line_start":246,"line_end":246,"column_start":1,"column_end":77}},{"value":"/ cases.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16535,"byte_end":16545,"line_start":247,"line_end":247,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16546,"byte_end":16549,"line_start":248,"line_end":248,"column_start":1,"column_end":4}},{"value":"/ # Example","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16550,"byte_end":16563,"line_start":249,"line_end":249,"column_start":1,"column_end":14}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16564,"byte_end":16567,"line_start":250,"line_end":250,"column_start":1,"column_end":4}},{"value":"/ This shows how to find the last position of a byte in a byte string.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16568,"byte_end":16640,"line_start":251,"line_end":251,"column_start":1,"column_end":73}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16641,"byte_end":16644,"line_start":252,"line_end":252,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16645,"byte_end":16652,"line_start":253,"line_end":253,"column_start":1,"column_end":8}},{"value":"/ use memchr::memrchr;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16653,"byte_end":16677,"line_start":254,"line_end":254,"column_start":1,"column_end":25}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16678,"byte_end":16681,"line_start":255,"line_end":255,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"the quick brown fox\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16682,"byte_end":16724,"line_start":256,"line_end":256,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(memrchr(b'o', haystack), Some(17));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16725,"byte_end":16775,"line_start":257,"line_end":257,"column_start":1,"column_end":51}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16776,"byte_end":16783,"line_start":258,"line_end":258,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":16784,"byte_end":16793,"line_start":259,"line_end":259,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":214},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18713,"byte_end":18721,"line_start":325,"line_end":325,"column_start":8,"column_end":16},"name":"memrchr2","qualname":"::memchr::memrchr2","value":"fn memrchr2(u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memrchr`, but searches for either of two bytes instead of just one.","sig":null,"attributes":[{"value":"/ Like `memrchr`, but searches for either of two bytes instead of just one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":17832,"byte_end":17909,"line_start":301,"line_end":301,"column_start":1,"column_end":78}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":17910,"byte_end":17913,"line_start":302,"line_end":302,"column_start":1,"column_end":4}},{"value":"/ This returns the index corresponding to the last occurrence of `needle1` or","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":17914,"byte_end":17993,"line_start":303,"line_end":303,"column_start":1,"column_end":80}},{"value":"/ the last occurrence of `needle2` in `haystack` (whichever occurs later), or","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":17994,"byte_end":18073,"line_start":304,"line_end":304,"column_start":1,"column_end":80}},{"value":"/ `None` if neither one is found. If an index is returned, it is guaranteed","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18074,"byte_end":18151,"line_start":305,"line_end":305,"column_start":1,"column_end":78}},{"value":"/ to be less than `usize::MAX`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18152,"byte_end":18185,"line_start":306,"line_end":306,"column_start":1,"column_end":34}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18186,"byte_end":18189,"line_start":307,"line_end":307,"column_start":1,"column_end":4}},{"value":"/ While this is operationally the same as something like","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18190,"byte_end":18248,"line_start":308,"line_end":308,"column_start":1,"column_end":59}},{"value":"/ `haystack.iter().rposition(|&b| b == needle1 || b == needle2)`, `memrchr2`","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18249,"byte_end":18327,"line_start":309,"line_end":309,"column_start":1,"column_end":79}},{"value":"/ will use a highly optimized routine that can be up to an order of magnitude","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18328,"byte_end":18407,"line_start":310,"line_end":310,"column_start":1,"column_end":80}},{"value":"/ faster in some cases.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18408,"byte_end":18433,"line_start":311,"line_end":311,"column_start":1,"column_end":26}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18434,"byte_end":18437,"line_start":312,"line_end":312,"column_start":1,"column_end":4}},{"value":"/ # Example","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18438,"byte_end":18451,"line_start":313,"line_end":313,"column_start":1,"column_end":14}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18452,"byte_end":18455,"line_start":314,"line_end":314,"column_start":1,"column_end":4}},{"value":"/ This shows how to find the last position of either of two bytes in a byte","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18456,"byte_end":18533,"line_start":315,"line_end":315,"column_start":1,"column_end":78}},{"value":"/ string.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18534,"byte_end":18545,"line_start":316,"line_end":316,"column_start":1,"column_end":12}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18546,"byte_end":18549,"line_start":317,"line_end":317,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18550,"byte_end":18557,"line_start":318,"line_end":318,"column_start":1,"column_end":8}},{"value":"/ use memchr::memrchr2;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18558,"byte_end":18583,"line_start":319,"line_end":319,"column_start":1,"column_end":26}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18584,"byte_end":18587,"line_start":320,"line_end":320,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"the quick brown fox\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18588,"byte_end":18630,"line_start":321,"line_end":321,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(memrchr2(b'k', b'q', haystack), Some(8));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18631,"byte_end":18687,"line_start":322,"line_end":322,"column_start":1,"column_end":57}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18688,"byte_end":18695,"line_start":323,"line_end":323,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":18696,"byte_end":18705,"line_start":324,"line_end":324,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":216},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20415,"byte_end":20423,"line_start":378,"line_end":378,"column_start":8,"column_end":16},"name":"memrchr3","qualname":"::memchr::memrchr3","value":"fn memrchr3(u8, u8, u8, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Like `memrchr`, but searches for any of three bytes instead of just one.","sig":null,"attributes":[{"value":"/ Like `memrchr`, but searches for any of three bytes instead of just one.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19485,"byte_end":19561,"line_start":354,"line_end":354,"column_start":1,"column_end":77}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19562,"byte_end":19565,"line_start":355,"line_end":355,"column_start":1,"column_end":4}},{"value":"/ This returns the index corresponding to the last occurrence of `needle1`,","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19566,"byte_end":19643,"line_start":356,"line_end":356,"column_start":1,"column_end":78}},{"value":"/ the last occurrence of `needle2`, or the last occurrence of `needle3` in","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19644,"byte_end":19720,"line_start":357,"line_end":357,"column_start":1,"column_end":77}},{"value":"/ `haystack` (whichever occurs later), or `None` if none are found. If an","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19721,"byte_end":19796,"line_start":358,"line_end":358,"column_start":1,"column_end":76}},{"value":"/ index is returned, it is guaranteed to be less than `usize::MAX`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19797,"byte_end":19866,"line_start":359,"line_end":359,"column_start":1,"column_end":70}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19867,"byte_end":19870,"line_start":360,"line_end":360,"column_start":1,"column_end":4}},{"value":"/ While this is operationally the same as something like","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19871,"byte_end":19929,"line_start":361,"line_end":361,"column_start":1,"column_end":59}},{"value":"/ `haystack.iter().rposition(|&b| b == needle1 || b == needle2 ||","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19930,"byte_end":19997,"line_start":362,"line_end":362,"column_start":1,"column_end":68}},{"value":"/ b == needle3)`, `memrchr3` will use a highly optimized routine that can be","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":19998,"byte_end":20076,"line_start":363,"line_end":363,"column_start":1,"column_end":79}},{"value":"/ up to an order of magnitude faster in some cases.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20077,"byte_end":20130,"line_start":364,"line_end":364,"column_start":1,"column_end":54}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20131,"byte_end":20134,"line_start":365,"line_end":365,"column_start":1,"column_end":4}},{"value":"/ # Example","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20135,"byte_end":20148,"line_start":366,"line_end":366,"column_start":1,"column_end":14}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20149,"byte_end":20152,"line_start":367,"line_end":367,"column_start":1,"column_end":4}},{"value":"/ This shows how to find the last position of any of three bytes in a byte","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20153,"byte_end":20229,"line_start":368,"line_end":368,"column_start":1,"column_end":77}},{"value":"/ string.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20230,"byte_end":20241,"line_start":369,"line_end":369,"column_start":1,"column_end":12}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20242,"byte_end":20245,"line_start":370,"line_end":370,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20246,"byte_end":20253,"line_start":371,"line_end":371,"column_start":1,"column_end":8}},{"value":"/ use memchr::memrchr3;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20254,"byte_end":20279,"line_start":372,"line_end":372,"column_start":1,"column_end":26}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20280,"byte_end":20283,"line_start":373,"line_end":373,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"the quick brown fox\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20284,"byte_end":20326,"line_start":374,"line_end":374,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(memrchr3(b'k', b'q', b'e', haystack), Some(8));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20327,"byte_end":20389,"line_start":375,"line_end":375,"column_start":1,"column_end":63}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20390,"byte_end":20397,"line_start":376,"line_end":376,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":20398,"byte_end":20407,"line_start":377,"line_end":377,"column_start":1,"column_end":10}}]},{"kind":"Mod","id":{"krate":0,"index":218},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"memmem","qualname":"::memmem","value":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","parent":null,"children":[{"krate":0,"index":219},{"krate":0,"index":222},{"krate":0,"index":223},{"krate":0,"index":226},{"krate":0,"index":227},{"krate":0,"index":228},{"krate":0,"index":231},{"krate":0,"index":234},{"krate":0,"index":237},{"krate":0,"index":240},{"krate":0,"index":243},{"krate":0,"index":246},{"krate":0,"index":301},{"krate":0,"index":320},{"krate":0,"index":327},{"krate":0,"index":362},{"krate":0,"index":366},{"krate":0,"index":370},{"krate":0,"index":374},{"krate":0,"index":375},{"krate":0,"index":602},{"krate":0,"index":609},{"krate":0,"index":376},{"krate":0,"index":380},{"krate":0,"index":613},{"krate":0,"index":619},{"krate":0,"index":385},{"krate":0,"index":389},{"krate":0,"index":623},{"krate":0,"index":626},{"krate":0,"index":629},{"krate":0,"index":394},{"krate":0,"index":632},{"krate":0,"index":635},{"krate":0,"index":638},{"krate":0,"index":404},{"krate":0,"index":641},{"krate":0,"index":643},{"krate":0,"index":645},{"krate":0,"index":647},{"krate":0,"index":415},{"krate":0,"index":649},{"krate":0,"index":655},{"krate":0,"index":658},{"krate":0,"index":661},{"krate":0,"index":664},{"krate":0,"index":666},{"krate":0,"index":667},{"krate":0,"index":669},{"krate":0,"index":671},{"krate":0,"index":673},{"krate":0,"index":674},{"krate":0,"index":676},{"krate":0,"index":678},{"krate":0,"index":687},{"krate":0,"index":689},{"krate":0,"index":424},{"krate":0,"index":435},{"krate":0,"index":691},{"krate":0,"index":696},{"krate":0,"index":699},{"krate":0,"index":702},{"krate":0,"index":711},{"krate":0,"index":713},{"krate":0,"index":437}],"decl_id":null,"docs":"This module provides forward and reverse substring search routines.","sig":null,"attributes":[{"value":"*\nThis module provides forward and reverse substring search routines.\n\nUnlike the standard library's substring search routines, these work on\narbitrary bytes. For all non-empty needles, these routines will report exactly\nthe same values as the corresponding routines in the standard library. For\nthe empty needle, the standard library reports matches only at valid UTF-8\nboundaries, where as these routines will report matches at every position.\n\nOther than being able to work on arbitrary bytes, the primary reason to prefer\nthese routines over the standard library routines is that these will generally\nbe faster. In some cases, significantly so.\n\n# Example: iterating over substring matches\n\nThis example shows how to use [`find_iter`] to find occurrences of a substring\nin a haystack.\n\n```\nuse memchr::memmem;\n\nlet haystack = b\"foo bar foo baz foo\";\n\nlet mut it = memmem::find_iter(haystack, \"foo\");\nassert_eq!(Some(0), it.next());\nassert_eq!(Some(8), it.next());\nassert_eq!(Some(16), it.next());\nassert_eq!(None, it.next());\n```\n\n# Example: iterating over substring matches in reverse\n\nThis example shows how to use [`rfind_iter`] to find occurrences of a substring\nin a haystack starting from the end of the haystack.\n\n**NOTE:** This module does not implement double ended iterators, so reverse\nsearches aren't done by calling `rev` on a forward iterator.\n\n```\nuse memchr::memmem;\n\nlet haystack = b\"foo bar foo baz foo\";\n\nlet mut it = memmem::rfind_iter(haystack, \"foo\");\nassert_eq!(Some(16), it.next());\nassert_eq!(Some(8), it.next());\nassert_eq!(Some(0), it.next());\nassert_eq!(None, it.next());\n```\n\n# Example: repeating a search for the same needle\n\nIt may be possible for the overhead of constructing a substring searcher to be\nmeasurable in some workloads. In cases where the same needle is used to search\nmany haystacks, it is possible to do construction once and thus to avoid it for\nsubsequent searches. This can be done with a [`Finder`] (or a [`FinderRev`] for\nreverse searches).\n\n```\nuse memchr::memmem;\n\nlet finder = memmem::Finder::new(\"foo\");\n\nassert_eq!(Some(4), finder.find(b\"baz foo quux\"));\nassert_eq!(None, finder.find(b\"quux baz bar\"));\n```\n*/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":37545,"byte_end":39717,"line_start":1,"line_end":67,"column_start":1,"column_end":3}}]},{"kind":"Const","id":{"krate":0,"index":244},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/byte_frequencies.rs","byte_start":81380,"byte_end":81396,"line_start":1,"line_end":1,"column_start":11,"column_end":27},"name":"BYTE_FREQUENCIES","qualname":"::memmem::byte_frequencies::BYTE_FREQUENCIES","value":"[u8; ]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":281},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90328,"byte_end":90332,"line_start":107,"line_end":107,"column_start":12,"column_end":16},"name":"call","qualname":"<PrefilterFn>::call","value":"fn call(Self, &mut PrefilterState, &NeedleInfo, &[u8], &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Call the underlying prefilter function with the given arguments.\n","sig":null,"attributes":[{"value":"/ Call the underlying prefilter function with the given arguments.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90248,"byte_end":90316,"line_start":106,"line_end":106,"column_start":5,"column_end":73}}]},{"kind":"Method","id":{"krate":0,"index":283},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90758,"byte_end":90761,"line_start":121,"line_end":121,"column_start":8,"column_end":11},"name":"fmt","qualname":"<PrefilterFn as rustc_std_workspace_core::fmt::Debug>::fmt","value":"fn fmt(&Self, &mut core::fmt::Formatter) -> core::fmt::Result","parent":{"krate":2,"index":10115},"children":[],"decl_id":{"krate":2,"index":10116},"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":479},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92434,"byte_end":92438,"line_start":155,"line_end":155,"column_start":5,"column_end":9},"name":"None","qualname":"::memmem::prefilter::Prefilter::None","value":"Prefilter::None","parent":{"krate":0,"index":478},"children":[],"decl_id":null,"docs":" Never used a prefilter in substring search.\n","sig":null,"attributes":[{"value":"/ Never used a prefilter in substring search.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92382,"byte_end":92429,"line_start":154,"line_end":154,"column_start":5,"column_end":52}}]},{"kind":"TupleVariant","id":{"krate":0,"index":481},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92665,"byte_end":92669,"line_start":159,"line_end":159,"column_start":5,"column_end":9},"name":"Auto","qualname":"::memmem::prefilter::Prefilter::Auto","value":"Prefilter::Auto","parent":{"krate":0,"index":478},"children":[],"decl_id":null,"docs":" Automatically detect whether a heuristic prefilter should be used. If\n it is used, then heuristics will be used to dynamically disable the\n prefilter if it is believed to not be carrying its weight.\n","sig":null,"attributes":[{"value":"/ Automatically detect whether a heuristic prefilter should be used. If","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92444,"byte_end":92517,"line_start":156,"line_end":156,"column_start":5,"column_end":78}},{"value":"/ it is used, then heuristics will be used to dynamically disable the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92522,"byte_end":92593,"line_start":157,"line_end":157,"column_start":5,"column_end":76}},{"value":"/ prefilter if it is believed to not be carrying its weight.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92598,"byte_end":92660,"line_start":158,"line_end":158,"column_start":5,"column_end":67}}]},{"kind":"Enum","id":{"krate":0,"index":478},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92366,"byte_end":92375,"line_start":153,"line_end":153,"column_start":10,"column_end":19},"name":"Prefilter","qualname":"::memmem::prefilter::Prefilter","value":"enum Prefilter { None, Auto, }","parent":null,"children":[{"krate":0,"index":479},{"krate":0,"index":481}],"decl_id":null,"docs":" Prefilter controls whether heuristics are used to accelerate searching.","sig":null,"attributes":[{"value":"/ Prefilter controls whether heuristics are used to accelerate searching.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90868,"byte_end":90943,"line_start":126,"line_end":126,"column_start":1,"column_end":76}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90944,"byte_end":90947,"line_start":127,"line_end":127,"column_start":1,"column_end":4}},{"value":"/ A prefilter refers to the idea of detecting candidate matches very quickly,","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90948,"byte_end":91027,"line_start":128,"line_end":128,"column_start":1,"column_end":80}},{"value":"/ and then confirming whether those candidates are full matches. This","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91028,"byte_end":91099,"line_start":129,"line_end":129,"column_start":1,"column_end":72}},{"value":"/ idea can be quite effective since it's often the case that looking for","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91100,"byte_end":91174,"line_start":130,"line_end":130,"column_start":1,"column_end":75}},{"value":"/ candidates can be a lot faster than running a complete substring search","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91175,"byte_end":91250,"line_start":131,"line_end":131,"column_start":1,"column_end":76}},{"value":"/ over the entire input. Namely, looking for candidates can be done with","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91251,"byte_end":91325,"line_start":132,"line_end":132,"column_start":1,"column_end":75}},{"value":"/ extremely fast vectorized code.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91326,"byte_end":91361,"line_start":133,"line_end":133,"column_start":1,"column_end":36}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91362,"byte_end":91365,"line_start":134,"line_end":134,"column_start":1,"column_end":4}},{"value":"/ The downside of a prefilter is that it assumes false positives (which are","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91366,"byte_end":91443,"line_start":135,"line_end":135,"column_start":1,"column_end":78}},{"value":"/ candidates generated by a prefilter that aren't matches) are somewhat rare","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91444,"byte_end":91522,"line_start":136,"line_end":136,"column_start":1,"column_end":79}},{"value":"/ relative to the frequency of full matches. That is, if a lot of false","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91523,"byte_end":91596,"line_start":137,"line_end":137,"column_start":1,"column_end":74}},{"value":"/ positives are generated, then it's possible for search time to be worse","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91597,"byte_end":91672,"line_start":138,"line_end":138,"column_start":1,"column_end":76}},{"value":"/ than if the prefilter wasn't enabled in the first place.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91673,"byte_end":91733,"line_start":139,"line_end":139,"column_start":1,"column_end":61}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91734,"byte_end":91737,"line_start":140,"line_end":140,"column_start":1,"column_end":4}},{"value":"/ Another downside of a prefilter is that it can result in highly variable","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91738,"byte_end":91814,"line_start":141,"line_end":141,"column_start":1,"column_end":77}},{"value":"/ performance, where some cases are extraordinarily fast and others aren't.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91815,"byte_end":91892,"line_start":142,"line_end":142,"column_start":1,"column_end":78}},{"value":"/ Typically, variable performance isn't a problem, but it may be for your use","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91893,"byte_end":91972,"line_start":143,"line_end":143,"column_start":1,"column_end":80}},{"value":"/ case.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91973,"byte_end":91982,"line_start":144,"line_end":144,"column_start":1,"column_end":10}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91983,"byte_end":91986,"line_start":145,"line_end":145,"column_start":1,"column_end":4}},{"value":"/ The use of prefilters in this implementation does use a heuristic to detect","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":91987,"byte_end":92066,"line_start":146,"line_end":146,"column_start":1,"column_end":80}},{"value":"/ when a prefilter might not be carrying its weight, and will dynamically","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92067,"byte_end":92142,"line_start":147,"line_end":147,"column_start":1,"column_end":76}},{"value":"/ disable its use. Nevertheless, this configuration option gives callers","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92143,"byte_end":92217,"line_start":148,"line_end":148,"column_start":1,"column_end":75}},{"value":"/ the ability to disable prefilters if you have knowledge that they won't be","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92218,"byte_end":92296,"line_start":149,"line_end":149,"column_start":1,"column_end":79}},{"value":"/ useful.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92297,"byte_end":92308,"line_start":150,"line_end":150,"column_start":1,"column_end":12}},{"value":"non_exhaustive","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92339,"byte_end":92356,"line_start":152,"line_end":152,"column_start":1,"column_end":18}}]},{"kind":"Method","id":{"krate":0,"index":285},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92710,"byte_end":92717,"line_start":163,"line_end":163,"column_start":8,"column_end":15},"name":"default","qualname":"<Prefilter as rustc_std_workspace_core::default::Default>::default","value":"fn default() -> Prefilter","parent":{"krate":2,"index":3157},"children":[],"decl_id":{"krate":2,"index":3158},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":366},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43124,"byte_end":43133,"line_start":188,"line_end":188,"column_start":8,"column_end":17},"name":"find_iter","qualname":"::memmem::find_iter","value":"fn find_iter<'h, 'n, N>(&'h [u8], &'n N) -> FindIter where N: 'n + ?Sized +\nAsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Returns an iterator over all occurrences of a substring in a haystack.","sig":null,"attributes":[{"value":"/ Returns an iterator over all occurrences of a substring in a haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42396,"byte_end":42470,"line_start":162,"line_end":162,"column_start":1,"column_end":75}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42471,"byte_end":42474,"line_start":163,"line_end":163,"column_start":1,"column_end":4}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42475,"byte_end":42491,"line_start":164,"line_end":164,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42492,"byte_end":42495,"line_start":165,"line_end":165,"column_start":1,"column_end":4}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42496,"byte_end":42568,"line_start":166,"line_end":166,"column_start":1,"column_end":73}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42569,"byte_end":42641,"line_start":167,"line_end":167,"column_start":1,"column_end":73}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42642,"byte_end":42689,"line_start":168,"line_end":168,"column_start":1,"column_end":48}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42690,"byte_end":42693,"line_start":169,"line_end":169,"column_start":1,"column_end":4}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42694,"byte_end":42763,"line_start":170,"line_end":170,"column_start":1,"column_end":70}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42764,"byte_end":42779,"line_start":171,"line_end":171,"column_start":1,"column_end":16}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42780,"byte_end":42783,"line_start":172,"line_end":172,"column_start":1,"column_end":4}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42784,"byte_end":42798,"line_start":173,"line_end":173,"column_start":1,"column_end":15}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42799,"byte_end":42802,"line_start":174,"line_end":174,"column_start":1,"column_end":4}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42803,"byte_end":42819,"line_start":175,"line_end":175,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42820,"byte_end":42823,"line_start":176,"line_end":176,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42824,"byte_end":42831,"line_start":177,"line_end":177,"column_start":1,"column_end":8}},{"value":"/ use memchr::memmem;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42832,"byte_end":42855,"line_start":178,"line_end":178,"column_start":1,"column_end":24}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42856,"byte_end":42859,"line_start":179,"line_end":179,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"foo bar foo baz foo\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42860,"byte_end":42902,"line_start":180,"line_end":180,"column_start":1,"column_end":43}},{"value":"/ let mut it = memmem::find_iter(haystack, b\"foo\");","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42903,"byte_end":42956,"line_start":181,"line_end":181,"column_start":1,"column_end":54}},{"value":"/ assert_eq!(Some(0), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42957,"byte_end":42992,"line_start":182,"line_end":182,"column_start":1,"column_end":36}},{"value":"/ assert_eq!(Some(8), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":42993,"byte_end":43028,"line_start":183,"line_end":183,"column_start":1,"column_end":36}},{"value":"/ assert_eq!(Some(16), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43029,"byte_end":43065,"line_start":184,"line_end":184,"column_start":1,"column_end":37}},{"value":"/ assert_eq!(None, it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43066,"byte_end":43098,"line_start":185,"line_end":185,"column_start":1,"column_end":33}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43099,"byte_end":43106,"line_start":186,"line_end":186,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43107,"byte_end":43116,"line_start":187,"line_end":187,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":370},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44032,"byte_end":44042,"line_start":222,"line_end":222,"column_start":8,"column_end":18},"name":"rfind_iter","qualname":"::memmem::rfind_iter","value":"fn rfind_iter<'h, 'n, N>(&'h [u8], &'n N) -> FindRevIter where N: 'n +\n?Sized + AsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Returns a reverse iterator over all occurrences of a substring in a\n haystack.","sig":null,"attributes":[{"value":"/ Returns a reverse iterator over all occurrences of a substring in a","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43292,"byte_end":43363,"line_start":195,"line_end":195,"column_start":1,"column_end":72}},{"value":"/ haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43364,"byte_end":43377,"line_start":196,"line_end":196,"column_start":1,"column_end":14}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43378,"byte_end":43381,"line_start":197,"line_end":197,"column_start":1,"column_end":4}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43382,"byte_end":43398,"line_start":198,"line_end":198,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43399,"byte_end":43402,"line_start":199,"line_end":199,"column_start":1,"column_end":4}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43403,"byte_end":43475,"line_start":200,"line_end":200,"column_start":1,"column_end":73}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43476,"byte_end":43548,"line_start":201,"line_end":201,"column_start":1,"column_end":73}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43549,"byte_end":43596,"line_start":202,"line_end":202,"column_start":1,"column_end":48}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43597,"byte_end":43600,"line_start":203,"line_end":203,"column_start":1,"column_end":4}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43601,"byte_end":43670,"line_start":204,"line_end":204,"column_start":1,"column_end":70}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43671,"byte_end":43686,"line_start":205,"line_end":205,"column_start":1,"column_end":16}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43687,"byte_end":43690,"line_start":206,"line_end":206,"column_start":1,"column_end":4}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43691,"byte_end":43705,"line_start":207,"line_end":207,"column_start":1,"column_end":15}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43706,"byte_end":43709,"line_start":208,"line_end":208,"column_start":1,"column_end":4}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43710,"byte_end":43726,"line_start":209,"line_end":209,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43727,"byte_end":43730,"line_start":210,"line_end":210,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43731,"byte_end":43738,"line_start":211,"line_end":211,"column_start":1,"column_end":8}},{"value":"/ use memchr::memmem;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43739,"byte_end":43762,"line_start":212,"line_end":212,"column_start":1,"column_end":24}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43763,"byte_end":43766,"line_start":213,"line_end":213,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"foo bar foo baz foo\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43767,"byte_end":43809,"line_start":214,"line_end":214,"column_start":1,"column_end":43}},{"value":"/ let mut it = memmem::rfind_iter(haystack, b\"foo\");","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43810,"byte_end":43864,"line_start":215,"line_end":215,"column_start":1,"column_end":55}},{"value":"/ assert_eq!(Some(16), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43865,"byte_end":43901,"line_start":216,"line_end":216,"column_start":1,"column_end":37}},{"value":"/ assert_eq!(Some(8), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43902,"byte_end":43937,"line_start":217,"line_end":217,"column_start":1,"column_end":36}},{"value":"/ assert_eq!(Some(0), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43938,"byte_end":43973,"line_start":218,"line_end":218,"column_start":1,"column_end":36}},{"value":"/ assert_eq!(None, it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":43974,"byte_end":44006,"line_start":219,"line_end":219,"column_start":1,"column_end":33}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44007,"byte_end":44014,"line_start":220,"line_end":220,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44015,"byte_end":44024,"line_start":221,"line_end":221,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":374},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45080,"byte_end":45084,"line_start":257,"line_end":257,"column_start":8,"column_end":12},"name":"find","qualname":"::memmem::find","value":"fn find(&[u8], &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Returns the index of the first occurrence of the given needle.","sig":null,"attributes":[{"value":"/ Returns the index of the first occurrence of the given needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44210,"byte_end":44276,"line_start":229,"line_end":229,"column_start":1,"column_end":67}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44277,"byte_end":44280,"line_start":230,"line_end":230,"column_start":1,"column_end":4}},{"value":"/ Note that if you're are searching for the same needle in many different","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44281,"byte_end":44356,"line_start":231,"line_end":231,"column_start":1,"column_end":76}},{"value":"/ small haystacks, it may be faster to initialize a [`Finder`] once,","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44357,"byte_end":44427,"line_start":232,"line_end":232,"column_start":1,"column_end":71}},{"value":"/ and reuse it for each search.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44428,"byte_end":44461,"line_start":233,"line_end":233,"column_start":1,"column_end":34}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44462,"byte_end":44465,"line_start":234,"line_end":234,"column_start":1,"column_end":4}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44466,"byte_end":44482,"line_start":235,"line_end":235,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44483,"byte_end":44486,"line_start":236,"line_end":236,"column_start":1,"column_end":4}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44487,"byte_end":44559,"line_start":237,"line_end":237,"column_start":1,"column_end":73}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44560,"byte_end":44632,"line_start":238,"line_end":238,"column_start":1,"column_end":73}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44633,"byte_end":44680,"line_start":239,"line_end":239,"column_start":1,"column_end":48}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44681,"byte_end":44684,"line_start":240,"line_end":240,"column_start":1,"column_end":4}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44685,"byte_end":44754,"line_start":241,"line_end":241,"column_start":1,"column_end":70}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44755,"byte_end":44770,"line_start":242,"line_end":242,"column_start":1,"column_end":16}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44771,"byte_end":44774,"line_start":243,"line_end":243,"column_start":1,"column_end":4}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44775,"byte_end":44789,"line_start":244,"line_end":244,"column_start":1,"column_end":15}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44790,"byte_end":44793,"line_start":245,"line_end":245,"column_start":1,"column_end":4}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44794,"byte_end":44810,"line_start":246,"line_end":246,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44811,"byte_end":44814,"line_start":247,"line_end":247,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44815,"byte_end":44822,"line_start":248,"line_end":248,"column_start":1,"column_end":8}},{"value":"/ use memchr::memmem;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44823,"byte_end":44846,"line_start":249,"line_end":249,"column_start":1,"column_end":24}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44847,"byte_end":44850,"line_start":250,"line_end":250,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"foo bar baz\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44851,"byte_end":44885,"line_start":251,"line_end":251,"column_start":1,"column_end":35}},{"value":"/ assert_eq!(Some(0), memmem::find(haystack, b\"foo\"));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44886,"byte_end":44942,"line_start":252,"line_end":252,"column_start":1,"column_end":57}},{"value":"/ assert_eq!(Some(4), memmem::find(haystack, b\"bar\"));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":44943,"byte_end":44999,"line_start":253,"line_end":253,"column_start":1,"column_end":57}},{"value":"/ assert_eq!(None, memmem::find(haystack, b\"quux\"));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45000,"byte_end":45054,"line_start":254,"line_end":254,"column_start":1,"column_end":55}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45055,"byte_end":45062,"line_start":255,"line_end":255,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45063,"byte_end":45072,"line_start":256,"line_end":256,"column_start":1,"column_end":10}}]},{"kind":"Function","id":{"krate":0,"index":375},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46204,"byte_end":46209,"line_start":294,"line_end":294,"column_start":8,"column_end":13},"name":"rfind","qualname":"::memmem::rfind","value":"fn rfind(&[u8], &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Returns the index of the last occurrence of the given needle.","sig":null,"attributes":[{"value":"/ Returns the index of the last occurrence of the given needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45272,"byte_end":45337,"line_start":265,"line_end":265,"column_start":1,"column_end":66}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45338,"byte_end":45341,"line_start":266,"line_end":266,"column_start":1,"column_end":4}},{"value":"/ Note that if you're are searching for the same needle in many different","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45342,"byte_end":45417,"line_start":267,"line_end":267,"column_start":1,"column_end":76}},{"value":"/ small haystacks, it may be faster to initialize a [`FinderRev`] once,","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45418,"byte_end":45491,"line_start":268,"line_end":268,"column_start":1,"column_end":74}},{"value":"/ and reuse it for each search.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45492,"byte_end":45525,"line_start":269,"line_end":269,"column_start":1,"column_end":34}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45526,"byte_end":45529,"line_start":270,"line_end":270,"column_start":1,"column_end":4}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45530,"byte_end":45546,"line_start":271,"line_end":271,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45547,"byte_end":45550,"line_start":272,"line_end":272,"column_start":1,"column_end":4}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45551,"byte_end":45623,"line_start":273,"line_end":273,"column_start":1,"column_end":73}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45624,"byte_end":45696,"line_start":274,"line_end":274,"column_start":1,"column_end":73}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45697,"byte_end":45744,"line_start":275,"line_end":275,"column_start":1,"column_end":48}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45745,"byte_end":45748,"line_start":276,"line_end":276,"column_start":1,"column_end":4}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45749,"byte_end":45818,"line_start":277,"line_end":277,"column_start":1,"column_end":70}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45819,"byte_end":45834,"line_start":278,"line_end":278,"column_start":1,"column_end":16}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45835,"byte_end":45838,"line_start":279,"line_end":279,"column_start":1,"column_end":4}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45839,"byte_end":45853,"line_start":280,"line_end":280,"column_start":1,"column_end":15}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45854,"byte_end":45857,"line_start":281,"line_end":281,"column_start":1,"column_end":4}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45858,"byte_end":45874,"line_start":282,"line_end":282,"column_start":1,"column_end":17}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45875,"byte_end":45878,"line_start":283,"line_end":283,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45879,"byte_end":45886,"line_start":284,"line_end":284,"column_start":1,"column_end":8}},{"value":"/ use memchr::memmem;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45887,"byte_end":45910,"line_start":285,"line_end":285,"column_start":1,"column_end":24}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45911,"byte_end":45914,"line_start":286,"line_end":286,"column_start":1,"column_end":4}},{"value":"/ let haystack = b\"foo bar baz\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45915,"byte_end":45949,"line_start":287,"line_end":287,"column_start":1,"column_end":35}},{"value":"/ assert_eq!(Some(0), memmem::rfind(haystack, b\"foo\"));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":45950,"byte_end":46007,"line_start":288,"line_end":288,"column_start":1,"column_end":58}},{"value":"/ assert_eq!(Some(4), memmem::rfind(haystack, b\"bar\"));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46008,"byte_end":46065,"line_start":289,"line_end":289,"column_start":1,"column_end":58}},{"value":"/ assert_eq!(Some(8), memmem::rfind(haystack, b\"ba\"));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46066,"byte_end":46122,"line_start":290,"line_end":290,"column_start":1,"column_end":57}},{"value":"/ assert_eq!(None, memmem::rfind(haystack, b\"quux\"));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46123,"byte_end":46178,"line_start":291,"line_end":291,"column_start":1,"column_end":56}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46179,"byte_end":46186,"line_start":292,"line_end":292,"column_start":1,"column_end":8}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46187,"byte_end":46196,"line_start":293,"line_end":293,"column_start":1,"column_end":10}}]},{"kind":"Struct","id":{"krate":0,"index":602},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46646,"byte_end":46654,"line_start":309,"line_end":309,"column_start":12,"column_end":20},"name":"FindIter","qualname":"::memmem::FindIter","value":"FindIter {  }","parent":null,"children":[{"krate":0,"index":605},{"krate":0,"index":606},{"krate":0,"index":607},{"krate":0,"index":608}],"decl_id":null,"docs":" An iterator over non-overlapping substring matches.","sig":null,"attributes":[{"value":"/ An iterator over non-overlapping substring matches.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46402,"byte_end":46457,"line_start":302,"line_end":302,"column_start":1,"column_end":56}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46458,"byte_end":46461,"line_start":303,"line_end":303,"column_start":1,"column_end":4}},{"value":"/ Matches are reported by the byte offset at which they begin.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46462,"byte_end":46526,"line_start":304,"line_end":304,"column_start":1,"column_end":65}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46527,"byte_end":46530,"line_start":305,"line_end":305,"column_start":1,"column_end":4}},{"value":"/ `'h` is the lifetime of the haystack while `'n` is the lifetime of the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46531,"byte_end":46605,"line_start":306,"line_end":306,"column_start":1,"column_end":75}},{"value":"/ needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46606,"byte_end":46617,"line_start":307,"line_end":307,"column_start":1,"column_end":12}}]},{"kind":"Method","id":{"krate":0,"index":384},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47122,"byte_end":47126,"line_start":330,"line_end":330,"column_start":8,"column_end":12},"name":"next","qualname":"<FindIter as rustc_std_workspace_core::iter::Iterator>::next","value":"fn next(&mut Self) -> Option<usize>","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8483},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":613},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47879,"byte_end":47890,"line_start":356,"line_end":356,"column_start":12,"column_end":23},"name":"FindRevIter","qualname":"::memmem::FindRevIter","value":"FindRevIter {  }","parent":null,"children":[{"krate":0,"index":616},{"krate":0,"index":617},{"krate":0,"index":618}],"decl_id":null,"docs":" An iterator over non-overlapping substring matches in reverse.","sig":null,"attributes":[{"value":"/ An iterator over non-overlapping substring matches in reverse.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47624,"byte_end":47690,"line_start":349,"line_end":349,"column_start":1,"column_end":67}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47691,"byte_end":47694,"line_start":350,"line_end":350,"column_start":1,"column_end":4}},{"value":"/ Matches are reported by the byte offset at which they begin.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47695,"byte_end":47759,"line_start":351,"line_end":351,"column_start":1,"column_end":65}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47760,"byte_end":47763,"line_start":352,"line_end":352,"column_start":1,"column_end":4}},{"value":"/ `'h` is the lifetime of the haystack while `'n` is the lifetime of the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47764,"byte_end":47838,"line_start":353,"line_end":353,"column_start":1,"column_end":75}},{"value":"/ needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47839,"byte_end":47850,"line_start":354,"line_end":354,"column_start":1,"column_end":12}}]},{"kind":"Method","id":{"krate":0,"index":393},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":48445,"byte_end":48449,"line_start":378,"line_end":378,"column_start":8,"column_end":12},"name":"next","qualname":"<FindRevIter as rustc_std_workspace_core::iter::Iterator>::next","value":"fn next(&mut Self) -> Option<usize>","parent":{"krate":2,"index":8481},"children":[],"decl_id":{"krate":2,"index":8483},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":623},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49740,"byte_end":49746,"line_start":412,"line_end":412,"column_start":12,"column_end":18},"name":"Finder","qualname":"::memmem::Finder","value":"Finder {  }","parent":null,"children":[{"krate":0,"index":625}],"decl_id":null,"docs":" A single substring searcher fixed to a particular needle.","sig":null,"attributes":[{"value":"/ A single substring searcher fixed to a particular needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":48947,"byte_end":49008,"line_start":398,"line_end":398,"column_start":1,"column_end":62}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49009,"byte_end":49012,"line_start":399,"line_end":399,"column_start":1,"column_end":4}},{"value":"/ The purpose of this type is to permit callers to construct a substring","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49013,"byte_end":49087,"line_start":400,"line_end":400,"column_start":1,"column_end":75}},{"value":"/ searcher that can be used to search haystacks without the overhead of","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49088,"byte_end":49161,"line_start":401,"line_end":401,"column_start":1,"column_end":74}},{"value":"/ constructing the searcher in the first place. This is a somewhat niche","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49162,"byte_end":49236,"line_start":402,"line_end":402,"column_start":1,"column_end":75}},{"value":"/ concern when it's necessary to re-use the same needle to search multiple","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49237,"byte_end":49313,"line_start":403,"line_end":403,"column_start":1,"column_end":77}},{"value":"/ different haystacks with as little overhead as possible. In general, using","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49314,"byte_end":49392,"line_start":404,"line_end":404,"column_start":1,"column_end":79}},{"value":"/ [`find`] is good enough, but `Finder` is useful when you can meaningfully","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49393,"byte_end":49470,"line_start":405,"line_end":405,"column_start":1,"column_end":78}},{"value":"/ observe searcher construction time in a profile.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49471,"byte_end":49523,"line_start":406,"line_end":406,"column_start":1,"column_end":53}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49524,"byte_end":49527,"line_start":407,"line_end":407,"column_start":1,"column_end":4}},{"value":"/ When the `std` feature is enabled, then this type has an `into_owned`","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49528,"byte_end":49601,"line_start":408,"line_end":408,"column_start":1,"column_end":74}},{"value":"/ version which permits building a `Finder` that is not connected to","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49602,"byte_end":49672,"line_start":409,"line_end":409,"column_start":1,"column_end":71}},{"value":"/ the lifetime of its needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49673,"byte_end":49704,"line_start":410,"line_end":410,"column_start":1,"column_end":32}}]},{"kind":"Method","id":{"krate":0,"index":396},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49881,"byte_end":49884,"line_start":419,"line_end":419,"column_start":12,"column_end":15},"name":"new","qualname":"<Finder>::new","value":"fn new<B>(&'n B) -> Finder where B: ?Sized + AsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Create a new finder for the given needle.\n","sig":null,"attributes":[{"value":"/ Create a new finder for the given needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49810,"byte_end":49855,"line_start":417,"line_end":417,"column_start":5,"column_end":50}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49860,"byte_end":49869,"line_start":418,"line_end":418,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":398},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50812,"byte_end":50816,"line_start":447,"line_end":447,"column_start":12,"column_end":16},"name":"find","qualname":"<Finder>::find","value":"fn find(&Self, &[u8]) -> Option<usize>","parent":null,"children":[],"decl_id":null,"docs":" Returns the index of the first occurrence of this needle in the given\n haystack.","sig":null,"attributes":[{"value":"/ Returns the index of the first occurrence of this needle in the given","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50003,"byte_end":50076,"line_start":423,"line_end":423,"column_start":5,"column_end":78}},{"value":"/ haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50081,"byte_end":50094,"line_start":424,"line_end":424,"column_start":5,"column_end":18}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50099,"byte_end":50102,"line_start":425,"line_end":425,"column_start":5,"column_end":8}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50107,"byte_end":50123,"line_start":426,"line_end":426,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50128,"byte_end":50131,"line_start":427,"line_end":427,"column_start":5,"column_end":8}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50136,"byte_end":50208,"line_start":428,"line_end":428,"column_start":5,"column_end":77}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50213,"byte_end":50285,"line_start":429,"line_end":429,"column_start":5,"column_end":77}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50290,"byte_end":50337,"line_start":430,"line_end":430,"column_start":5,"column_end":52}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50342,"byte_end":50345,"line_start":431,"line_end":431,"column_start":5,"column_end":8}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50350,"byte_end":50419,"line_start":432,"line_end":432,"column_start":5,"column_end":74}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50424,"byte_end":50439,"line_start":433,"line_end":433,"column_start":5,"column_end":20}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50444,"byte_end":50447,"line_start":434,"line_end":434,"column_start":5,"column_end":8}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50452,"byte_end":50466,"line_start":435,"line_end":435,"column_start":5,"column_end":19}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50471,"byte_end":50474,"line_start":436,"line_end":436,"column_start":5,"column_end":8}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50479,"byte_end":50495,"line_start":437,"line_end":437,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50500,"byte_end":50503,"line_start":438,"line_end":438,"column_start":5,"column_end":8}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50508,"byte_end":50515,"line_start":439,"line_end":439,"column_start":5,"column_end":12}},{"value":"/ use memchr::memmem::Finder;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50520,"byte_end":50551,"line_start":440,"line_end":440,"column_start":5,"column_end":36}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50556,"byte_end":50559,"line_start":441,"line_end":441,"column_start":5,"column_end":8}},{"value":"/ let haystack = b\"foo bar baz\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50564,"byte_end":50598,"line_start":442,"line_end":442,"column_start":5,"column_end":39}},{"value":"/ assert_eq!(Some(0), Finder::new(\"foo\").find(haystack));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50603,"byte_end":50662,"line_start":443,"line_end":443,"column_start":5,"column_end":64}},{"value":"/ assert_eq!(Some(4), Finder::new(\"bar\").find(haystack));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50667,"byte_end":50726,"line_start":444,"line_end":444,"column_start":5,"column_end":64}},{"value":"/ assert_eq!(None, Finder::new(\"quux\").find(haystack));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50731,"byte_end":50788,"line_start":445,"line_end":445,"column_start":5,"column_end":62}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50793,"byte_end":50800,"line_start":446,"line_end":446,"column_start":5,"column_end":12}}]},{"kind":"Method","id":{"krate":0,"index":399},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51819,"byte_end":51828,"line_start":478,"line_end":478,"column_start":12,"column_end":21},"name":"find_iter","qualname":"<Finder>::find_iter","value":"fn find_iter<'a, 'h>(&'a Self, &'h [u8]) -> FindIter","parent":null,"children":[],"decl_id":null,"docs":" Returns an iterator over all occurrences of a substring in a haystack.","sig":null,"attributes":[{"value":"/ Returns an iterator over all occurrences of a substring in a haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":50946,"byte_end":51020,"line_start":451,"line_end":451,"column_start":5,"column_end":79}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51025,"byte_end":51028,"line_start":452,"line_end":452,"column_start":5,"column_end":8}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51033,"byte_end":51049,"line_start":453,"line_end":453,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51054,"byte_end":51057,"line_start":454,"line_end":454,"column_start":5,"column_end":8}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51062,"byte_end":51134,"line_start":455,"line_end":455,"column_start":5,"column_end":77}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51139,"byte_end":51211,"line_start":456,"line_end":456,"column_start":5,"column_end":77}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51216,"byte_end":51263,"line_start":457,"line_end":457,"column_start":5,"column_end":52}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51268,"byte_end":51271,"line_start":458,"line_end":458,"column_start":5,"column_end":8}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51276,"byte_end":51345,"line_start":459,"line_end":459,"column_start":5,"column_end":74}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51350,"byte_end":51365,"line_start":460,"line_end":460,"column_start":5,"column_end":20}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51370,"byte_end":51373,"line_start":461,"line_end":461,"column_start":5,"column_end":8}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51378,"byte_end":51392,"line_start":462,"line_end":462,"column_start":5,"column_end":19}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51397,"byte_end":51400,"line_start":463,"line_end":463,"column_start":5,"column_end":8}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51405,"byte_end":51421,"line_start":464,"line_end":464,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51426,"byte_end":51429,"line_start":465,"line_end":465,"column_start":5,"column_end":8}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51434,"byte_end":51441,"line_start":466,"line_end":466,"column_start":5,"column_end":12}},{"value":"/ use memchr::memmem::Finder;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51446,"byte_end":51477,"line_start":467,"line_end":467,"column_start":5,"column_end":36}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51482,"byte_end":51485,"line_start":468,"line_end":468,"column_start":5,"column_end":8}},{"value":"/ let haystack = b\"foo bar foo baz foo\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51490,"byte_end":51532,"line_start":469,"line_end":469,"column_start":5,"column_end":47}},{"value":"/ let finder = Finder::new(b\"foo\");","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51537,"byte_end":51574,"line_start":470,"line_end":470,"column_start":5,"column_end":42}},{"value":"/ let mut it = finder.find_iter(haystack);","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51579,"byte_end":51623,"line_start":471,"line_end":471,"column_start":5,"column_end":49}},{"value":"/ assert_eq!(Some(0), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51628,"byte_end":51663,"line_start":472,"line_end":472,"column_start":5,"column_end":40}},{"value":"/ assert_eq!(Some(8), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51668,"byte_end":51703,"line_start":473,"line_end":473,"column_start":5,"column_end":40}},{"value":"/ assert_eq!(Some(16), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51708,"byte_end":51744,"line_start":474,"line_end":474,"column_start":5,"column_end":41}},{"value":"/ assert_eq!(None, it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51749,"byte_end":51781,"line_start":475,"line_end":475,"column_start":5,"column_end":37}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51786,"byte_end":51793,"line_start":476,"line_end":476,"column_start":5,"column_end":12}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":51798,"byte_end":51807,"line_start":477,"line_end":477,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":402},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52994,"byte_end":53000,"line_start":509,"line_end":509,"column_start":12,"column_end":18},"name":"as_ref","qualname":"<Finder>::as_ref","value":"fn as_ref(&Self) -> Finder","parent":null,"children":[],"decl_id":null,"docs":" Convert this finder into its borrowed variant.","sig":null,"attributes":[{"value":"/ Convert this finder into its borrowed variant.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52418,"byte_end":52468,"line_start":498,"line_end":498,"column_start":5,"column_end":55}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52473,"byte_end":52476,"line_start":499,"line_end":499,"column_start":5,"column_end":8}},{"value":"/ This is primarily useful if your finder is owned and you'd like to","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52481,"byte_end":52551,"line_start":500,"line_end":500,"column_start":5,"column_end":75}},{"value":"/ store its borrowed variant in some intermediate data structure.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52556,"byte_end":52623,"line_start":501,"line_end":501,"column_start":5,"column_end":72}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52628,"byte_end":52631,"line_start":502,"line_end":502,"column_start":5,"column_end":8}},{"value":"/ Note that the lifetime parameter of the returned finder is tied to the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52636,"byte_end":52710,"line_start":503,"line_end":503,"column_start":5,"column_end":79}},{"value":"/ lifetime of `self`, and may be shorter than the `'n` lifetime of the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52715,"byte_end":52787,"line_start":504,"line_end":504,"column_start":5,"column_end":77}},{"value":"/ needle itself. Namely, a finder's needle can be either borrowed or","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52792,"byte_end":52862,"line_start":505,"line_end":505,"column_start":5,"column_end":75}},{"value":"/ owned, so the lifetime of the needle returned must necessarily be the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52867,"byte_end":52940,"line_start":506,"line_end":506,"column_start":5,"column_end":78}},{"value":"/ shorter of the two.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52945,"byte_end":52968,"line_start":507,"line_end":507,"column_start":5,"column_end":28}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":52973,"byte_end":52982,"line_start":508,"line_end":508,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":403},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53476,"byte_end":53482,"line_start":520,"line_end":520,"column_start":12,"column_end":18},"name":"needle","qualname":"<Finder>::needle","value":"fn needle(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" Returns the needle that this finder searches for.","sig":null,"attributes":[{"value":"/ Returns the needle that this finder searches for.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53087,"byte_end":53140,"line_start":513,"line_end":513,"column_start":5,"column_end":58}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53145,"byte_end":53148,"line_start":514,"line_end":514,"column_start":5,"column_end":8}},{"value":"/ Note that the lifetime of the needle returned is tied to the lifetime","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53153,"byte_end":53226,"line_start":515,"line_end":515,"column_start":5,"column_end":78}},{"value":"/ of the finder, and may be shorter than the `'n` lifetime. Namely, a","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53231,"byte_end":53302,"line_start":516,"line_end":516,"column_start":5,"column_end":76}},{"value":"/ finder's needle can be either borrowed or owned, so the lifetime of the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53307,"byte_end":53382,"line_start":517,"line_end":517,"column_start":5,"column_end":80}},{"value":"/ needle returned must necessarily be the shorter of the two.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53387,"byte_end":53450,"line_start":518,"line_end":518,"column_start":5,"column_end":68}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53455,"byte_end":53464,"line_start":519,"line_end":519,"column_start":5,"column_end":14}}]},{"kind":"Struct","id":{"krate":0,"index":632},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54349,"byte_end":54358,"line_start":539,"line_end":539,"column_start":12,"column_end":21},"name":"FinderRev","qualname":"::memmem::FinderRev","value":"FinderRev {  }","parent":null,"children":[{"krate":0,"index":634}],"decl_id":null,"docs":" A single substring reverse searcher fixed to a particular needle.","sig":null,"attributes":[{"value":"/ A single substring reverse searcher fixed to a particular needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53541,"byte_end":53610,"line_start":525,"line_end":525,"column_start":1,"column_end":70}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53611,"byte_end":53614,"line_start":526,"line_end":526,"column_start":1,"column_end":4}},{"value":"/ The purpose of this type is to permit callers to construct a substring","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53615,"byte_end":53689,"line_start":527,"line_end":527,"column_start":1,"column_end":75}},{"value":"/ searcher that can be used to search haystacks without the overhead of","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53690,"byte_end":53763,"line_start":528,"line_end":528,"column_start":1,"column_end":74}},{"value":"/ constructing the searcher in the first place. This is a somewhat niche","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53764,"byte_end":53838,"line_start":529,"line_end":529,"column_start":1,"column_end":75}},{"value":"/ concern when it's necessary to re-use the same needle to search multiple","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53839,"byte_end":53915,"line_start":530,"line_end":530,"column_start":1,"column_end":77}},{"value":"/ different haystacks with as little overhead as possible. In general,","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53916,"byte_end":53988,"line_start":531,"line_end":531,"column_start":1,"column_end":73}},{"value":"/ using [`rfind`] is good enough, but `FinderRev` is useful when you can","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":53989,"byte_end":54063,"line_start":532,"line_end":532,"column_start":1,"column_end":75}},{"value":"/ meaningfully observe searcher construction time in a profile.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54064,"byte_end":54129,"line_start":533,"line_end":533,"column_start":1,"column_end":66}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54130,"byte_end":54133,"line_start":534,"line_end":534,"column_start":1,"column_end":4}},{"value":"/ When the `std` feature is enabled, then this type has an `into_owned`","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54134,"byte_end":54207,"line_start":535,"line_end":535,"column_start":1,"column_end":74}},{"value":"/ version which permits building a `FinderRev` that is not connected to","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54208,"byte_end":54281,"line_start":536,"line_end":536,"column_start":1,"column_end":74}},{"value":"/ the lifetime of its needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54282,"byte_end":54313,"line_start":537,"line_end":537,"column_start":1,"column_end":32}}]},{"kind":"Method","id":{"krate":0,"index":406},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54507,"byte_end":54510,"line_start":546,"line_end":546,"column_start":12,"column_end":15},"name":"new","qualname":"<FinderRev>::new","value":"fn new<B>(&'n B) -> FinderRev where B: ?Sized + AsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Create a new reverse finder for the given needle.\n","sig":null,"attributes":[{"value":"/ Create a new reverse finder for the given needle.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54428,"byte_end":54481,"line_start":544,"line_end":544,"column_start":5,"column_end":58}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54486,"byte_end":54495,"line_start":545,"line_end":545,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":408},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55612,"byte_end":55617,"line_start":577,"line_end":577,"column_start":12,"column_end":17},"name":"rfind","qualname":"<FinderRev>::rfind","value":"fn rfind<B>(&Self, B) -> Option<usize> where B: AsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Returns the index of the last occurrence of this needle in the given\n haystack.","sig":null,"attributes":[{"value":"/ Returns the index of the last occurrence of this needle in the given","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54632,"byte_end":54704,"line_start":550,"line_end":550,"column_start":5,"column_end":77}},{"value":"/ haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54709,"byte_end":54722,"line_start":551,"line_end":551,"column_start":5,"column_end":18}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54727,"byte_end":54730,"line_start":552,"line_end":552,"column_start":5,"column_end":8}},{"value":"/ The haystack may be any type that can be cheaply converted into a","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54735,"byte_end":54804,"line_start":553,"line_end":553,"column_start":5,"column_end":74}},{"value":"/ `&[u8]`. This includes, but is not limited to, `&str` and `&[u8]`.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54809,"byte_end":54879,"line_start":554,"line_end":554,"column_start":5,"column_end":75}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54884,"byte_end":54887,"line_start":555,"line_end":555,"column_start":5,"column_end":8}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54892,"byte_end":54908,"line_start":556,"line_end":556,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54913,"byte_end":54916,"line_start":557,"line_end":557,"column_start":5,"column_end":8}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54921,"byte_end":54993,"line_start":558,"line_end":558,"column_start":5,"column_end":77}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54998,"byte_end":55070,"line_start":559,"line_end":559,"column_start":5,"column_end":77}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55075,"byte_end":55122,"line_start":560,"line_end":560,"column_start":5,"column_end":52}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55127,"byte_end":55130,"line_start":561,"line_end":561,"column_start":5,"column_end":8}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55135,"byte_end":55204,"line_start":562,"line_end":562,"column_start":5,"column_end":74}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55209,"byte_end":55224,"line_start":563,"line_end":563,"column_start":5,"column_end":20}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55229,"byte_end":55232,"line_start":564,"line_end":564,"column_start":5,"column_end":8}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55237,"byte_end":55251,"line_start":565,"line_end":565,"column_start":5,"column_end":19}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55256,"byte_end":55259,"line_start":566,"line_end":566,"column_start":5,"column_end":8}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55264,"byte_end":55280,"line_start":567,"line_end":567,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55285,"byte_end":55288,"line_start":568,"line_end":568,"column_start":5,"column_end":8}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55293,"byte_end":55300,"line_start":569,"line_end":569,"column_start":5,"column_end":12}},{"value":"/ use memchr::memmem::FinderRev;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55305,"byte_end":55339,"line_start":570,"line_end":570,"column_start":5,"column_end":39}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55344,"byte_end":55347,"line_start":571,"line_end":571,"column_start":5,"column_end":8}},{"value":"/ let haystack = b\"foo bar baz\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55352,"byte_end":55386,"line_start":572,"line_end":572,"column_start":5,"column_end":39}},{"value":"/ assert_eq!(Some(0), FinderRev::new(\"foo\").rfind(haystack));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55391,"byte_end":55454,"line_start":573,"line_end":573,"column_start":5,"column_end":68}},{"value":"/ assert_eq!(Some(4), FinderRev::new(\"bar\").rfind(haystack));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55459,"byte_end":55522,"line_start":574,"line_end":574,"column_start":5,"column_end":68}},{"value":"/ assert_eq!(None, FinderRev::new(\"quux\").rfind(haystack));","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55527,"byte_end":55588,"line_start":575,"line_end":575,"column_start":5,"column_end":66}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55593,"byte_end":55600,"line_start":576,"line_end":576,"column_start":5,"column_end":12}}]},{"kind":"Method","id":{"krate":0,"index":410},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56626,"byte_end":56636,"line_start":609,"line_end":609,"column_start":12,"column_end":22},"name":"rfind_iter","qualname":"<FinderRev>::rfind_iter","value":"fn rfind_iter<'a, 'h>(&'a Self, &'h [u8]) -> FindRevIter","parent":null,"children":[],"decl_id":null,"docs":" Returns a reverse iterator over all occurrences of a substring in a\n haystack.","sig":null,"attributes":[{"value":"/ Returns a reverse iterator over all occurrences of a substring in a","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55731,"byte_end":55802,"line_start":581,"line_end":581,"column_start":5,"column_end":76}},{"value":"/ haystack.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55807,"byte_end":55820,"line_start":582,"line_end":582,"column_start":5,"column_end":18}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55825,"byte_end":55828,"line_start":583,"line_end":583,"column_start":5,"column_end":8}},{"value":"/ # Complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55833,"byte_end":55849,"line_start":584,"line_end":584,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55854,"byte_end":55857,"line_start":585,"line_end":585,"column_start":5,"column_end":8}},{"value":"/ This routine is guaranteed to have worst case linear time complexity","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55862,"byte_end":55934,"line_start":586,"line_end":586,"column_start":5,"column_end":77}},{"value":"/ with respect to both the needle and the haystack. That is, this runs","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":55939,"byte_end":56011,"line_start":587,"line_end":587,"column_start":5,"column_end":77}},{"value":"/ in `O(needle.len() + haystack.len())` time.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56016,"byte_end":56063,"line_start":588,"line_end":588,"column_start":5,"column_end":52}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56068,"byte_end":56071,"line_start":589,"line_end":589,"column_start":5,"column_end":8}},{"value":"/ This routine is also guaranteed to have worst case constant space","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56076,"byte_end":56145,"line_start":590,"line_end":590,"column_start":5,"column_end":74}},{"value":"/ complexity.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56150,"byte_end":56165,"line_start":591,"line_end":591,"column_start":5,"column_end":20}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56170,"byte_end":56173,"line_start":592,"line_end":592,"column_start":5,"column_end":8}},{"value":"/ # Examples","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56178,"byte_end":56192,"line_start":593,"line_end":593,"column_start":5,"column_end":19}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56197,"byte_end":56200,"line_start":594,"line_end":594,"column_start":5,"column_end":8}},{"value":"/ Basic usage:","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56205,"byte_end":56221,"line_start":595,"line_end":595,"column_start":5,"column_end":21}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56226,"byte_end":56229,"line_start":596,"line_end":596,"column_start":5,"column_end":8}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56234,"byte_end":56241,"line_start":597,"line_end":597,"column_start":5,"column_end":12}},{"value":"/ use memchr::memmem::FinderRev;","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56246,"byte_end":56280,"line_start":598,"line_end":598,"column_start":5,"column_end":39}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56285,"byte_end":56288,"line_start":599,"line_end":599,"column_start":5,"column_end":8}},{"value":"/ let haystack = b\"foo bar foo baz foo\";","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56293,"byte_end":56335,"line_start":600,"line_end":600,"column_start":5,"column_end":47}},{"value":"/ let finder = FinderRev::new(b\"foo\");","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56340,"byte_end":56380,"line_start":601,"line_end":601,"column_start":5,"column_end":45}},{"value":"/ let mut it = finder.rfind_iter(haystack);","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56385,"byte_end":56430,"line_start":602,"line_end":602,"column_start":5,"column_end":50}},{"value":"/ assert_eq!(Some(16), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56435,"byte_end":56471,"line_start":603,"line_end":603,"column_start":5,"column_end":41}},{"value":"/ assert_eq!(Some(8), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56476,"byte_end":56511,"line_start":604,"line_end":604,"column_start":5,"column_end":40}},{"value":"/ assert_eq!(Some(0), it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56516,"byte_end":56551,"line_start":605,"line_end":605,"column_start":5,"column_end":40}},{"value":"/ assert_eq!(None, it.next());","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56556,"byte_end":56588,"line_start":606,"line_end":606,"column_start":5,"column_end":37}},{"value":"/ ```","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56593,"byte_end":56600,"line_start":607,"line_end":607,"column_start":5,"column_end":12}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":56605,"byte_end":56614,"line_start":608,"line_end":608,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":413},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57814,"byte_end":57820,"line_start":640,"line_end":640,"column_start":12,"column_end":18},"name":"as_ref","qualname":"<FinderRev>::as_ref","value":"fn as_ref(&Self) -> FinderRev","parent":null,"children":[],"decl_id":null,"docs":" Convert this finder into its borrowed variant.","sig":null,"attributes":[{"value":"/ Convert this finder into its borrowed variant.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57238,"byte_end":57288,"line_start":629,"line_end":629,"column_start":5,"column_end":55}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57293,"byte_end":57296,"line_start":630,"line_end":630,"column_start":5,"column_end":8}},{"value":"/ This is primarily useful if your finder is owned and you'd like to","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57301,"byte_end":57371,"line_start":631,"line_end":631,"column_start":5,"column_end":75}},{"value":"/ store its borrowed variant in some intermediate data structure.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57376,"byte_end":57443,"line_start":632,"line_end":632,"column_start":5,"column_end":72}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57448,"byte_end":57451,"line_start":633,"line_end":633,"column_start":5,"column_end":8}},{"value":"/ Note that the lifetime parameter of the returned finder is tied to the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57456,"byte_end":57530,"line_start":634,"line_end":634,"column_start":5,"column_end":79}},{"value":"/ lifetime of `self`, and may be shorter than the `'n` lifetime of the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57535,"byte_end":57607,"line_start":635,"line_end":635,"column_start":5,"column_end":77}},{"value":"/ needle itself. Namely, a finder's needle can be either borrowed or","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57612,"byte_end":57682,"line_start":636,"line_end":636,"column_start":5,"column_end":75}},{"value":"/ owned, so the lifetime of the needle returned must necessarily be the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57687,"byte_end":57760,"line_start":637,"line_end":637,"column_start":5,"column_end":78}},{"value":"/ shorter of the two.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57765,"byte_end":57788,"line_start":638,"line_end":638,"column_start":5,"column_end":28}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57793,"byte_end":57802,"line_start":639,"line_end":639,"column_start":5,"column_end":14}}]},{"kind":"Method","id":{"krate":0,"index":414},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58302,"byte_end":58308,"line_start":651,"line_end":651,"column_start":12,"column_end":18},"name":"needle","qualname":"<FinderRev>::needle","value":"fn needle(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" Returns the needle that this finder searches for.","sig":null,"attributes":[{"value":"/ Returns the needle that this finder searches for.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57913,"byte_end":57966,"line_start":644,"line_end":644,"column_start":5,"column_end":58}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57971,"byte_end":57974,"line_start":645,"line_end":645,"column_start":5,"column_end":8}},{"value":"/ Note that the lifetime of the needle returned is tied to the lifetime","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":57979,"byte_end":58052,"line_start":646,"line_end":646,"column_start":5,"column_end":78}},{"value":"/ of the finder, and may be shorter than the `'n` lifetime. Namely, a","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58057,"byte_end":58128,"line_start":647,"line_end":647,"column_start":5,"column_end":76}},{"value":"/ finder's needle can be either borrowed or owned, so the lifetime of the","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58133,"byte_end":58208,"line_start":648,"line_end":648,"column_start":5,"column_end":80}},{"value":"/ needle returned must necessarily be the shorter of the two.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58213,"byte_end":58276,"line_start":649,"line_end":649,"column_start":5,"column_end":68}},{"value":"inline","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58281,"byte_end":58290,"line_start":650,"line_end":650,"column_start":5,"column_end":14}}]},{"kind":"Struct","id":{"krate":0,"index":641},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58697,"byte_end":58710,"line_start":662,"line_end":662,"column_start":12,"column_end":25},"name":"FinderBuilder","qualname":"::memmem::FinderBuilder","value":"FinderBuilder {  }","parent":null,"children":[{"krate":0,"index":642}],"decl_id":null,"docs":" A builder for constructing non-default forward or reverse memmem finders.","sig":null,"attributes":[{"value":"/ A builder for constructing non-default forward or reverse memmem finders.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58367,"byte_end":58444,"line_start":656,"line_end":656,"column_start":1,"column_end":78}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58445,"byte_end":58448,"line_start":657,"line_end":657,"column_start":1,"column_end":4}},{"value":"/ A builder is primarily useful for configuring a substring searcher.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58449,"byte_end":58520,"line_start":658,"line_end":658,"column_start":1,"column_end":72}},{"value":"/ Currently, the only configuration exposed is the ability to disable","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58521,"byte_end":58592,"line_start":659,"line_end":659,"column_start":1,"column_end":72}},{"value":"/ heuristic prefilters used to speed up certain searches.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58593,"byte_end":58652,"line_start":660,"line_end":660,"column_start":1,"column_end":60}}]},{"kind":"Method","id":{"krate":0,"index":416},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58835,"byte_end":58838,"line_start":668,"line_end":668,"column_start":12,"column_end":15},"name":"new","qualname":"<FinderBuilder>::new","value":"fn new() -> FinderBuilder","parent":null,"children":[],"decl_id":null,"docs":" Create a new finder builder with default settings.\n","sig":null,"attributes":[{"value":"/ Create a new finder builder with default settings.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58769,"byte_end":58823,"line_start":667,"line_end":667,"column_start":5,"column_end":59}}]},{"kind":"Method","id":{"krate":0,"index":417},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59000,"byte_end":59013,"line_start":674,"line_end":674,"column_start":12,"column_end":25},"name":"build_forward","qualname":"<FinderBuilder>::build_forward","value":"fn build_forward<'n, B>(&Self, &'n B) -> Finder where B: ?Sized + AsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Build a forward finder using the given needle from the current\n settings.\n","sig":null,"attributes":[{"value":"/ Build a forward finder using the given needle from the current","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58904,"byte_end":58970,"line_start":672,"line_end":672,"column_start":5,"column_end":71}},{"value":"/ settings.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58975,"byte_end":58988,"line_start":673,"line_end":673,"column_start":5,"column_end":18}}]},{"kind":"Method","id":{"krate":0,"index":420},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59284,"byte_end":59297,"line_start":683,"line_end":683,"column_start":12,"column_end":25},"name":"build_reverse","qualname":"<FinderBuilder>::build_reverse","value":"fn build_reverse<'n, B>(&Self, &'n B) -> FinderRev where B: ?Sized +\nAsRef<[u8]>","parent":null,"children":[],"decl_id":null,"docs":" Build a reverse finder using the given needle from the current\n settings.\n","sig":null,"attributes":[{"value":"/ Build a reverse finder using the given needle from the current","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59188,"byte_end":59254,"line_start":681,"line_end":681,"column_start":5,"column_end":71}},{"value":"/ settings.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59259,"byte_end":59272,"line_start":682,"line_end":682,"column_start":5,"column_end":18}}]},{"kind":"Method","id":{"krate":0,"index":423},"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59656,"byte_end":59665,"line_start":694,"line_end":694,"column_start":12,"column_end":21},"name":"prefilter","qualname":"<FinderBuilder>::prefilter","value":"fn prefilter(&mut Self, Prefilter) -> &mut FinderBuilder","parent":null,"children":[],"decl_id":null,"docs":" Configure the prefilter setting for the finder.","sig":null,"attributes":[{"value":"/ Configure the prefilter setting for the finder.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59468,"byte_end":59519,"line_start":690,"line_end":690,"column_start":5,"column_end":56}},{"value":"/","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59524,"byte_end":59527,"line_start":691,"line_end":691,"column_start":5,"column_end":8}},{"value":"/ See the documentation for [`Prefilter`] for more discussion on why","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59532,"byte_end":59602,"line_start":692,"line_end":692,"column_start":5,"column_end":75}},{"value":"/ you might want to configure this.","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":59607,"byte_end":59644,"line_start":693,"line_end":693,"column_start":5,"column_end":42}}]}],"impls":[{"id":0,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7453,"byte_end":7461,"line_start":26,"line_end":26,"column_start":25,"column_end":33},"value":"","parent":null,"children":[{"krate":0,"index":56},{"krate":0,"index":57}],"docs":"","sig":null,"attributes":[]},{"id":1,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7588,"byte_end":7596,"line_start":35,"line_end":35,"column_start":10,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":60},{"krate":0,"index":62}],"docs":"","sig":null,"attributes":[]},{"id":2,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8678,"byte_end":8681,"line_start":70,"line_end":70,"column_start":10,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":65},{"krate":0,"index":66}],"docs":"","sig":null,"attributes":[]},{"id":3,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33712,"byte_end":33718,"line_start":42,"line_end":42,"column_start":10,"column_end":16},"value":"","parent":null,"children":[{"krate":0,"index":143}],"docs":"","sig":null,"attributes":[]},{"id":4,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33977,"byte_end":33983,"line_start":50,"line_end":50,"column_start":23,"column_end":29},"value":"","parent":null,"children":[{"krate":0,"index":146},{"krate":0,"index":147},{"krate":0,"index":148}],"docs":"","sig":null,"attributes":[]},{"id":5,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34285,"byte_end":34291,"line_start":64,"line_end":64,"column_start":34,"column_end":40},"value":"","parent":null,"children":[{"krate":0,"index":151}],"docs":"","sig":null,"attributes":[]},{"id":6,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34640,"byte_end":34647,"line_start":81,"line_end":81,"column_start":10,"column_end":17},"value":"","parent":null,"children":[{"krate":0,"index":160}],"docs":"","sig":null,"attributes":[]},{"id":7,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34999,"byte_end":35006,"line_start":94,"line_end":94,"column_start":23,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":163},{"krate":0,"index":164},{"krate":0,"index":165}],"docs":"","sig":null,"attributes":[]},{"id":8,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35324,"byte_end":35331,"line_start":108,"line_end":108,"column_start":34,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":168}],"docs":"","sig":null,"attributes":[]},{"id":9,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35747,"byte_end":35754,"line_start":129,"line_end":129,"column_start":10,"column_end":17},"value":"","parent":null,"children":[{"krate":0,"index":178}],"docs":"","sig":null,"attributes":[]},{"id":10,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36182,"byte_end":36189,"line_start":148,"line_end":148,"column_start":23,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":181},{"krate":0,"index":182},{"krate":0,"index":183}],"docs":"","sig":null,"attributes":[]},{"id":11,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36555,"byte_end":36562,"line_start":165,"line_end":165,"column_start":34,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":186}],"docs":"","sig":null,"attributes":[]},{"id":12,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":86930,"byte_end":86933,"line_start":29,"line_end":29,"column_start":10,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":276},{"krate":0,"index":277}],"docs":"","sig":null,"attributes":[]},{"id":13,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":89730,"byte_end":89741,"line_start":93,"line_end":93,"column_start":6,"column_end":17},"value":"","parent":null,"children":[{"krate":0,"index":280},{"krate":0,"index":281}],"docs":"","sig":null,"attributes":[]},{"id":14,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90737,"byte_end":90748,"line_start":120,"line_end":120,"column_start":27,"column_end":38},"value":"","parent":null,"children":[{"krate":0,"index":283}],"docs":"","sig":null,"attributes":[]},{"id":15,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92691,"byte_end":92700,"line_start":162,"line_end":162,"column_start":18,"column_end":27},"value":"","parent":null,"children":[{"krate":0,"index":285}],"docs":"","sig":null,"attributes":[]},{"id":16,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92773,"byte_end":92782,"line_start":168,"line_end":168,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":287}],"docs":"","sig":null,"attributes":[]},{"id":17,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":94046,"byte_end":94060,"line_start":199,"line_end":199,"column_start":6,"column_end":20},"value":"","parent":null,"children":[{"krate":0,"index":289},{"krate":0,"index":290},{"krate":0,"index":291},{"krate":0,"index":292},{"krate":0,"index":293},{"krate":0,"index":294},{"krate":0,"index":295},{"krate":0,"index":296}],"docs":"","sig":null,"attributes":[]},{"id":18,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/rabinkarp.rs","byte_start":117713,"byte_end":117723,"line_start":115,"line_end":115,"column_start":6,"column_end":16},"value":"","parent":null,"children":[{"krate":0,"index":308},{"krate":0,"index":309},{"krate":0,"index":310}],"docs":"","sig":null,"attributes":[]},{"id":19,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/rabinkarp.rs","byte_start":119025,"byte_end":119029,"line_start":157,"line_end":157,"column_start":6,"column_end":10},"value":"","parent":null,"children":[{"krate":0,"index":312},{"krate":0,"index":313},{"krate":0,"index":314},{"krate":0,"index":315},{"krate":0,"index":316},{"krate":0,"index":317}],"docs":"","sig":null,"attributes":[]},{"id":20,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/rarebytes.rs","byte_start":123404,"byte_end":123419,"line_start":37,"line_end":37,"column_start":6,"column_end":21},"value":"","parent":null,"children":[{"krate":0,"index":322},{"krate":0,"index":323},{"krate":0,"index":324},{"krate":0,"index":325}],"docs":"","sig":null,"attributes":[]},{"id":21,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":131244,"byte_end":131251,"line_start":77,"line_end":77,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":339},{"krate":0,"index":340},{"krate":0,"index":341},{"krate":0,"index":342}],"docs":"","sig":null,"attributes":[]},{"id":22,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":136934,"byte_end":136941,"line_start":244,"line_end":244,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":344},{"krate":0,"index":345},{"krate":0,"index":346},{"krate":0,"index":347}],"docs":"","sig":null,"attributes":[]},{"id":23,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":141738,"byte_end":141744,"line_start":383,"line_end":383,"column_start":6,"column_end":12},"value":"","parent":null,"children":[{"krate":0,"index":349}],"docs":"","sig":null,"attributes":[]},{"id":24,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":143832,"byte_end":143837,"line_start":429,"line_end":429,"column_start":6,"column_end":11},"value":"","parent":null,"children":[{"krate":0,"index":351},{"krate":0,"index":352}],"docs":"","sig":null,"attributes":[]},{"id":25,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":146419,"byte_end":146425,"line_start":495,"line_end":495,"column_start":6,"column_end":12},"value":"","parent":null,"children":[{"krate":0,"index":354},{"krate":0,"index":355}],"docs":"","sig":null,"attributes":[]},{"id":26,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":151568,"byte_end":151578,"line_start":623,"line_end":623,"column_start":6,"column_end":16},"value":"","parent":null,"children":[{"krate":0,"index":357}],"docs":"","sig":null,"attributes":[]},{"id":27,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":152655,"byte_end":152673,"line_start":650,"line_end":650,"column_start":6,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":360},{"krate":0,"index":361}],"docs":"","sig":null,"attributes":[]},{"id":28,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46775,"byte_end":46783,"line_start":316,"line_end":316,"column_start":14,"column_end":22},"value":"","parent":null,"children":[{"krate":0,"index":379}],"docs":"","sig":null,"attributes":[]},{"id":29,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47072,"byte_end":47080,"line_start":327,"line_end":327,"column_start":27,"column_end":35},"value":"","parent":null,"children":[{"krate":0,"index":383},{"krate":0,"index":384}],"docs":"","sig":null,"attributes":[]},{"id":30,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":48114,"byte_end":48125,"line_start":364,"line_end":364,"column_start":14,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":388}],"docs":"","sig":null,"attributes":[]},{"id":31,"kind":"Direct","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":48392,"byte_end":48403,"line_start":375,"line_end":375,"column_start":27,"column_end":38},"value":"","parent":null,"children":[{"krate":0,"index":392},{"krate":0,"index":393}],"docs":"","sig":null,"attributes":[]},{"id":32,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49793,"byte_end":49799,"line_start":416,"line_end":416,"column_start":10,"column_end":16},"value":"","parent":null,"children":[{"krate":0,"index":396},{"krate":0,"index":398},{"krate":0,"index":399},{"krate":0,"index":402},{"krate":0,"index":403}],"docs":"","sig":null,"attributes":[]},{"id":33,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54408,"byte_end":54417,"line_start":543,"line_end":543,"column_start":10,"column_end":19},"value":"","parent":null,"children":[{"krate":0,"index":406},{"krate":0,"index":408},{"krate":0,"index":410},{"krate":0,"index":413},{"krate":0,"index":414}],"docs":"","sig":null,"attributes":[]},{"id":34,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58749,"byte_end":58762,"line_start":666,"line_end":666,"column_start":6,"column_end":19},"value":"","parent":null,"children":[{"krate":0,"index":416},{"krate":0,"index":417},{"krate":0,"index":420},{"krate":0,"index":423}],"docs":"","sig":null,"attributes":[]},{"id":35,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":63360,"byte_end":63368,"line_start":780,"line_end":780,"column_start":10,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":426},{"krate":0,"index":428},{"krate":0,"index":429},{"krate":0,"index":430},{"krate":0,"index":432},{"krate":0,"index":434}],"docs":"","sig":null,"attributes":[]},{"id":36,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":70739,"byte_end":70749,"line_start":987,"line_end":987,"column_start":6,"column_end":16},"value":"","parent":null,"children":[{"krate":0,"index":436}],"docs":"","sig":null,"attributes":[]},{"id":37,"kind":"Inherent","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":72179,"byte_end":72190,"line_start":1027,"line_end":1027,"column_start":10,"column_end":21},"value":"","parent":null,"children":[{"krate":0,"index":439},{"krate":0,"index":441},{"krate":0,"index":442},{"krate":0,"index":444}],"docs":"","sig":null,"attributes":[]}],"refs":[{"kind":"Mod","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9453,"byte_end":9461,"line_start":9,"line_end":9,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":81}},{"kind":"Mod","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/mod.rs","byte_start":9481,"byte_end":9486,"line_start":11,"line_end":11,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":187}},{"kind":"Mod","span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/lib.rs","byte_start":6555,"byte_end":6561,"line_start":179,"line_end":179,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":218}}],"macro_refs":[],"relations":[{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7453,"byte_end":7461,"line_start":26,"line_end":26,"column_start":25,"column_end":33},"kind":{"Impl":{"id":0}},"from":{"krate":0,"index":446},"to":{"krate":2,"index":3398}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":7588,"byte_end":7596,"line_start":35,"line_end":35,"column_start":10,"column_end":18},"kind":{"Impl":{"id":1}},"from":{"krate":0,"index":446},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/cow.rs","byte_start":8678,"byte_end":8681,"line_start":70,"line_end":70,"column_start":10,"column_end":13},"kind":{"Impl":{"id":2}},"from":{"krate":0,"index":456},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33712,"byte_end":33718,"line_start":42,"line_end":42,"column_start":10,"column_end":16},"kind":{"Impl":{"id":3}},"from":{"krate":0,"index":136},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":33977,"byte_end":33983,"line_start":50,"line_end":50,"column_start":23,"column_end":29},"kind":{"Impl":{"id":4}},"from":{"krate":0,"index":136},"to":{"krate":2,"index":8481}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34285,"byte_end":34291,"line_start":64,"line_end":64,"column_start":34,"column_end":40},"kind":{"Impl":{"id":5}},"from":{"krate":0,"index":136},"to":{"krate":2,"index":8330}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34640,"byte_end":34647,"line_start":81,"line_end":81,"column_start":10,"column_end":17},"kind":{"Impl":{"id":6}},"from":{"krate":0,"index":152},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":34999,"byte_end":35006,"line_start":94,"line_end":94,"column_start":23,"column_end":30},"kind":{"Impl":{"id":7}},"from":{"krate":0,"index":152},"to":{"krate":2,"index":8481}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35324,"byte_end":35331,"line_start":108,"line_end":108,"column_start":34,"column_end":41},"kind":{"Impl":{"id":8}},"from":{"krate":0,"index":152},"to":{"krate":2,"index":8330}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":35747,"byte_end":35754,"line_start":129,"line_end":129,"column_start":10,"column_end":17},"kind":{"Impl":{"id":9}},"from":{"krate":0,"index":169},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36182,"byte_end":36189,"line_start":148,"line_end":148,"column_start":23,"column_end":30},"kind":{"Impl":{"id":10}},"from":{"krate":0,"index":169},"to":{"krate":2,"index":8481}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memchr/iter.rs","byte_start":36555,"byte_end":36562,"line_start":165,"line_end":165,"column_start":34,"column_end":41},"kind":{"Impl":{"id":11}},"from":{"krate":0,"index":169},"to":{"krate":2,"index":8330}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":86930,"byte_end":86933,"line_start":29,"line_end":29,"column_start":10,"column_end":13},"kind":{"Impl":{"id":12}},"from":{"krate":0,"index":269},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":89730,"byte_end":89741,"line_start":93,"line_end":93,"column_start":6,"column_end":17},"kind":{"Impl":{"id":13}},"from":{"krate":0,"index":472},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":90737,"byte_end":90748,"line_start":120,"line_end":120,"column_start":27,"column_end":38},"kind":{"Impl":{"id":14}},"from":{"krate":0,"index":472},"to":{"krate":2,"index":10115}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92691,"byte_end":92700,"line_start":162,"line_end":162,"column_start":18,"column_end":27},"kind":{"Impl":{"id":15}},"from":{"krate":0,"index":478},"to":{"krate":2,"index":3157}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":92773,"byte_end":92782,"line_start":168,"line_end":168,"column_start":6,"column_end":15},"kind":{"Impl":{"id":16}},"from":{"krate":0,"index":478},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/prefilter/mod.rs","byte_start":94046,"byte_end":94060,"line_start":199,"line_end":199,"column_start":6,"column_end":20},"kind":{"Impl":{"id":17}},"from":{"krate":0,"index":488},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/rabinkarp.rs","byte_start":117713,"byte_end":117723,"line_start":115,"line_end":115,"column_start":6,"column_end":16},"kind":{"Impl":{"id":18}},"from":{"krate":0,"index":495},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/rabinkarp.rs","byte_start":119025,"byte_end":119029,"line_start":157,"line_end":157,"column_start":6,"column_end":10},"kind":{"Impl":{"id":19}},"from":{"krate":0,"index":505},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/rarebytes.rs","byte_start":123404,"byte_end":123419,"line_start":37,"line_end":37,"column_start":6,"column_end":21},"kind":{"Impl":{"id":20}},"from":{"krate":0,"index":522},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":131244,"byte_end":131251,"line_start":77,"line_end":77,"column_start":6,"column_end":13},"kind":{"Impl":{"id":21}},"from":{"krate":0,"index":532},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":136934,"byte_end":136941,"line_start":244,"line_end":244,"column_start":6,"column_end":13},"kind":{"Impl":{"id":22}},"from":{"krate":0,"index":540},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":141738,"byte_end":141744,"line_start":383,"line_end":383,"column_start":6,"column_end":12},"kind":{"Impl":{"id":23}},"from":{"krate":0,"index":548},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":143832,"byte_end":143837,"line_start":429,"line_end":429,"column_start":6,"column_end":11},"kind":{"Impl":{"id":24}},"from":{"krate":0,"index":557},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":146419,"byte_end":146425,"line_start":495,"line_end":495,"column_start":6,"column_end":12},"kind":{"Impl":{"id":25}},"from":{"krate":0,"index":567},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":151568,"byte_end":151578,"line_start":623,"line_end":623,"column_start":6,"column_end":16},"kind":{"Impl":{"id":26}},"from":{"krate":0,"index":572},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/twoway.rs","byte_start":152655,"byte_end":152673,"line_start":650,"line_end":650,"column_start":6,"column_end":24},"kind":{"Impl":{"id":27}},"from":{"krate":0,"index":594},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":46775,"byte_end":46783,"line_start":316,"line_end":316,"column_start":14,"column_end":22},"kind":{"Impl":{"id":28}},"from":{"krate":0,"index":602},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":47072,"byte_end":47080,"line_start":327,"line_end":327,"column_start":27,"column_end":35},"kind":{"Impl":{"id":29}},"from":{"krate":0,"index":602},"to":{"krate":2,"index":8481}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":48114,"byte_end":48125,"line_start":364,"line_end":364,"column_start":14,"column_end":25},"kind":{"Impl":{"id":30}},"from":{"krate":0,"index":613},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":48392,"byte_end":48403,"line_start":375,"line_end":375,"column_start":27,"column_end":38},"kind":{"Impl":{"id":31}},"from":{"krate":0,"index":613},"to":{"krate":2,"index":8481}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":49793,"byte_end":49799,"line_start":416,"line_end":416,"column_start":10,"column_end":16},"kind":{"Impl":{"id":32}},"from":{"krate":0,"index":623},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":54408,"byte_end":54417,"line_start":543,"line_end":543,"column_start":10,"column_end":19},"kind":{"Impl":{"id":33}},"from":{"krate":0,"index":632},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":58749,"byte_end":58762,"line_start":666,"line_end":666,"column_start":6,"column_end":19},"kind":{"Impl":{"id":34}},"from":{"krate":0,"index":641},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":63360,"byte_end":63368,"line_start":780,"line_end":780,"column_start":10,"column_end":18},"kind":{"Impl":{"id":35}},"from":{"krate":0,"index":649},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":70739,"byte_end":70749,"line_start":987,"line_end":987,"column_start":6,"column_end":16},"kind":{"Impl":{"id":36}},"from":{"krate":0,"index":661},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"/rustc/1.63.0/vendor/memchr-2.4.1/src/memmem/mod.rs","byte_start":72179,"byte_end":72190,"line_start":1027,"line_end":1027,"column_start":10,"column_end":21},"kind":{"Impl":{"id":37}},"from":{"krate":0,"index":691},"to":{"krate":4294967295,"index":4294967295}}]}