diff --git a/.gitmodules b/.gitmodules index 07fd44c2b2da..f9bd42edab3f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,10 +22,6 @@ path = library/stdarch url = https://github.com/rust-lang/stdarch.git shallow = true -[submodule "src/doc/rustc-dev-guide"] - path = src/doc/rustc-dev-guide - url = https://github.com/rust-lang/rustc-dev-guide.git - shallow = true [submodule "src/doc/edition-guide"] path = src/doc/edition-guide url = https://github.com/rust-lang/edition-guide.git diff --git a/src/bootstrap/src/core/build_steps/doc.rs b/src/bootstrap/src/core/build_steps/doc.rs index 68bb483be545..1e9f7cbd9b4c 100644 --- a/src/bootstrap/src/core/build_steps/doc.rs +++ b/src/bootstrap/src/core/build_steps/doc.rs @@ -63,7 +63,7 @@ fn run(self, builder: &Builder<'_>) { } // NOTE: When adding a book here, make sure to ALSO build the book by -// adding a build step in `src/bootstrap/builder.rs`! +// adding a build step in `src/bootstrap/code/builder/mod.rs`! // NOTE: Make sure to add the corresponding submodule when adding a new book. // FIXME: Make checking for a submodule automatic somehow (maybe by having a list of all submodules // and checking against it?). diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs index 6aa6e4e277d4..9312ff4c27a8 100644 --- a/src/bootstrap/src/core/build_steps/test.rs +++ b/src/bootstrap/src/core/build_steps/test.rs @@ -2525,35 +2525,6 @@ fn markdown_test(builder: &Builder<'_>, compiler: Compiler, markdown: &Path) -> } } -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct RustcGuide; - -impl Step for RustcGuide { - type Output = (); - const DEFAULT: bool = false; - const ONLY_HOSTS: bool = true; - - fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { - run.path("src/doc/rustc-dev-guide") - } - - fn make_run(run: RunConfig<'_>) { - run.builder.ensure(RustcGuide); - } - - fn run(self, builder: &Builder<'_>) { - let relative_path = "src/doc/rustc-dev-guide"; - builder.require_submodule(relative_path, None); - - let src = builder.src.join(relative_path); - let mut rustbook_cmd = builder.tool_cmd(Tool::Rustbook).delay_failure(); - rustbook_cmd.arg("linkcheck").arg(&src); - let toolstate = - if rustbook_cmd.run(builder) { ToolState::TestPass } else { ToolState::TestFail }; - builder.save_toolstate("rustc-dev-guide", toolstate); - } -} - #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct CrateLibrustc { compiler: Compiler, diff --git a/src/bootstrap/src/core/build_steps/toolstate.rs b/src/bootstrap/src/core/build_steps/toolstate.rs index 8ac311b24931..84871331bd50 100644 --- a/src/bootstrap/src/core/build_steps/toolstate.rs +++ b/src/bootstrap/src/core/build_steps/toolstate.rs @@ -76,10 +76,7 @@ fn days_since_beta_promotion() -> u64 { // We do require that we checked whether they build or not on the tools builder, // though, as otherwise we will be unable to file an issue if they start // failing. -static NIGHTLY_TOOLS: &[(&str, &str)] = &[ - ("embedded-book", "src/doc/embedded-book"), - // ("rustc-dev-guide", "src/doc/rustc-dev-guide"), -]; +static NIGHTLY_TOOLS: &[(&str, &str)] = &[("embedded-book", "src/doc/embedded-book")]; fn print_error(tool: &str, submodule: &str) { eprintln!(); diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs index b000d8775cfc..c3a74683cd32 100644 --- a/src/bootstrap/src/core/builder/mod.rs +++ b/src/bootstrap/src/core/builder/mod.rs @@ -951,7 +951,6 @@ macro_rules! describe { test::UnstableBook, test::RustcBook, test::LintDocs, - test::RustcGuide, test::EmbeddedBook, test::EditionGuide, test::Rustfmt, diff --git a/src/doc/rustc-dev-guide b/src/doc/rustc-dev-guide deleted file mode 160000 index ad93c5f1c49f..000000000000 --- a/src/doc/rustc-dev-guide +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ad93c5f1c49f2aeb45f7a4954017b1e607df9f5e diff --git a/src/doc/rustc-dev-guide/.editorconfig b/src/doc/rustc-dev-guide/.editorconfig new file mode 100644 index 000000000000..443c4c2849ca --- /dev/null +++ b/src/doc/rustc-dev-guide/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[src/*] +end_of_line = lf +insert_final_newline = true +max_line_length = 100 + +[ci/*.sh] +indent_style = space +indent_size = 2 diff --git a/src/doc/rustc-dev-guide/.gitattributes b/src/doc/rustc-dev-guide/.gitattributes new file mode 100644 index 000000000000..ba72ee959223 --- /dev/null +++ b/src/doc/rustc-dev-guide/.gitattributes @@ -0,0 +1,10 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto eol=lf + +# git grep shouldn't match entries in huge minified javascript +*.min.js binary + +# Older git versions try to fix line endings on images, this prevents it. +*.png binary +*.jpg binary +*.ico binary diff --git a/src/doc/rustc-dev-guide/.github/workflows/ci.yml b/src/doc/rustc-dev-guide/.github/workflows/ci.yml new file mode 100644 index 000000000000..07c20d8d88bf --- /dev/null +++ b/src/doc/rustc-dev-guide/.github/workflows/ci.yml @@ -0,0 +1,74 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + schedule: + # Run at 18:00 UTC every day + - cron: '0 18 * * *' + +jobs: + ci: + if: github.repository == 'rust-lang/rustc-dev-guide' + runs-on: ubuntu-latest + env: + MDBOOK_VERSION: 0.4.21 + MDBOOK_LINKCHECK2_VERSION: 0.8.1 + MDBOOK_MERMAID_VERSION: 0.12.6 + MDBOOK_TOC_VERSION: 0.11.2 + DEPLOY_DIR: book/html + BASE_SHA: ${{ github.event.pull_request.base.sha }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v4 + with: + # linkcheck needs the base commit. + fetch-depth: 0 + + - name: Cache binaries + id: mdbook-cache + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin + key: ${{ runner.os }}-${{ env.MDBOOK_VERSION }}--${{ env.MDBOOK_LINKCHECK2_VERSION }}--${{ env.MDBOOK_TOC_VERSION }}--${{ env.MDBOOK_MERMAID_VERSION }} + + - name: Cache linkcheck + uses: actions/cache@v4 + with: + path: | + ~/book/linkcheck + key: ${{ runner.os }}-${{ hashFiles('./book/linkcheck') }} + + - name: Install latest nightly Rust toolchain + if: steps.mdbook-cache.outputs.cache-hit != 'true' + run: | + rustup update nightly + rustup override set nightly + + - name: Install Dependencies + if: steps.mdbook-cache.outputs.cache-hit != 'true' + run: | + cargo install mdbook --version ${{ env.MDBOOK_VERSION }} + cargo install mdbook-linkcheck2 --version ${{ env.MDBOOK_LINKCHECK2_VERSION }} + cargo install mdbook-toc --version ${{ env.MDBOOK_TOC_VERSION }} + cargo install mdbook-mermaid --version ${{ env.MDBOOK_MERMAID_VERSION }} + + - name: Check build + run: ENABLE_LINKCHECK=1 mdbook build + + - name: Deploy to gh-pages + if: github.event_name == 'push' + run: | + touch "${{ env.DEPLOY_DIR }}/.nojekyll" + cp CNAME "${{ env.DEPLOY_DIR }}" + cd "${{ env.DEPLOY_DIR }}" + rm -rf .git + git init + git config user.name "Deploy from CI" + git config user.email "" + git add . + git commit -m "Deploy ${GITHUB_SHA} to gh-pages" + git push --quiet -f "https://x-token:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}" HEAD:gh-pages diff --git a/src/doc/rustc-dev-guide/.github/workflows/date-check.yml b/src/doc/rustc-dev-guide/.github/workflows/date-check.yml new file mode 100644 index 000000000000..356aeb4e2973 --- /dev/null +++ b/src/doc/rustc-dev-guide/.github/workflows/date-check.yml @@ -0,0 +1,48 @@ +name: Date-Check + +on: + schedule: + # Run at noon UTC every 1st of the month + - cron: '00 12 01 * *' + + # Allow manually starting the workflow + workflow_dispatch: + +jobs: + date-check: + if: github.repository == 'rust-lang/rustc-dev-guide' + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Ensure Rust is up-to-date + run: | + rustup update stable + + - name: Run `date-check` + working-directory: ci/date-check + run: | + cargo run -- ../../src/ > ../../date-check-output.txt + + - name: Open issue + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + + const rawText = fs.readFileSync('date-check-output.txt', { encoding: 'utf8' }); + const title = rawText.split('\n')[0]; + if (title != 'empty') { + const body = rawText.split('\n').slice(1).join('\n'); + github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title, + body, + }); + console.log('Opened issue.'); + } else { + console.log('No dates to triage.'); + } diff --git a/src/doc/rustc-dev-guide/.gitignore b/src/doc/rustc-dev-guide/.gitignore new file mode 100644 index 000000000000..160c5f0fe5c7 --- /dev/null +++ b/src/doc/rustc-dev-guide/.gitignore @@ -0,0 +1,6 @@ +book + +ci/date-check/target/ + +# Generated by check-in.sh +pulls.json diff --git a/src/doc/rustc-dev-guide/.mailmap b/src/doc/rustc-dev-guide/.mailmap new file mode 100644 index 000000000000..1a1f6ffb6084 --- /dev/null +++ b/src/doc/rustc-dev-guide/.mailmap @@ -0,0 +1,5 @@ +Jynn Nelson +Jynn Nelson +Jynn Nelson +Jynn Nelson +Jynn Nelson diff --git a/src/doc/rustc-dev-guide/CITATION.cff b/src/doc/rustc-dev-guide/CITATION.cff new file mode 100644 index 000000000000..fee82ad8cfb0 --- /dev/null +++ b/src/doc/rustc-dev-guide/CITATION.cff @@ -0,0 +1,9 @@ +cff-version: 1.2.0 +message: If you use this guide, please cite it using these metadata. +title: Rust Compiler Development Guide (rustc-dev-guide) +abstract: A guide to developing the Rust compiler (rustc) +authors: + - name: "The Rust Project Developers" +date-released: "2018-01-16" +license: "MIT OR Apache-2.0" +repository-code: "https://github.com/rust-lang/rustc-dev-guide" diff --git a/src/doc/rustc-dev-guide/CNAME b/src/doc/rustc-dev-guide/CNAME new file mode 100644 index 000000000000..a59cd86cd4ef --- /dev/null +++ b/src/doc/rustc-dev-guide/CNAME @@ -0,0 +1 @@ +rustc-dev-guide.rust-lang.org diff --git a/src/doc/rustc-dev-guide/CODE_OF_CONDUCT.md b/src/doc/rustc-dev-guide/CODE_OF_CONDUCT.md new file mode 100644 index 000000000000..04ae046b3839 --- /dev/null +++ b/src/doc/rustc-dev-guide/CODE_OF_CONDUCT.md @@ -0,0 +1,3 @@ +# The Rust Code of Conduct + +This repository follows the [Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct) of the Rust organization. diff --git a/src/doc/rustc-dev-guide/LICENSE-APACHE b/src/doc/rustc-dev-guide/LICENSE-APACHE new file mode 100644 index 000000000000..16fe87b06e80 --- /dev/null +++ b/src/doc/rustc-dev-guide/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/src/doc/rustc-dev-guide/LICENSE-MIT b/src/doc/rustc-dev-guide/LICENSE-MIT new file mode 100644 index 000000000000..31aa79387f27 --- /dev/null +++ b/src/doc/rustc-dev-guide/LICENSE-MIT @@ -0,0 +1,23 @@ +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/src/doc/rustc-dev-guide/README.md b/src/doc/rustc-dev-guide/README.md new file mode 100644 index 000000000000..2a686b5471c6 --- /dev/null +++ b/src/doc/rustc-dev-guide/README.md @@ -0,0 +1,115 @@ +[![CI](https://github.com/rust-lang/rustc-dev-guide/actions/workflows/ci.yml/badge.svg)](https://github.com/rust-lang/rustc-dev-guide/actions/workflows/ci.yml) + + +This is a collaborative effort to build a guide that explains how rustc +works. The aim of the guide is to help new contributors get oriented +to rustc, as well as to help more experienced folks in figuring out +some new part of the compiler that they haven't worked on before. + +[You can read the latest version of the guide here.](https://rustc-dev-guide.rust-lang.org/) + +You may also find the rustdocs [for the compiler itself][rustdocs] useful. +Note that these are not intended as a guide; it's recommended that you search +for the docs you're looking for instead of reading them top to bottom. + +[rustdocs]: https://doc.rust-lang.org/nightly/nightly-rustc + +For documentation on developing the standard library, see +[`std-dev-guide`](https://std-dev-guide.rust-lang.org/). + +### Contributing to the guide + +The guide is useful today, but it has a lot of work still to go. + +If you'd like to help improve the guide, we'd love to have you! You can find +plenty of issues on the [issue +tracker](https://github.com/rust-lang/rustc-dev-guide/issues). Just post a +comment on the issue you would like to work on to make sure that we don't +accidentally duplicate work. If you think something is missing, please open an +issue about it! + +**In general, if you don't know how the compiler works, that is not a +problem!** In that case, what we will do is to schedule a bit of time +for you to talk with someone who **does** know the code, or who wants +to pair with you and figure it out. Then you can work on writing up +what you learned. + +In general, when writing about a particular part of the compiler's code, we +recommend that you link to the relevant parts of the [rustc +rustdocs][rustdocs]. + +### Build Instructions + +To build a local static HTML site, install [`mdbook`](https://github.com/rust-lang/mdBook) with: + +``` +> cargo install mdbook mdbook-linkcheck2 mdbook-toc mdbook-mermaid +``` + +and execute the following command in the root of the repository: + +``` +> mdbook build --open +``` + +The build files are found in the `book/html` directory. + +### Link Validations + +We use `mdbook-linkcheck2` to validate URLs included in our documentation. Link +checking is **not** run by default locally, though it is in CI. To enable it +locally, set the environment variable `ENABLE_LINKCHECK=1` like in the +following example. + +```console +$ ENABLE_LINKCHECK=1 mdbook serve +``` + +### Table of Contents + +We use `mdbook-toc` to auto-generate TOCs for long sections. You can invoke the preprocessor by +including the `` marker at the place where you want the TOC. + +## How to fix toolstate failures + +> [!NOTE] +> Currently, we do not track the rustc-dev-guide toolstate due to +> [spurious failures](https://github.com/rust-lang/rust/pull/71731), +> but we leave these instructions for when we do it again in the future. + +1. You will get a ping from the toolstate commit. e.g. https://github.com/rust-lang-nursery/rust-toolstate/commit/8ffa0e4c30ac9ba8546b7046e5c4ccc2b96ebdd4 + +2. The commit contains a link to the PR that caused the breakage. e.g. https://github.com/rust-lang/rust/pull/64321 + +3. If you go to that PR's thread, there is a post from bors with a link to the CI status: https://github.com/rust-lang/rust/pull/64321#issuecomment-529763807 + +4. Follow the check-actions link to get to the Actions page for that build + +5. There will be approximately 1 billion different jobs for the build. They are for different configurations and platforms. The rustc-dev-guide build only runs on the Linux x86_64-gnu-tools job. So click on that job in the list, which is about 60% down in the list. + +6. Click the Run build step in the job to get the console log for the step. + +7. Click on the log and Ctrl-f to get a search box in the log + +8. Search for rustc-dev-guide. This gets you to the place where the links are checked. It is usually ~11K lines into the log. + +9. Look at the links in the log near that point in the log + +10. Fix those links in the rustc-dev-guide (by making a PR in the rustc-dev-guide repo) + +11. Make a PR on the rust-lang/rust repo to update the rustc-dev-guide git submodule in src/docs/rustc-dev-guide. +To make a PR, the following steps are useful. + +```bash +# Assuming you already cloned the rust-lang/rust repo and you're in the correct directory +git submodule update --remote src/doc/rustc-dev-guide +git add -u +git commit -m "Update rustc-dev-guide" +# Note that you can use -i, which is short for --incremental, in the following command +./x test --incremental src/doc/rustc-dev-guide # This is optional and should succeed anyway +# Open a PR in rust-lang/rust +``` + +12. Wait for PR to merge + +Voilà! diff --git a/src/doc/rustc-dev-guide/book.toml b/src/doc/rustc-dev-guide/book.toml new file mode 100644 index 000000000000..2f67aecf6f05 --- /dev/null +++ b/src/doc/rustc-dev-guide/book.toml @@ -0,0 +1,64 @@ +[book] +title = "Rust Compiler Development Guide" +author = "The Rust Project Developers" +description = "A guide to developing the Rust compiler (rustc)" + +[build] +create-missing = false + +[preprocessor.toc] +command = "mdbook-toc" +renderer = ["html"] + +[preprocessor.mermaid] +command = "mdbook-mermaid" + +[output.html] +git-repository-url = "https://github.com/rust-lang/rustc-dev-guide" +edit-url-template = "https://github.com/rust-lang/rustc-dev-guide/edit/master/{path}" +additional-js = ["mermaid.min.js", "mermaid-init.js"] + +[output.html.search] +use-boolean-and = true + +[output.html.fold] +enable = true +level = 0 + +[output.linkcheck] +command = "ci/linkcheck.sh" +follow-web-links = true +exclude = [ + "crates\\.io", + "gcc\\.godbolt\\.org", + "youtube\\.com", + "youtu\\.be", + "dl\\.acm\\.org", + "cs\\.bgu\\.ac\\.il", + "www\\.amazon\\.com", + "www\\.rustaceans\\.org", + "play\\.rust-lang\\.org", + "tomlee\\.co", + "marketplace\\.visualstudio\\.com", + "objects\\.githubusercontent\\.com", + # The bug listing URL works only if an user is logged in, otherwise one gets 404. + "github\\.com/issues\\?q=.*", + # Similarly 500 is sometimes returned here. + "github\\.com/rust-lang/rust/pulls\\?q=.*", + # 401 is returned here for unknown reason + "github\\.com/wesleywiser/rustc-bootstrap-wpa-analysis", + # Handle: connection closed before message completed + "microsoft\\.com/en-us/research/publication/", + # 500 is returned for HEAD request + "code\\.visualstudio\\.com/docs/editor/tasks", +] +cache-timeout = 86400 +warning-policy = "error" + +[output.html.redirect] +"/compiletest.html" = "tests/compiletest.html" +"/diagnostics/sessiondiagnostic.html" = "diagnostic-structs.html" +"/diagnostics/diagnostic-codes.html" = "error-codes.html" +"/miri.html" = "const-eval/interpret.html" +"/tests/integration.html" = "ecosystem.html" +"/tests/headers.html" = "directives.html" diff --git a/src/doc/rustc-dev-guide/ci/check-in.sh b/src/doc/rustc-dev-guide/ci/check-in.sh new file mode 100755 index 000000000000..4477789c764a --- /dev/null +++ b/src/doc/rustc-dev-guide/ci/check-in.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +set -eu + +# This is not a very smart script +if [ $# != 2 ]; then + echo "usage: $0 " + if [ $# = 0 ]; then + echo "help: you can find the last check-in at" \ + "https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/search/wg-rustc-dev-guide" + elif [ $# = 1 ] ; then + echo "help: you can find the number of PRs merged at" \ + "https://github.com/rust-lang/rustc-dev-guide/pulls?q=is%3Apr+is%3Amerged+updated%3A%3E$1" + fi + exit 1 +fi + +curl() { + command curl -s "$@" +} + +# Get recently updated PRs +curl "https://api.github.com/repos/rust-lang/rustc-dev-guide/pulls?state=closed&per_page=$2" \ + | jq '[.[] | select(.merged_at > "'"$1"'")]' > pulls.json + +show_pulls() { + jq -r '.[] | { title, number, html_url, user: .user.login } | "- " + .title + " [#" + (.number | tostring) + "](" + .html_url + ")"' +} + +echo "### Most notable changes" +echo +show_pulls < pulls.json +echo +echo "### Most notable WIPs" +echo +# If there are more than 30 PRs open at a time, you'll need to set `per_page`. +# For now this seems unlikely. +curl "https://api.github.com/repos/rust-lang/rustc-dev-guide/pulls?state=open" | show_pulls diff --git a/src/doc/rustc-dev-guide/ci/date-check/Cargo.lock b/src/doc/rustc-dev-guide/ci/date-check/Cargo.lock new file mode 100644 index 000000000000..6326b2daf12c --- /dev/null +++ b/src/doc/rustc-dev-guide/ci/date-check/Cargo.lock @@ -0,0 +1,342 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "cc" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "066fce287b1d4eafef758e89e09d724a24808a9196fe9756b8ca90e86d0719a2" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "date-check" +version = "0.1.0" +dependencies = [ + "chrono", + "glob", + "regex", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "syn" +version = "2.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" diff --git a/src/doc/rustc-dev-guide/ci/date-check/Cargo.toml b/src/doc/rustc-dev-guide/ci/date-check/Cargo.toml new file mode 100644 index 000000000000..472529511d06 --- /dev/null +++ b/src/doc/rustc-dev-guide/ci/date-check/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "date-check" +version = "0.1.0" +authors = ["Noah Lev "] +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +glob = "0.3" +regex = "1" +chrono = "0.4" diff --git a/src/doc/rustc-dev-guide/ci/date-check/src/main.rs b/src/doc/rustc-dev-guide/ci/date-check/src/main.rs new file mode 100644 index 000000000000..5ab3e6c8b65a --- /dev/null +++ b/src/doc/rustc-dev-guide/ci/date-check/src/main.rs @@ -0,0 +1,356 @@ +use std::{ + collections::BTreeMap, + convert::TryInto as _, + env, fmt, fs, + path::{Path, PathBuf}, + process, + str::FromStr, +}; + +use chrono::{Datelike as _, Month, TimeZone as _, Utc}; +use glob::glob; +use regex::Regex; + +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +struct Date { + year: u32, + month: u32, +} + +impl Date { + fn months_since(self, other: Date) -> Option { + let self_chrono = Utc + .with_ymd_and_hms(self.year.try_into().unwrap(), self.month, 1, 0, 0, 0) + .unwrap(); + let other_chrono = Utc + .with_ymd_and_hms(other.year.try_into().unwrap(), other.month, 1, 0, 0, 0) + .unwrap(); + let duration_since = self_chrono.signed_duration_since(other_chrono); + let months_since = duration_since.num_days() / 30; + if months_since < 0 { + None + } else { + Some(months_since.try_into().unwrap()) + } + } +} + +impl fmt::Display for Date { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{:04}-{:02}", self.year, self.month) + } +} + +fn make_date_regex() -> Regex { + Regex::new( + r"(?x) # insignificant whitespace mode + ( + ) + | + (\s+ + (?P[[:alpha:]]+)\s+ + (?P\d{4})\b + ) + ", + ) + .unwrap() +} + +fn collect_dates_from_file(date_regex: &Regex, text: &str) -> Vec<(usize, Date)> { + let mut line = 1; + let mut end_of_last_cap = 0; + date_regex + .captures_iter(text) + .filter_map(|cap| { + if let (Some(month), Some(year), None, None) | (None, None, Some(month), Some(year)) = ( + cap.name("m1"), + cap.name("y1"), + cap.name("m2"), + cap.name("y2"), + ) { + let year = year.as_str().parse().expect("year"); + let month = Month::from_str(month.as_str()) + .expect("month") + .number_from_month(); + Some((cap.get(0).expect("all").range(), Date { year, month })) + } else { + None + } + }) + .map(|(byte_range, date)| { + line += text[end_of_last_cap..byte_range.end] + .chars() + .filter(|c| *c == '\n') + .count(); + end_of_last_cap = byte_range.end; + (line, date) + }) + .collect() +} + +fn collect_dates(paths: impl Iterator) -> BTreeMap> { + let date_regex = make_date_regex(); + let mut data = BTreeMap::new(); + for path in paths { + let text = fs::read_to_string(&path).unwrap(); + let dates = collect_dates_from_file(&date_regex, &text); + if !dates.is_empty() { + data.insert(path, dates); + } + } + data +} + +fn filter_dates( + current_month: Date, + min_months_since: u32, + dates_by_file: impl Iterator)>, +) -> impl Iterator)> { + dates_by_file + .map(move |(path, dates)| { + ( + path, + dates + .into_iter() + .filter(|(_, date)| { + current_month + .months_since(*date) + .expect("found date that is after current month") + >= min_months_since + }) + .collect::>(), + ) + }) + .filter(|(_, dates)| !dates.is_empty()) +} + +fn main() { + let mut args = env::args(); + if args.len() == 1 { + eprintln!("error: expected root Markdown directory as CLI argument"); + process::exit(1); + } + let root_dir = args.nth(1).unwrap(); + let root_dir_path = Path::new(&root_dir); + let glob_pat = format!("{}/**/*.md", root_dir); + let today_chrono = Utc::now().date_naive(); + let current_month = Date { + year: today_chrono.year_ce().1, + month: today_chrono.month(), + }; + + let dates_by_file = collect_dates(glob(&glob_pat).unwrap().map(Result::unwrap)); + let dates_by_file: BTreeMap<_, _> = + filter_dates(current_month, 6, dates_by_file.into_iter()).collect(); + + if dates_by_file.is_empty() { + println!("empty"); + } else { + println!("Date Reference Triage for {}", current_month); + println!("## Procedure"); + println!(); + println!( + "Each of these dates should be checked to see if the docs they annotate are \ + up-to-date. Each date should be updated (in the Markdown file where it appears) to \ + use the current month ({current_month}), or removed if the docs it annotates are not \ + expected to fall out of date quickly.", + current_month = today_chrono.format("%B %Y"), + ); + println!(); + println!( + "Please check off each date once a PR to update it (and, if applicable, its \ + surrounding docs) has been merged. Please also mention that you are working on a \ + particular set of dates so duplicate work is avoided." + ); + println!(); + println!("Finally, once all the dates have been updated, please close this issue."); + println!(); + println!("## Dates"); + println!(); + + for (path, dates) in dates_by_file { + println!( + "- {}", + path.strip_prefix(&root_dir_path).unwrap_or(&path).display(), + ); + for (line, date) in dates { + println!(" - [ ] line {}: {}", line, date); + } + } + println!(); + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_months_since() { + let date1 = Date { + year: 2020, + month: 3, + }; + let date2 = Date { + year: 2021, + month: 1, + }; + assert_eq!(date2.months_since(date1), Some(10)); + } + + #[test] + fn test_date_regex() { + let regex = &make_date_regex(); + assert!(regex.is_match("")); + assert!(regex.is_match("")); + assert!(regex.is_match("")); + assert!(regex.is_match("")); + assert!(regex.is_match(" jan 2021")); + assert!(regex.is_match(" january 2021")); + assert!(regex.is_match(" Jan 2021")); + assert!(regex.is_match(" January 2021")); + + assert!(regex.is_match(" jan 2021 ")); + assert!(regex.is_match(" jan 2021.")); + } + + #[test] + fn test_date_regex_fail() { + let regexes = &make_date_regex(); + assert!(!regexes.is_match("")); + assert!(!regexes.is_match("")); + assert!(!regexes.is_match("")); + assert!(!regexes.is_match(" jan 221")); + assert!(!regexes.is_match(" jan 20222")); + assert!(!regexes.is_match(" 01 2021")); + } + + #[test] + fn test_collect_dates_from_file() { + let text = r" +Test1 + +Test2 +Foo +Test3 +Test4 +FooBar + +Test5 +Test6 +Test7 + +Test8 +Test1 + jan 2021 +Test2 +Foo february 2021 +Test3 +Test4 +Foo mar 2021 Bar + apr 2021 +Test5 +Test6 +Test7 + may 2021 +Test8 + june 2021. + "; + assert_eq!( + collect_dates_from_file(&make_date_regex(), text), + vec![ + ( + 3, + Date { + year: 2021, + month: 1, + } + ), + ( + 6, + Date { + year: 2021, + month: 2, + } + ), + ( + 9, + Date { + year: 2021, + month: 3, + } + ), + ( + 11, + Date { + year: 2021, + month: 4, + } + ), + ( + 17, + Date { + year: 2021, + month: 5, + } + ), + ( + 20, + Date { + year: 2021, + month: 1, + } + ), + ( + 23, + Date { + year: 2021, + month: 2, + } + ), + ( + 26, + Date { + year: 2021, + month: 3, + } + ), + ( + 28, + Date { + year: 2021, + month: 4, + } + ), + ( + 34, + Date { + year: 2021, + month: 5, + } + ), + ( + 38, + Date { + year: 2021, + month: 6, + } + ), + ], + ); + } +} diff --git a/src/doc/rustc-dev-guide/ci/linkcheck.sh b/src/doc/rustc-dev-guide/ci/linkcheck.sh new file mode 100755 index 000000000000..e5184839be02 --- /dev/null +++ b/src/doc/rustc-dev-guide/ci/linkcheck.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +LINKCHECK_BINARY=mdbook-linkcheck2 + +set_github_token() { + jq '.config.output.linkcheck."http-headers"."github\\.com" = ["Authorization: Bearer $GITHUB_TOKEN"]' +} + +if [ -z "$ENABLE_LINKCHECK" ] ; then + echo "Skipping link check." + exit 0 +fi + +# https://docs.github.com/en/actions/reference/environment-variables +if [ "$GITHUB_EVENT_NAME" = "schedule" ] ; then # running in scheduled job + FLAGS="" + USE_TOKEN=1 + + echo "Doing full link check." +elif [ "$GITHUB_EVENT_NAME" = "pull_request" ] ; then # running in PR CI build + if [ -z "$BASE_SHA" ]; then + echo "error: unexpected state: BASE_SHA must be non-empty in CI" + exit 1 + fi + + CHANGED_FILES=$(git diff --name-only $BASE_SHA... | sed 's#^src/##' | tr '\n' ' ') + FLAGS="--no-cache -f $CHANGED_FILES" + USE_TOKEN=1 + + echo "Checking files changed since $BASE_SHA: $CHANGED_FILES" +else # running locally + COMMIT_RANGE=master... + CHANGED_FILES=$(git diff --name-only $COMMIT_RANGE | sed 's#^src/##' | tr '\n' ' ') + FLAGS="-f $CHANGED_FILES" + + echo "Checking files changed in $COMMIT_RANGE: $CHANGED_FILES" +fi + +echo "exec $LINKCHECK_BINARY $FLAGS" +if [ "$USE_TOKEN" = 1 ]; then + config=$(set_github_token) + exec $LINKCHECK_BINARY $FLAGS <<<"$config" +else + exec $LINKCHECK_BINARY $FLAGS +fi diff --git a/src/doc/rustc-dev-guide/examples/README b/src/doc/rustc-dev-guide/examples/README new file mode 100644 index 000000000000..ca49dd74db26 --- /dev/null +++ b/src/doc/rustc-dev-guide/examples/README @@ -0,0 +1,11 @@ +For each example to compile, you will need to first run the following: + + rustup component add rustc-dev llvm-tools + +To create an executable: + + rustc rustc-driver-example.rs + +To run an executable: + + rustup run nightly ./rustc-driver-example diff --git a/src/doc/rustc-dev-guide/examples/rustc-driver-example.rs b/src/doc/rustc-dev-guide/examples/rustc-driver-example.rs new file mode 100644 index 000000000000..576bbcea965d --- /dev/null +++ b/src/doc/rustc-dev-guide/examples/rustc-driver-example.rs @@ -0,0 +1,92 @@ +#![feature(rustc_private)] + +extern crate rustc_ast; +extern crate rustc_ast_pretty; +extern crate rustc_data_structures; +extern crate rustc_driver; +extern crate rustc_error_codes; +extern crate rustc_errors; +extern crate rustc_hash; +extern crate rustc_hir; +extern crate rustc_interface; +extern crate rustc_middle; +extern crate rustc_session; +extern crate rustc_span; + +use std::io; +use std::path::Path; + +use rustc_ast_pretty::pprust::item_to_string; +use rustc_data_structures::sync::Lrc; +use rustc_driver::{Compilation, RunCompiler}; +use rustc_interface::interface::Compiler; +use rustc_middle::ty::TyCtxt; + +struct MyFileLoader; + +impl rustc_span::source_map::FileLoader for MyFileLoader { + fn file_exists(&self, path: &Path) -> bool { + path == Path::new("main.rs") + } + + fn read_file(&self, path: &Path) -> io::Result { + if path == Path::new("main.rs") { + Ok(r#" +fn main() { + let message = "Hello, World!"; + println!("{message}"); +} +"# + .to_string()) + } else { + Err(io::Error::other("oops")) + } + } + + fn read_binary_file(&self, _path: &Path) -> io::Result> { + Err(io::Error::other("oops")) + } +} + +struct MyCallbacks; + +impl rustc_driver::Callbacks for MyCallbacks { + fn after_crate_root_parsing( + &mut self, + _compiler: &Compiler, + krate: &rustc_ast::Crate, + ) -> Compilation { + for item in &krate.items { + println!("{}", item_to_string(&item)); + } + + Compilation::Continue + } + + fn after_analysis(&mut self, _compiler: &Compiler, tcx: TyCtxt<'_>) -> Compilation { + // Analyze the program and inspect the types of definitions. + for id in tcx.hir().items() { + let hir = tcx.hir(); + let item = hir.item(id); + match item.kind { + rustc_hir::ItemKind::Static(_, _, _) | rustc_hir::ItemKind::Fn(_, _, _) => { + let name = item.ident; + let ty = tcx.type_of(item.hir_id().owner.def_id); + println!("{name:?}:\t{ty:?}") + } + _ => (), + } + } + + Compilation::Stop + } +} + +fn main() { + match RunCompiler::new(&["main.rs".to_string()], &mut MyCallbacks) { + mut compiler => { + compiler.set_file_loader(Some(Box::new(MyFileLoader))); + compiler.run(); + } + } +} diff --git a/src/doc/rustc-dev-guide/examples/rustc-driver-interacting-with-the-ast.rs b/src/doc/rustc-dev-guide/examples/rustc-driver-interacting-with-the-ast.rs new file mode 100644 index 000000000000..90a85d5db210 --- /dev/null +++ b/src/doc/rustc-dev-guide/examples/rustc-driver-interacting-with-the-ast.rs @@ -0,0 +1,99 @@ +#![feature(rustc_private)] + +extern crate rustc_ast; +extern crate rustc_ast_pretty; +extern crate rustc_data_structures; +extern crate rustc_driver; +extern crate rustc_error_codes; +extern crate rustc_errors; +extern crate rustc_hash; +extern crate rustc_hir; +extern crate rustc_interface; +extern crate rustc_middle; +extern crate rustc_session; +extern crate rustc_span; + +use std::io; +use std::path::Path; + +use rustc_ast_pretty::pprust::item_to_string; +use rustc_data_structures::sync::Lrc; +use rustc_driver::{Compilation, RunCompiler}; +use rustc_interface::interface::Compiler; +use rustc_middle::ty::TyCtxt; + +struct MyFileLoader; + +impl rustc_span::source_map::FileLoader for MyFileLoader { + fn file_exists(&self, path: &Path) -> bool { + path == Path::new("main.rs") + } + + fn read_file(&self, path: &Path) -> io::Result { + if path == Path::new("main.rs") { + Ok(r#" +fn main() { + let message = "Hello, World!"; + println!("{message}"); +} +"# + .to_string()) + } else { + Err(io::Error::other("oops")) + } + } + + fn read_binary_file(&self, _path: &Path) -> io::Result> { + Err(io::Error::other("oops")) + } +} + +struct MyCallbacks; + +impl rustc_driver::Callbacks for MyCallbacks { + fn after_crate_root_parsing( + &mut self, + _compiler: &Compiler, + krate: &rustc_ast::Crate, + ) -> Compilation { + for item in &krate.items { + println!("{}", item_to_string(&item)); + } + + Compilation::Continue + } + + fn after_analysis(&mut self, _compiler: &Compiler, tcx: TyCtxt<'_>) -> Compilation { + // Every compilation contains a single crate. + let hir_krate = tcx.hir(); + // Iterate over the top-level items in the crate, looking for the main function. + for id in hir_krate.items() { + let item = hir_krate.item(id); + // Use pattern-matching to find a specific node inside the main function. + if let rustc_hir::ItemKind::Fn(_, _, body_id) = item.kind { + let expr = &tcx.hir().body(body_id).value; + if let rustc_hir::ExprKind::Block(block, _) = expr.kind { + if let rustc_hir::StmtKind::Let(let_stmt) = block.stmts[0].kind { + if let Some(expr) = let_stmt.init { + let hir_id = expr.hir_id; // hir_id identifies the string "Hello, world!" + let def_id = item.hir_id().owner.def_id; // def_id identifies the main function + let ty = tcx.typeck(def_id).node_type(hir_id); + println!("{expr:#?}: {ty:?}"); + } + } + } + } + } + + Compilation::Stop + } +} + +fn main() { + match RunCompiler::new(&["main.rs".to_string()], &mut MyCallbacks) { + mut compiler => { + compiler.set_file_loader(Some(Box::new(MyFileLoader))); + compiler.run(); + } + } +} diff --git a/src/doc/rustc-dev-guide/examples/rustc-interface-example.rs b/src/doc/rustc-dev-guide/examples/rustc-interface-example.rs new file mode 100644 index 000000000000..30f48ea52978 --- /dev/null +++ b/src/doc/rustc-dev-guide/examples/rustc-interface-example.rs @@ -0,0 +1,81 @@ +#![feature(rustc_private)] + +extern crate rustc_driver; +extern crate rustc_error_codes; +extern crate rustc_errors; +extern crate rustc_hash; +extern crate rustc_hir; +extern crate rustc_interface; +extern crate rustc_session; +extern crate rustc_span; + +use std::sync::Arc; + +use rustc_errors::registry; +use rustc_hash::FxHashMap; +use rustc_session::config; + +fn main() { + let config = rustc_interface::Config { + // Command line options + opts: config::Options::default(), + // cfg! configuration in addition to the default ones + crate_cfg: Vec::new(), // FxHashSet<(String, Option)> + crate_check_cfg: Vec::new(), // CheckCfg + input: config::Input::Str { + name: rustc_span::FileName::Custom("main.rs".into()), + input: r#" +static HELLO: &str = "Hello, world!"; +fn main() { + println!("{HELLO}"); +} +"# + .into(), + }, + output_dir: None, // Option + output_file: None, // Option + file_loader: None, // Option> + locale_resources: rustc_driver::DEFAULT_LOCALE_RESOURCES.to_owned(), + lint_caps: FxHashMap::default(), // FxHashMap + // This is a callback from the driver that is called when [`ParseSess`] is created. + psess_created: None, //Option> + // This is a callback from the driver that is called when we're registering lints; + // it is called during plugin registration when we have the LintStore in a non-shared state. + // + // Note that if you find a Some here you probably want to call that function in the new + // function being registered. + register_lints: None, // Option> + // This is a callback from the driver that is called just after we have populated + // the list of queries. + // + // The second parameter is local providers and the third parameter is external providers. + override_queries: None, // Option, &mut ty::query::Providers<'_>)> + // Registry of diagnostics codes. + registry: registry::Registry::new(rustc_errors::codes::DIAGNOSTICS), + make_codegen_backend: None, + expanded_args: Vec::new(), + ice_file: None, + hash_untracked_state: None, + using_internal_features: Arc::default(), + }; + rustc_interface::run_compiler(config, |compiler| { + // Parse the program and print the syntax tree. + let krate = rustc_interface::passes::parse(&compiler.sess); + println!("{krate:?}"); + // Analyze the program and inspect the types of definitions. + rustc_interface::create_and_enter_global_ctxt(&compiler, krate, |tcx| { + for id in tcx.hir().items() { + let hir = tcx.hir(); + let item = hir.item(id); + match item.kind { + rustc_hir::ItemKind::Static(_, _, _) | rustc_hir::ItemKind::Fn(_, _, _) => { + let name = item.ident; + let ty = tcx.type_of(item.hir_id().owner.def_id); + println!("{name:?}:\t{ty:?}") + } + _ => (), + } + } + }); + }); +} diff --git a/src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs b/src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs new file mode 100644 index 000000000000..be37dd867b25 --- /dev/null +++ b/src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs @@ -0,0 +1,98 @@ +#![feature(rustc_private)] + +extern crate rustc_data_structures; +extern crate rustc_driver; +extern crate rustc_error_codes; +extern crate rustc_errors; +extern crate rustc_hash; +extern crate rustc_hir; +extern crate rustc_interface; +extern crate rustc_session; +extern crate rustc_span; + +use rustc_errors::emitter::Emitter; +use rustc_errors::registry::{self, Registry}; +use rustc_errors::translation::Translate; +use rustc_errors::{DiagCtxt, DiagInner, FluentBundle}; +use rustc_session::config; +use rustc_span::source_map::SourceMap; + +use std::sync::{Arc, Mutex}; + +struct DebugEmitter { + source_map: Arc, + diagnostics: Arc>>, +} + +impl Translate for DebugEmitter { + fn fluent_bundle(&self) -> Option<&FluentBundle> { + None + } + + fn fallback_fluent_bundle(&self) -> &FluentBundle { + panic!("this emitter should not translate message") + } +} + +impl Emitter for DebugEmitter { + fn emit_diagnostic(&mut self, diag: DiagInner, _: &Registry) { + self.diagnostics.lock().unwrap().push(diag); + } + + fn source_map(&self) -> Option<&SourceMap> { + Some(&self.source_map) + } +} + +fn main() { + let buffer: Arc>> = Arc::default(); + let diagnostics = buffer.clone(); + let config = rustc_interface::Config { + opts: config::Options::default(), + // This program contains a type error. + input: config::Input::Str { + name: rustc_span::FileName::Custom("main.rs".into()), + input: " +fn main() { + let x: &str = 1; +} +" + .into(), + }, + crate_cfg: Vec::new(), + crate_check_cfg: Vec::new(), + output_dir: None, + output_file: None, + file_loader: None, + locale_resources: rustc_driver::DEFAULT_LOCALE_RESOURCES.to_owned(), + lint_caps: rustc_hash::FxHashMap::default(), + psess_created: Some(Box::new(|parse_sess| { + parse_sess.set_dcx(DiagCtxt::new(Box::new(DebugEmitter { + source_map: parse_sess.clone_source_map(), + diagnostics, + }))); + })), + register_lints: None, + override_queries: None, + registry: registry::Registry::new(rustc_errors::codes::DIAGNOSTICS), + make_codegen_backend: None, + expanded_args: Vec::new(), + ice_file: None, + hash_untracked_state: None, + using_internal_features: Arc::default(), + }; + rustc_interface::run_compiler(config, |compiler| { + let krate = rustc_interface::passes::parse(&compiler.sess); + rustc_interface::create_and_enter_global_ctxt(&compiler, krate, |tcx| { + // Run the analysis phase on the local crate to trigger the type error. + let _ = tcx.analysis(()); + }); + // If the compiler has encountered errors when this closure returns, it will abort (!) the program. + // We avoid this by resetting the error count before returning + compiler.sess.dcx().reset_err_count(); + }); + // Read buffered diagnostics. + buffer.lock().unwrap().iter().for_each(|diagnostic| { + println!("{diagnostic:#?}"); + }); +} diff --git a/src/doc/rustc-dev-guide/mermaid-init.js b/src/doc/rustc-dev-guide/mermaid-init.js new file mode 100644 index 000000000000..313a6e8bc89d --- /dev/null +++ b/src/doc/rustc-dev-guide/mermaid-init.js @@ -0,0 +1 @@ +mermaid.initialize({startOnLoad:true}); diff --git a/src/doc/rustc-dev-guide/mermaid.min.js b/src/doc/rustc-dev-guide/mermaid.min.js new file mode 100644 index 000000000000..d45942f36248 Binary files /dev/null and b/src/doc/rustc-dev-guide/mermaid.min.js differ diff --git a/src/doc/rustc-dev-guide/src/SUMMARY.md b/src/doc/rustc-dev-guide/src/SUMMARY.md new file mode 100644 index 000000000000..2fbbb187d6b3 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/SUMMARY.md @@ -0,0 +1,234 @@ +# Summary + +[Getting Started](./getting-started.md) +[About this guide](./about-this-guide.md) + +--- + +# Building and debugging `rustc` + +- [How to build and run the compiler](./building/how-to-build-and-run.md) + - [Quickstart](./building/quickstart.md) + - [Prerequisites](./building/prerequisites.md) + - [Suggested Workflows](./building/suggested.md) + - [Distribution artifacts](./building/build-install-distribution-artifacts.md) + - [Building Documentation](./building/compiler-documenting.md) + - [Rustdoc overview](./rustdoc.md) + - [Adding a new target](./building/new-target.md) + - [Optimized build](./building/optimized-build.md) +- [Testing the compiler](./tests/intro.md) + - [Running tests](./tests/running.md) + - [Testing with Docker](./tests/docker.md) + - [Testing with CI](./tests/ci.md) + - [Adding new tests](./tests/adding.md) + - [Best practices](./tests/best-practices.md) + - [Compiletest](./tests/compiletest.md) + - [UI tests](./tests/ui.md) + - [Test directives](./tests/directives.md) + - [Minicore](./tests/minicore.md) + - [Ecosystem testing](./tests/ecosystem.md) + - [Crater](./tests/crater.md) + - [Fuchsia](./tests/fuchsia.md) + - [Rust for Linux](./tests/rust-for-linux.md) + - [Performance testing](./tests/perf.md) + - [Suggest tests tool](./tests/suggest-tests.md) + - [Misc info](./tests/misc.md) +- [Debugging the compiler](./compiler-debugging.md) + - [Using the tracing/logging instrumentation](./tracing.md) +- [Profiling the compiler](./profiling.md) + - [with the linux perf tool](./profiling/with_perf.md) + - [with Windows Performance Analyzer](./profiling/wpa_profiling.md) + - [with the Rust benchmark suite](./profiling/with_rustc_perf.md) +- [crates.io Dependencies](./crates-io.md) + +# Contributing to Rust + +- [Contribution Procedures](./contributing.md) +- [About the compiler team](./compiler-team.md) +- [Using Git](./git.md) +- [Mastering @rustbot](./rustbot.md) +- [Walkthrough: a typical contribution](./walkthrough.md) +- [Implementing new language features](./implementing_new_features.md) +- [Stability attributes](./stability.md) +- [Stabilizing Features](./stabilization_guide.md) +- [Feature Gates](./feature-gates.md) +- [Coding conventions](./conventions.md) +- [Procedures for Breaking Changes](./bug-fix-procedure.md) +- [Using external repositories](./external-repos.md) +- [Fuzzing](./fuzzing.md) +- [Notification groups](notification-groups/about.md) + - [Apple](notification-groups/apple.md) + - [ARM](notification-groups/arm.md) + - [Cleanup Crew](notification-groups/cleanup-crew.md) + - [Emscripten](notification-groups/emscripten.md) + - [LLVM](notification-groups/llvm.md) + - [RISC-V](notification-groups/risc-v.md) + - [WASI](notification-groups/wasi.md) + - [WebAssembly](notification-groups/wasm.md) + - [Windows](notification-groups/windows.md) + - [Rust for Linux](notification-groups/rust-for-linux.md) +- [Licenses](./licenses.md) +- [Editions](guides/editions.md) + +# Bootstrapping + +- [Prologue](./building/bootstrapping/intro.md) +- [What Bootstrapping does](./building/bootstrapping/what-bootstrapping-does.md) +- [How Bootstrap does it](./building/bootstrapping/how-bootstrap-does-it.md) + +# High-level Compiler Architecture + +- [Prologue](./part-2-intro.md) +- [Overview of the compiler](./overview.md) +- [The compiler source code](./compiler-src.md) +- [Queries: demand-driven compilation](./query.md) + - [The Query Evaluation Model in Detail](./queries/query-evaluation-model-in-detail.md) + - [Incremental compilation](./queries/incremental-compilation.md) + - [Incremental compilation In Detail](./queries/incremental-compilation-in-detail.md) + - [Debugging and Testing](./incrcomp-debugging.md) + - [Salsa](./queries/salsa.md) +- [Memory Management in Rustc](./memory.md) +- [Serialization in Rustc](./serialization.md) +- [Parallel Compilation](./parallel-rustc.md) +- [Rustdoc internals](./rustdoc-internals.md) + - [Search](./rustdoc-internals/search.md) + +# Source Code Representation + +- [Prologue](./part-3-intro.md) +- [Syntax and the AST](./syntax-intro.md) + - [Lexing and Parsing](./the-parser.md) + - [Macro expansion](./macro-expansion.md) + - [Name resolution](./name-resolution.md) + - [Attributes](./attributes.md) + - [`#[test]` Implementation](./test-implementation.md) + - [Panic Implementation](./panic-implementation.md) + - [AST Validation](./ast-validation.md) + - [Feature Gate Checking](./feature-gate-ck.md) + - [Lang Items](./lang-items.md) +- [The HIR (High-level IR)](./hir.md) + - [Lowering AST to HIR](./ast-lowering.md) + - [Debugging](./hir-debugging.md) +- [The THIR (Typed High-level IR)](./thir.md) +- [The MIR (Mid-level IR)](./mir/index.md) + - [MIR construction](./mir/construction.md) + - [MIR visitor and traversal](./mir/visitor.md) + - [MIR queries and passes: getting the MIR](./mir/passes.md) +- [Inline assembly](./asm.md) + +# Supporting Infrastructure + +- [Command-line arguments](./cli.md) +- [rustc_driver and rustc_interface](./rustc-driver/intro.md) + - [Example: Type checking](./rustc-driver/interacting-with-the-ast.md) + - [Example: Getting diagnostics](./rustc-driver/getting-diagnostics.md) +- [Errors and Lints](diagnostics.md) + - [Diagnostic and subdiagnostic structs](./diagnostics/diagnostic-structs.md) + - [Translation](./diagnostics/translation.md) + - [`LintStore`](./diagnostics/lintstore.md) + - [Error codes](./diagnostics/error-codes.md) + - [Diagnostic items](./diagnostics/diagnostic-items.md) + - [`ErrorGuaranteed`](./diagnostics/error-guaranteed.md) + +# Analysis + +- [Prologue](./part-4-intro.md) +- [Generic parameter definitions](./generic_parameters_summary.md) + - [Implementation nuances of early/late bound parameters](./early-late-bound-params/early-late-bound-implementation-nuances.md) + - [Interactions with turbofishing](./early-late-bound-params/turbofishing-and-early-late-bound.md) +- [The `ty` module: representing types](./ty.md) + - [ADTs and Generic Arguments](./ty_module/generic_arguments.md) + - [Parameter types/consts/regions](./ty_module/param_ty_const_regions.md) + - [`EarlyBinder` and instantiating parameters](./ty_module/early_binder.md) + - [`Binder` and Higher ranked regions](./ty_module/binders.md) + - [Instantiating binders](./ty_module/instantiating_binders.md) +- [`TypeFolder` and `TypeFoldable`](./ty-fold.md) +- [Parameter Environments](./param_env/param_env_summary.md) + - [What is it?](./param_env/param_env_what_is_it.md) + - [How are `ParamEnv`'s constructed internally](./param_env/param_env_construction_internals.md) + - [Which `ParamEnv` do I use?](./param_env/param_env_acquisition.md) +- [Type inference](./type-inference.md) +- [Trait solving](./traits/resolution.md) + - [Higher-ranked trait bounds](./traits/hrtb.md) + - [Caching subtleties](./traits/caching.md) + - [Implied bounds](./traits/implied-bounds.md) + - [Specialization](./traits/specialization.md) + - [Chalk-based trait solving](./traits/chalk.md) + - [Lowering to logic](./traits/lowering-to-logic.md) + - [Goals and clauses](./traits/goals-and-clauses.md) + - [Canonical queries](./traits/canonical-queries.md) + - [Canonicalization](./traits/canonicalization.md) + - [Next-gen trait solving](./solve/trait-solving.md) + - [Invariants of the type system](./solve/invariants.md) + - [The solver](./solve/the-solver.md) + - [Canonicalization](./solve/canonicalization.md) + - [Coinduction](./solve/coinduction.md) + - [Caching](./solve/caching.md) + - [Proof trees](./solve/proof-trees.md) + - [Normalization](./solve/normalization.md) + - [Opaque types](./solve/opaque-types.md) + - [Significant changes and quirks](./solve/significant-changes.md) + - [`Unsize` and `CoerceUnsized` traits](./traits/unsize.md) +- [Type checking](./type-checking.md) + - [Method Lookup](./method-lookup.md) + - [Variance](./variance.md) + - [Coherence Checking](./coherence.md) + - [Opaque Types](./opaque-types-type-alias-impl-trait.md) + - [Inference details](./opaque-types-impl-trait-inference.md) + - [Return Position Impl Trait In Trait](./return-position-impl-trait-in-trait.md) + - [Region inference restrictions][opaque-infer] +- [Effect checking](./effects.md) +- [Pattern and Exhaustiveness Checking](./pat-exhaustive-checking.md) +- [Unsafety Checking](./unsafety-checking.md) +- [MIR dataflow](./mir/dataflow.md) +- [Drop elaboration](./mir/drop-elaboration.md) +- [The borrow checker](./borrow_check.md) + - [Tracking moves and initialization](./borrow_check/moves_and_initialization.md) + - [Move paths](./borrow_check/moves_and_initialization/move_paths.md) + - [MIR type checker](./borrow_check/type_check.md) + - [Drop check](./borrow_check/drop_check.md) + - [Region inference](./borrow_check/region_inference.md) + - [Constraint propagation](./borrow_check/region_inference/constraint_propagation.md) + - [Lifetime parameters](./borrow_check/region_inference/lifetime_parameters.md) + - [Member constraints](./borrow_check/region_inference/member_constraints.md) + - [Placeholders and universes][pau] + - [Closure constraints](./borrow_check/region_inference/closure_constraints.md) + - [Error reporting](./borrow_check/region_inference/error_reporting.md) + - [Two-phase-borrows](./borrow_check/two_phase_borrows.md) +- [Closure capture inference](./closure.md) +- [Async closures/"coroutine-closures"](coroutine-closures.md) + +# MIR to Binaries + +- [Prologue](./part-5-intro.md) +- [MIR optimizations](./mir/optimizations.md) +- [Debugging MIR](./mir/debugging.md) +- [Constant evaluation](./const-eval.md) + - [Interpreter](./const-eval/interpret.md) +- [Monomorphization](./backend/monomorph.md) +- [Lowering MIR](./backend/lowering-mir.md) +- [Code Generation](./backend/codegen.md) + - [Updating LLVM](./backend/updating-llvm.md) + - [Debugging LLVM](./backend/debugging.md) + - [Backend Agnostic Codegen](./backend/backend-agnostic.md) + - [Implicit Caller Location](./backend/implicit-caller-location.md) +- [Libraries and Metadata](./backend/libs-and-metadata.md) +- [Profile-guided Optimization](./profile-guided-optimization.md) +- [LLVM Source-Based Code Coverage](./llvm-coverage-instrumentation.md) +- [Sanitizers Support](./sanitizers.md) +- [Debugging support in the Rust compiler](./debugging-support-in-rustc.md) + +--- + +[Appendix A: Background topics](./appendix/background.md) +[Appendix B: Glossary](./appendix/glossary.md) +[Appendix C: Code Index](./appendix/code-index.md) +[Appendix D: Compiler Lecture Series](./appendix/compiler-lecture.md) +[Appendix E: Bibliography](./appendix/bibliography.md) + +[Appendix Z: HumorRust](./appendix/humorust.md) + +--- + +[pau]: ./borrow_check/region_inference/placeholders_and_universes.md +[opaque-infer]: ./borrow_check/opaque-types-region-inference-restrictions.md diff --git a/src/doc/rustc-dev-guide/src/about-this-guide.md b/src/doc/rustc-dev-guide/src/about-this-guide.md new file mode 100644 index 000000000000..793bfa9e66e5 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/about-this-guide.md @@ -0,0 +1,107 @@ +# About this guide + +This guide is meant to help document how rustc – the Rust compiler – works, +as well as to help new contributors get involved in rustc development. + +There are seven parts to this guide: + +1. [Building `rustc`][p1]: + Contains information that should be useful no matter how you are contributing, + about building, debugging, profiling, etc. +2. [Contributing to `rustc`][p2]: + Contains information that should be useful no matter how you are contributing, + about procedures for contribution, using git and Github, stabilizing features, etc. +3. [High-Level Compiler Architecture][p3]: + Discusses the high-level architecture of the compiler and stages of the compile process. +4. [Source Code Representation][p4]: + Describes the process of taking raw source code from the user + and transforming it into various forms that the compiler can work with easily. +5. [Analysis][p5]: + discusses the analyses that the compiler uses to check various properties of the code + and inform later stages of the compile process (e.g., type checking). +6. [From MIR to Binaries][p6]: How linked executable machine code is generated. +7. [Appendices][p7] at the end with useful reference information. + There are a few of these with different information, including a glossary. + +[p1]: ./building/how-to-build-and-run.html +[p2]: ./contributing.md +[p3]: ./part-2-intro.md +[p4]: ./part-3-intro.md +[p5]: ./part-4-intro.md +[p6]: ./part-5-intro.md +[p7]: ./appendix/background.md + +### Constant change + +Keep in mind that `rustc` is a real production-quality product, +being worked upon continuously by a sizeable set of contributors. +As such, it has its fair share of codebase churn and technical debt. +In addition, many of the ideas discussed throughout this guide are idealized designs +that are not fully realized yet. +All this makes keeping this guide completely up to date on everything very hard! + +The Guide itself is of course open-source as well, +and the sources can be found at the [GitHub repository]. +If you find any mistakes in the guide, please file an issue about it. +Even better, open a PR with a correction! + +If you do contribute to the guide, +please see the corresponding [subsection on writing documentation in this guide]. + +[subsection on writing documentation in this guide]: contributing.md#contributing-to-rustc-dev-guide + +> “‘All conditioned things are impermanent’ — +> when one sees this with wisdom, one turns away from suffering.” +> _The Dhammapada, verse 277_ + +## Other places to find information + +You might also find the following sites useful: + +- This guide contains information about how various parts of the + compiler work and how to contribute to the compiler. +- [rustc API docs] -- rustdoc documentation for the compiler, devtools, and internal tools +- [Forge] -- contains documentation about Rust infrastructure, team procedures, and more +- [compiler-team] -- the home-base for the Rust compiler team, with description + of the team procedures, active working groups, and the team calendar. +- [std-dev-guide] -- a similar guide for developing the standard library. +- [The t-compiler zulip][z] +- `#contribute` and `#wg-rustup` on [Discord](https://discord.gg/rust-lang). +- The [Rust Internals forum][rif], a place to ask questions and + discuss Rust's internals +- The [Rust reference][rr], even though it doesn't specifically talk about + Rust's internals, is a great resource nonetheless +- Although out of date, [Tom Lee's great blog article][tlgba] is very helpful +- [rustaceans.org][ro] is helpful, but mostly dedicated to IRC +- The [Rust Compiler Testing Docs][rctd] +- For [@bors], [this cheat sheet][cheatsheet] is helpful +- Google is always helpful when programming. + You can [search all Rust documentation][gsearchdocs] (the standard library, + the compiler, the books, the references, and the guides) to quickly find + information about the language and compiler. +- You can also use Rustdoc's built-in search feature to find documentation on + types and functions within the crates you're looking at. You can also search + by type signature! For example, searching for `* -> vec` should find all + functions that return a `Vec`. + _Hint:_ Find more tips and keyboard shortcuts by typing `?` on any Rustdoc + page! + + +[rustc dev guide]: about-this-guide.md +[gsearchdocs]: https://www.google.com/search?q=site:doc.rust-lang.org+your+query+here +[stddocs]: https://doc.rust-lang.org/std +[rif]: http://internals.rust-lang.org +[rr]: https://doc.rust-lang.org/book/ +[rustforge]: https://forge.rust-lang.org/ +[tlgba]: https://tomlee.co/2014/04/a-more-detailed-tour-of-the-rust-compiler/ +[ro]: https://www.rustaceans.org/ +[rctd]: tests/intro.md +[cheatsheet]: https://bors.rust-lang.org/ +[Miri]: https://github.com/rust-lang/miri +[@bors]: https://github.com/bors +[GitHub repository]: https://github.com/rust-lang/rustc-dev-guide/ +[rustc API docs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle +[Forge]: https://forge.rust-lang.org/ +[compiler-team]: https://github.com/rust-lang/compiler-team/ +[std-dev-guide]: https://std-dev-guide.rust-lang.org/ +[z]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler diff --git a/src/doc/rustc-dev-guide/src/appendix/background.md b/src/doc/rustc-dev-guide/src/appendix/background.md new file mode 100644 index 000000000000..d36927e82f74 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/appendix/background.md @@ -0,0 +1,333 @@ +# Background topics + +This section covers a numbers of common compiler terms that arise in +this guide. We try to give the general definition while providing some +Rust-specific context. + + + +## What is a control-flow graph? + +A control-flow graph (CFG) is a common term from compilers. If you've ever +used a flow-chart, then the concept of a control-flow graph will be +pretty familiar to you. It's a representation of your program that +clearly exposes the underlying control flow. + +A control-flow graph is structured as a set of **basic blocks** +connected by edges. The key idea of a basic block is that it is a set +of statements that execute "together" – that is, whenever you branch +to a basic block, you start at the first statement and then execute +all the remainder. Only at the end of the block is there the +possibility of branching to more than one place (in MIR, we call that +final statement the **terminator**): + +```mir +bb0: { + statement0; + statement1; + statement2; + ... + terminator; +} +``` + +Many expressions that you are used to in Rust compile down to multiple +basic blocks. For example, consider an if statement: + +```rust,ignore +a = 1; +if some_variable { + b = 1; +} else { + c = 1; +} +d = 1; +``` + +This would compile into four basic blocks in MIR. In textual form, it looks like +this: + +```mir +BB0: { + a = 1; + if some_variable { + goto BB1; + } else { + goto BB2; + } +} + +BB1: { + b = 1; + goto BB3; +} + +BB2: { + c = 1; + goto BB3; +} + +BB3: { + d = 1; + ... +} +``` + +In graphical form, it looks like this: + +``` + BB0 + +--------------------+ + | a = 1; | + +--------------------+ + / \ + if some_variable else + / \ + BB1 / \ BB2 + +-----------+ +-----------+ + | b = 1; | | c = 1; | + +-----------+ +-----------+ + \ / + \ / + \ BB3 / + +----------+ + | d = 1; | + | ... | + +----------+ +``` + +When using a control-flow graph, a loop simply appears as a cycle in +the graph, and the `break` keyword translates into a path out of that +cycle. + + + +## What is a dataflow analysis? + +[*Static Program Analysis*](https://cs.au.dk/~amoeller/spa/) by Anders Møller +and Michael I. Schwartzbach is an incredible resource! + +_Dataflow analysis_ is a type of static analysis that is common in many +compilers. It describes a general technique, rather than a particular analysis. + +The basic idea is that we can walk over a [control-flow graph (CFG)](#cfg) and +keep track of what some value could be. At the end of the walk, we might have +shown that some claim is true or not necessarily true (e.g. "this variable must +be initialized"). `rustc` tends to do dataflow analyses over the MIR, since MIR +is already a CFG. + +For example, suppose we want to check that `x` is initialized before it is used +in this snippet: + +```rust,ignore +fn foo() { + let mut x; + + if some_cond { + x = 1; + } + + dbg!(x); +} +``` + +A CFG for this code might look like this: + +```txt + +------+ + | Init | (A) + +------+ + | \ + | if some_cond + else \ +-------+ + | \| x = 1 | (B) + | +-------+ + | / + +---------+ + | dbg!(x) | (C) + +---------+ +``` + +We can do the dataflow analysis as follows: we will start off with a flag `init` +which indicates if we know `x` is initialized. As we walk the CFG, we will +update the flag. At the end, we can check its value. + +So first, in block (A), the variable `x` is declared but not initialized, so +`init = false`. In block (B), we initialize the value, so we know that `x` is +initialized. So at the end of (B), `init = true`. + +Block (C) is where things get interesting. Notice that there are two incoming +edges, one from (A) and one from (B), corresponding to whether `some_cond` is true or not. +But we cannot know that! It could be the case the `some_cond` is always true, +so that `x` is actually always initialized. It could also be the case that +`some_cond` depends on something random (e.g. the time), so `x` may not be +initialized. In general, we cannot know statically (due to [Rice's +Theorem][rice]). So what should the value of `init` be in block (C)? + +[rice]: https://en.wikipedia.org/wiki/Rice%27s_theorem + +Generally, in dataflow analyses, if a block has multiple parents (like (C) in +our example), its dataflow value will be some function of all its parents (and +of course, what happens in (C)). Which function we use depends on the analysis +we are doing. + +In this case, we want to be able to prove definitively that `x` must be +initialized before use. This forces us to be conservative and assume that +`some_cond` might be false sometimes. So our "merging function" is "and". That +is, `init = true` in (C) if `init = true` in (A) _and_ in (B) (or if `x` is +initialized in (C)). But this is not the case; in particular, `init = false` in +(A), and `x` is not initialized in (C). Thus, `init = false` in (C); we can +report an error that "`x` may not be initialized before use". + +There is definitely a lot more that can be said about dataflow analyses. There is an +extensive body of research literature on the topic, including a lot of theory. +We only discussed a forwards analysis, but backwards dataflow analysis is also +useful. For example, rather than starting from block (A) and moving forwards, +we might have started with the usage of `x` and moved backwards to try to find +its initialization. + + + +## What is "universally quantified"? What about "existentially quantified"? + +In math, a predicate may be _universally quantified_ or _existentially +quantified_: + +- _Universal_ quantification: + - the predicate holds if it is true for all possible inputs. + - Traditional notation: ∀x: P(x). Read as "for all x, P(x) holds". +- _Existential_ quantification: + - the predicate holds if there is any input where it is true, i.e., there + only has to be a single input. + - Traditional notation: ∃x: P(x). Read as "there exists x such that P(x) holds". + +In Rust, they come up in type checking and trait solving. For example, + +```rust,ignore +fn foo() +``` +This function claims that the function is well-typed for all types `T`: `∀ T: well_typed(foo)`. + +Another example: + +```rust,ignore +fn foo<'a>(_: &'a usize) +``` +This function claims that for any lifetime `'a` (determined by the +caller), it is well-typed: `∀ 'a: well_typed(foo)`. + +Another example: + +```rust,ignore +fn foo() +where for<'a> F: Fn(&'a u8) +``` +This function claims that it is well-typed for all types `F` such that for all +lifetimes `'a`, `F: Fn(&'a u8)`: `∀ F: ∀ 'a: (F: Fn(&'a u8)) => well_typed(foo)`. + +One more example: + +```rust,ignore +fn foo(_: dyn Debug) +``` +This function claims that there exists some type `T` that implements `Debug` +such that the function is well-typed: `∃ T: (T: Debug) and well_typed(foo)`. + + + +## What is a de Bruijn Index? + +[De Bruijn indices][wikideb] are a way of representing, using only integers, +which variables are bound in which binders. They were originally invented for +use in lambda calculus evaluation (see [this Wikipedia article][wikideb] for +more). In `rustc`, we use de Bruijn indices to [represent generic types][sub]. + +[wikideb]: https://en.wikipedia.org/wiki/De_Bruijn_index +[sub]: ../ty_module/generic_arguments.md + + +Here is a basic example of how de Bruijn indices might be used for closures (we +don't actually do this in `rustc` though!): + +```rust,ignore +|x| { + f(x) // de Bruijn index of `x` is 1 because `x` is bound 1 level up + + |y| { + g(x, y) // index of `x` is 2 because it is bound 2 levels up + // index of `y` is 1 because it is bound 1 level up + } +} +``` + +## What are co- and contra-variance? + +Check out the subtyping chapter from the +[Rust Nomicon](https://doc.rust-lang.org/nomicon/subtyping.html). + +See the [variance](../variance.html) chapter of this guide for more info on how +the type checker handles variance. + + + +## What is a "free region" or a "free variable"? What about "bound region"? + +Let's describe the concepts of free vs bound in terms of program +variables, since that's the thing we're most familiar with. + +- Consider this expression, which creates a closure: `|a, b| a + b`. + Here, the `a` and `b` in `a + b` refer to the arguments that the closure will + be given when it is called. We say that the `a` and `b` there are **bound** to + the closure, and that the closure signature `|a, b|` is a **binder** for the + names `a` and `b` (because any references to `a` or `b` within refer to the + variables that it introduces). +- Consider this expression: `a + b`. In this expression, `a` and `b` refer to + local variables that are defined *outside* of the expression. We say that + those variables **appear free** in the expression (i.e., they are **free**, + not **bound** (tied up)). + +So there you have it: a variable "appears free" in some +expression/statement/whatever if it refers to something defined +outside of that expressions/statement/whatever. Equivalently, we can +then refer to the "free variables" of an expression – which is just +the set of variables that "appear free". + +So what does this have to do with regions? Well, we can apply the +analogous concept to type and regions. For example, in the type `&'a +u32`, `'a` appears free. But in the type `for<'a> fn(&'a u32)`, it +does not. + +# Further Reading About Compilers + +> Thanks to `mem`, `scottmcm`, and `Levi` on the official Discord for the +> recommendations, and to `tinaun` for posting a link to a [twitter thread from +> Graydon Hoare](https://web.archive.org/web/20181230012554/https://twitter.com/graydon_pub/status/1039615569132118016) +> which had some more recommendations! +> +> Other sources: https://gcc.gnu.org/wiki/ListOfCompilerBooks +> +> If you have other suggestions, please feel free to open an issue or PR. + +## Books +- [Types and Programming Languages](https://www.cis.upenn.edu/~bcpierce/tapl/) +- [Programming Language Pragmatics](https://www.cs.rochester.edu/~scott/pragmatics/) +- [Practical Foundations for Programming Languages](https://www.cs.cmu.edu/~rwh/pfpl/) +- [Compilers: Principles, Techniques, and Tools, 2nd Edition](https://www.pearson.com/us/higher-education/program/Aho-Compilers-Principles-Techniques-and-Tools-2nd-Edition/PGM167067.html) +- [Garbage Collection: Algorithms for Automatic Dynamic Memory Management](https://www.cs.kent.ac.uk/people/staff/rej/gcbook/) +- [Linkers and Loaders](https://www.amazon.com/Linkers-Kaufmann-Software-Engineering-Programming/dp/1558604960) (There are also free versions of this, but the version we had linked seems to be offline at the moment.) +- [Advanced Compiler Design and Implementation](https://www.goodreads.com/book/show/887908.Advanced_Compiler_Design_and_Implementation) +- [Building an Optimizing Compiler](https://www.goodreads.com/book/show/2063103.Building_an_Optimizing_Compiler) +- [Crafting Interpreters](http://www.craftinginterpreters.com/) + +## Courses +- [University of Oregon Programming Languages Summer School archive](https://www.cs.uoregon.edu/research/summerschool/archives.html) + +## Wikis +- [Wikipedia](https://en.wikipedia.org/wiki/List_of_programming_languages_by_type) +- [Esoteric Programming Languages](https://esolangs.org/wiki/Main_Page) +- [Stanford Encyclopedia of Philosophy](https://plato.stanford.edu/index.html) +- [nLab](https://ncatlab.org/nlab/show/HomePage) + +## Misc Papers and Blog Posts +- [Programming in Martin-Löf's Type Theory](https://www.cse.chalmers.se/research/group/logic/book/) +- [Polymorphism, Subtyping, and Type Inference in MLsub](https://dl.acm.org/doi/10.1145/3093333.3009882) diff --git a/src/doc/rustc-dev-guide/src/appendix/bibliography.md b/src/doc/rustc-dev-guide/src/appendix/bibliography.md new file mode 100644 index 000000000000..8f6810cbcaea --- /dev/null +++ b/src/doc/rustc-dev-guide/src/appendix/bibliography.md @@ -0,0 +1,92 @@ +# Rust Bibliography + +This is a reading list of material relevant to Rust. It includes prior +research that has - at one time or another - influenced the design of +Rust, as well as publications about Rust. + +## Type system + +* [Alias burying](https://dl.acm.org/doi/10.1002/spe.370) - We tried something similar and abandoned it. +* [External uniqueness is unique enough](https://lirias.kuleuven.be/retrieve/35835) +* [Macros that work together](https://www.cs.utah.edu/plt/publications/jfp12-draft-fcdf.pdf) +* [Making ad-hoc polymorphism less ad hoc](https://dl.acm.org/doi/10.1145/75277.75283) +* [Region based memory management in Cyclone](https://www.cs.umd.edu/projects/cyclone/papers/cyclone-regions.pdf) +* [Region Based Memory Management](https://www.cs.ucla.edu/~palsberg/tba/papers/tofte-talpin-iandc97.pdf) +* [Safe manual memory management in Cyclone](https://www.cs.umd.edu/projects/PL/cyclone/scp.pdf) +* [Skolem Normal Form](https://en.wikipedia.org/wiki/Skolem_normal_form) +* [Traits: composable units of behavior](http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf) +* [Uniqueness and Reference Immutability for Safe Parallelism](https://research.microsoft.com/pubs/170528/msr-tr-2012-79.pdf) + +## Concurrency + +* [A Java fork/join calamity](https://web.archive.org/web/20190904045322/http://www.coopsoft.com/ar/CalamityArticle.html) - critique of Java's fork/join library, particularly its application of work stealing to non-strict computation +* [Algorithms for scalable synchronization of shared-memory multiprocessors](https://www.cs.rochester.edu/u/scott/papers/1991_TOCS_synch.pdf) +* [Balanced work stealing for time-sharing multicores](https://web.njit.edu/~dingxn/papers/BWS.pdf) +* [Contention aware scheduling](https://www.blagodurov.net/files/a8-blagodurov.pdf) +* [Dynamic circular work stealing deque](https://patents.google.com/patent/US7346753B2/en) - The Chase/Lev deque +* [Epoch-based reclamation](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-579.pdf). +* [Language support for fast and reliable message passing in singularity OS](https://research.microsoft.com/pubs/67482/singsharp.pdf) +* [Non-blocking steal-half work queues](https://www.cs.bgu.ac.il/%7Ehendlerd/papers/p280-hendler.pdf) +* [Reagents: expressing and composing fine-grained concurrency](https://aturon.github.io/academic/reagents.pdf) +* [Scheduling multithreaded computations by work stealing](https://www.lri.fr/~cecile/ENSEIGNEMENT/IPAR/Exposes/cilk1.pdf) +* [Scheduling techniques for concurrent systems](https://www.stanford.edu/~ouster/cgi-bin/papers/coscheduling.pdf) +* [Singularity: rethinking the software stack](https://research.microsoft.com/pubs/69431/osr2007_rethinkingsoftwarestack.pdf) +* [The data locality of work stealing](http://www.aladdin.cs.cmu.edu/papers/pdfs/y2000/locality_spaa00.pdf) +* [Thread scheduling for multiprogramming multiprocessors](https://www.eecis.udel.edu/%7Ecavazos/cisc879-spring2008/papers/arora98thread.pdf) +* [Three layer cake for shared-memory programming](https://dl.acm.org/doi/10.1145/1953611.1953616) +* [Work-first and help-first scheduling policies for async-finish task parallelism](https://dl.acm.org/doi/10.1109/IPDPS.2009.5161079) - More general than fully-strict work stealing + +## Others + +* [Composing High-Performance Memory Allocators](https://people.cs.umass.edu/~emery/pubs/berger-pldi2001.pdf) +* [Crash-only software](https://www.usenix.org/legacy/events/hotos03/tech/full_papers/candea/candea.pdf) +* [Reconsidering Custom Memory Allocation](https://people.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf) + +## Papers *about* Rust + +* [GPU Programming in Rust: Implementing High Level Abstractions in a Systems + Level + Language](https://ieeexplore.ieee.org/document/6650903). + Early GPU work by Eric Holk. +* [Parallel closures: a new twist on an old + idea](https://www.usenix.org/conference/hotpar12/parallel-closures-new-twist-old-idea) + - not exactly about Rust, but by nmatsakis +* [Patina: A Formalization of the Rust Programming + Language](https://dada.cs.washington.edu/research/tr/2015/03/UW-CSE-15-03-02.pdf). + Early formalization of a subset of the type system, by Eric Reed. +* [Experience Report: Developing the Servo Web Browser Engine using + Rust](https://arxiv.org/abs/1505.07383). By Lars Bergstrom. +* [Implementing a Generic Radix Trie in + Rust](https://michaelsproul.github.io/rust_radix_paper/rust-radix-sproul.pdf). Undergrad + paper by Michael Sproul. +* [Reenix: Implementing a Unix-Like Operating System in + Rust](https://scialex.github.io/reenix.pdf). Undergrad paper by Alex + Light. +* [Evaluation of performance and productivity metrics of potential programming languages in the HPC environment](https://github.com/1wilkens/thesis-ba). + Bachelor's thesis by Florian Wilkens. Compares C, Go and Rust. +* [Nom, a byte oriented, streaming, zero copy, parser combinators library + in Rust](http://spw15.langsec.org/papers/couprie-nom.pdf). By + Geoffroy Couprie, research for VLC. +* [Graph-Based Higher-Order Intermediate + Representation](https://compilers.cs.uni-saarland.de/papers/lkh15_cgo.pdf). An + experimental IR implemented in Impala, a Rust-like language. +* [Code Refinement of Stencil + Codes](https://compilers.cs.uni-saarland.de/papers/ppl14_web.pdf). Another + paper using Impala. +* [Parallelization in Rust with fork-join and + friends](http://publications.lib.chalmers.se/records/fulltext/219016/219016.pdf). Linus + Farnstrand's master's thesis. +* [Session Types for + Rust](https://munksgaard.me/papers/laumann-munksgaard-larsen.pdf). Philip + Munksgaard's master's thesis. Research for Servo. +* [Ownership is Theft: Experiences Building an Embedded OS in Rust - Amit Levy, et. al.](https://amitlevy.com/papers/tock-plos2015.pdf) +* [You can't spell trust without Rust](https://faultlore.com/blah/papers/thesis.pdf). Aria Beingessner's master's thesis. +* [Rust-Bio: a fast and safe bioinformatics library](https://rust-bio.github.io/). Johannes Köster +* [Safe, Correct, and Fast Low-Level Networking](https://octarineparrot.com/assets/msci_paper.pdf). Robert Clipsham's master's thesis. +* [Formalizing Rust traits](https://open.library.ubc.ca/cIRcle/collections/ubctheses/24/items/1.0220521). Jonatan Milewski's master's thesis. +* [Rust as a Language for High Performance GC Implementation](https://dl.acm.org/doi/pdf/10.1145/3241624.2926707) +* [Simple Verification of Rust Programs via Functional Purification](https://github.com/Kha/electrolysis). Sebastian Ullrich's master's thesis. +* [Writing parsers like it is 2017](http://spw17.langsec.org/papers/chifflier-parsing-in-2017.pdf) Pierre Chifflier and Geoffroy Couprie for the Langsec Workshop +* [The Case for Writing a Kernel in Rust](https://www.tockos.org/assets/papers/rust-kernel-apsys2017.pdf) +* [RustBelt: Securing the Foundations of the Rust Programming Language](https://plv.mpi-sws.org/rustbelt/popl18/) +* [Oxide: The Essence of Rust](https://arxiv.org/abs/1903.00982). By Aaron Weiss, Olek Gierczak, Daniel Patterson, Nicholas D. Matsakis, and Amal Ahmed. diff --git a/src/doc/rustc-dev-guide/src/appendix/code-index.md b/src/doc/rustc-dev-guide/src/appendix/code-index.md new file mode 100644 index 000000000000..c33887d72941 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/appendix/code-index.md @@ -0,0 +1,45 @@ +# Code Index + +rustc has a lot of important data structures. This is an attempt to give some +guidance on where to learn more about some of the key data structures of the +compiler. + +Item | Kind | Short description | Chapter | Declaration +----------------|----------|-----------------------------|--------------------|------------------- +`BodyId` | struct | One of four types of HIR node identifiers | [Identifiers in the HIR] | [compiler/rustc_hir/src/hir.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.BodyId.html) +`Compiler` | struct | Represents a compiler session and can be used to drive a compilation. | [The Rustc Driver and Interface] | [compiler/rustc_interface/src/interface.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/struct.Compiler.html) +`ast::Crate` | struct | A syntax-level representation of a parsed crate | [The parser] | [compiler/rustc_ast/src/ast.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/ast/struct.Crate.html) +`rustc_hir::Crate` | struct | A more abstract, compiler-friendly form of a crate's AST | [The Hir] | [compiler/rustc_hir/src/hir.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Crate.html) +`DefId` | struct | One of four types of HIR node identifiers | [Identifiers in the HIR] | [compiler/rustc_hir/src/def_id.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.DefId.html) +`Diag` | struct | A struct for a compiler diagnostic, such as an error or lint | [Emitting Diagnostics] | [compiler/rustc_errors/src/diagnostic.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html) +`DocContext` | struct | A state container used by rustdoc when crawling through a crate to gather its documentation | [Rustdoc] | [src/librustdoc/core.rs](https://github.com/rust-lang/rust/blob/master/src/librustdoc/core.rs) +`HirId` | struct | One of four types of HIR node identifiers | [Identifiers in the HIR] | [compiler/rustc_hir/src/hir_id.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir_id/struct.HirId.html) +`NodeId` | struct | One of four types of HIR node identifiers. Being phased out | [Identifiers in the HIR] | [compiler/rustc_ast/src/ast.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/node_id/struct.NodeId.html) +`P` | struct | An owned immutable smart pointer. By contrast, `&T` is not owned, and `Box` is not immutable. | None | [compiler/rustc_ast/src/ptr.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/ptr/struct.P.html) +`ParamEnv` | struct | Information about generic parameters or `Self`, useful for working with associated or generic items | [Parameter Environment] | [compiler/rustc_middle/src/ty/mod.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html) +`ParseSess` | struct | This struct contains information about a parsing session | [The parser] | [compiler/rustc_session/src/parse/parse.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/parse/struct.ParseSess.html) +`Query` | struct | Represents the result of query to the `Compiler` interface and allows stealing, borrowing, and returning the results of compiler passes. | [The Rustc Driver and Interface] | [compiler/rustc_interface/src/queries.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/queries/struct.Query.html) +`Rib` | struct | Represents a single scope of names | [Name resolution] | [compiler/rustc_resolve/src/lib.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/late/struct.Rib.html) +`Session` | struct | The data associated with a compilation session | [The parser], [The Rustc Driver and Interface] | [compiler/rustc_session/src/session.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/struct.Session.html) +`SourceFile` | struct | Part of the `SourceMap`. Maps AST nodes to their source code for a single source file. Was previously called FileMap | [The parser] | [compiler/rustc_span/src/lib.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.SourceFile.html) +`SourceMap` | struct | Maps AST nodes to their source code. It is composed of `SourceFile`s. Was previously called CodeMap | [The parser] | [compiler/rustc_span/src/source_map.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/source_map/struct.SourceMap.html) +`Span` | struct | A location in the user's source code, used for error reporting primarily | [Emitting Diagnostics] | [compiler/rustc_span/src/span_encoding.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.Span.html) +`StringReader` | struct | This is the lexer used during parsing. It consumes characters from the raw source code being compiled and produces a series of tokens for use by the rest of the parser | [The parser] | [compiler/rustc_parse/src/lexer/mod.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/lexer/struct.StringReader.html) +`rustc_ast::token_stream::TokenStream` | struct | An abstract sequence of tokens, organized into `TokenTree`s | [The parser], [Macro expansion] | [compiler/rustc_ast/src/tokenstream.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/tokenstream/struct.TokenStream.html) +`TraitDef` | struct | This struct contains a trait's definition with type information | [The `ty` modules] | [compiler/rustc_middle/src/ty/trait_def.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/trait_def/struct.TraitDef.html) +`TraitRef` | struct | The combination of a trait and its input types (e.g. `P0: Trait`) | [Trait Solving: Goals and Clauses] | [compiler/rustc_middle/src/ty/sty.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/type.TraitRef.html) +`Ty<'tcx>` | struct | This is the internal representation of a type used for type checking | [Type checking] | [compiler/rustc_middle/src/ty/mod.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Ty.html) +`TyCtxt<'tcx>` | struct | The "typing context". This is the central data structure in the compiler. It is the context that you use to perform all manner of queries | [The `ty` modules] | [compiler/rustc_middle/src/ty/context.rs](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html) + +[The HIR]: ../hir.html +[Identifiers in the HIR]: ../hir.html#hir-id +[The parser]: ../the-parser.html +[The Rustc Driver and Interface]: ../rustc-driver/intro.html +[Type checking]: ../type-checking.html +[The `ty` modules]: ../ty.html +[Rustdoc]: ../rustdoc.html +[Emitting Diagnostics]: ../diagnostics.html +[Macro expansion]: ../macro-expansion.html +[Name resolution]: ../name-resolution.html +[Parameter Environment]: ../param_env/param_env_summary.html +[Trait Solving: Goals and Clauses]: ../traits/goals-and-clauses.html#domain-goals diff --git a/src/doc/rustc-dev-guide/src/appendix/compiler-lecture.md b/src/doc/rustc-dev-guide/src/appendix/compiler-lecture.md new file mode 100644 index 000000000000..dabd2f087035 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/appendix/compiler-lecture.md @@ -0,0 +1,48 @@ +# Compiler Lecture Series + +These are videos where various experts explain different parts of the compiler: + +## General +- [January 2019: Tom Tromey discusses debugging support in rustc](https://www.youtube.com/watch?v=elBxMRSNYr4) +- [June 2019: Responsive compilers - Nicholas Matsakis - PLISS 2019](https://www.youtube.com/watch?v=N6b44kMS6OM) +- [June 2019: Things I Learned (TIL) - Nicholas Matsakis - PLISS 2019](https://www.youtube.com/watch?v=LIYkT3p5gTs) + +## Rust Analyzer +- [January 2019: How Salsa Works](https://www.youtube.com/watch?v=_muY4HjSqVw) +- [January 2019: Salsa In More Depth](https://www.youtube.com/watch?v=i_IhACacPRY) +- [January 2019: Rust analyzer guide](https://www.youtube.com/watch?v=ANKBNiSWyfc) +- [February 2019: Rust analyzer syntax trees](https://www.youtube.com/watch?v=DGAuLWdCCAI) +- [March 2019: rust-analyzer type-checker overview by flodiebold](https://www.youtube.com/watch?v=Lmp3P9WNL8o) +- [March 2019: RLS 2.0, Salsa, and Name Resolution](https://www.youtube.com/watch?v=Xr-rBqLr-G4) + +## Type System +- [July 2015: Felix Klock - Rust: A type system you didn't know you wanted - Curry On](https://www.youtube.com/watch?v=Q7lQCgnNWU0) +- [November 2016: Felix Klock - Subtyping in Rust and Clarke's Third Law](https://www.youtube.com/watch?v=fI4RG_uq-WU) +- [February 2019: Universes and Lifetimes](https://www.youtube.com/watch?v=iV1Z0xYXkck) +- [April 2019: Representing types in rustc](https://www.youtube.com/watch?v=c01TsOsr3-c) +- [March 2019: RFC #2229 Disjoint Field Capture plan](https://www.youtube.com/watch?v=UTXOptVMuIc) + +## Closures +- [October 2018: closures and upvar capture](https://www.youtube.com/watch?v=fMopdkn5-Xw) +- [October 2018: blitzerr closure upvar tys](https://www.youtube.com/watch?v=pLmVhSB-z4s) +- [January 2019: Convert Closure Upvar Representation to Tuples with blitzerr](https://www.youtube.com/watch?v=2QCuNtISoYc) + +## Chalk +- [July 2018: Coherence in Chalk by Sunjay Varma - Bay Area Rust Meetup](https://www.youtube.com/watch?v=rZqS4bLPL24) +- [March 2019: rustc-chalk integration overview](https://www.youtube.com/watch?v=MBWtbDifPeU) +- [April 2019: How the chalk-engine crate works](https://www.youtube.com/watch?v=Ny2928cGDoM) +- [May 2019: How the chalk-engine crate works 2](https://www.youtube.com/watch?v=hmV66tB79LM) + +## Polonius +- [March 2019: Polonius-rustc walkthrough](https://www.youtube.com/watch?v=i5KdU0ieb_A) +- [May 2019: Polonius WG: Initialization and move tracking](https://www.youtube.com/watch?v=ilv9V-328HI) + +## Miri +- [March 2019: oli-obk on miri and constant evaluation](https://www.youtube.com/watch?v=5Pm2C1YXrvM) + +## Async +- [February 2019: async-await implementation plans](https://www.youtube.com/watch?v=xe2_whJWBC0) +- [April 2019: async-await region inferencer](https://www.youtube.com/watch?v=hlOxfkUDLPQ) + +## Code Generation +- [January 2019: Cranelift](https://www.youtube.com/watch?v=9OIA7DTFQWU) diff --git a/src/doc/rustc-dev-guide/src/appendix/glossary.md b/src/doc/rustc-dev-guide/src/appendix/glossary.md new file mode 100644 index 000000000000..bf3475a984b0 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/appendix/glossary.md @@ -0,0 +1,104 @@ +# Glossary + +Term | Meaning +------------------------------------------------------|-------- +arena, arena allocation | An _arena_ is a large memory buffer from which other memory allocations are made. This style of allocation is called _arena allocation_. See [this chapter](../memory.md) for more info. +AST | The _abstract syntax tree_ produced by the `rustc_ast` crate; reflects user syntax very closely. +APIT | An argument-position `impl Trait`. Also known as an anonymous type parameter. ([see the reference](https://doc.rust-lang.org/reference/types/impl-trait.html#anonymous-type-parameters)). +binder | A _binder_ is a place where a variable or type is declared; for example, the `` is a binder for the generic type parameter `T` in `fn foo(..)`, and \|`a`\|` ...` is a binder for the parameter `a`. See [the background chapter for more](./background.md#free-vs-bound). +`BodyId` | An identifier that refers to a specific body (definition of a function or constant) in the crate. See [the HIR chapter for more](../hir.md#identifiers-in-the-hir). +bound variable | A _bound variable_ is one that is declared within an expression/term. For example, the variable `a` is bound within the closure expression \|`a`\|` a * 2`. See [the background chapter for more](./background.md#free-vs-bound) +codegen | Short for _code generation_. The code to translate MIR into LLVM IR. +codegen unit | When we produce LLVM IR, we group the Rust code into a number of codegen units (sometimes abbreviated as CGUs). Each of these units is processed by LLVM independently from one another, enabling parallelism. They are also the unit of incremental re-use. ([see more](../backend/codegen.md)) +completeness | A technical term in type theory, it means that every type-safe program also type-checks. Having both soundness and completeness is very hard, and usually soundness is more important. (see "soundness"). +control-flow graph | A representation of the control-flow of a program; see [the background chapter for more](./background.md#cfg) +CTFE | Short for _compile-time function evaluation_, this is the ability of the compiler to evaluate `const fn`s at compile time. This is part of the compiler's constant evaluation system. ([see more](../const-eval.md)) +`cx` | We tend to use _cx_ as an abbreviation for _context_. See also `tcx`, `infcx`, etc. +`ctxt` | We also use _ctxt_ as an abbreviation for _context_, e.g. [`TyCtxt`](#TyCtxt). See also [cx](#cx) or [tcx](#tcx). +DAG | A _directed acyclic graph_ is used during compilation to keep track of dependencies between queries. ([see more](../queries/incremental-compilation.md)) +data-flow analysis | A static analysis that figures out what properties are true at each point in the control-flow of a program; see [the background chapter for more](./background.md#dataflow). +de Bruijn index | A technique for describing which binder a variable is bound by using only integers. It has the benefit that it is invariant under variable renaming. ([see more](./background.md#what-is-a-debruijn-index)) +`DefId` | An index identifying a definition (see `rustc_middle/src/hir/def_id.rs`). Uniquely identifies a `DefPath`. See [the HIR chapter for more](../hir.md#identifiers-in-the-hir). +discriminant | The underlying value associated with an enum variant or generator state to indicate it as "active" (but not to be confused with its ["variant index"](#variant-idx)). At runtime, the discriminant of the active variant is encoded in the [tag](#tag). +double pointer | A pointer with additional metadata. See [fat pointer](#fat-ptr) for more. +drop glue | (Internal) compiler-generated instructions that handle calling the destructors (`Drop`) for data types. +DST | Short for *dynamically-sized type*, this is a type for which the compiler cannot statically know the size in memory (e.g. `str` or `[u8]`). Such types don't implement `Sized` and cannot be allocated on the stack. They can only occur as the last field in a struct. They can only be used behind a pointer (e.g. `&str` or `&[u8]`). +early-bound lifetime | A lifetime region that is substituted at its definition site. Bound in an item's `Generics` and substituted/instantiated using a `GenericArgs`. Contrast with **late-bound lifetime**. ([see more](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_type_ir/region_kind/enum.RegionKind.html#bound-regions)) +effects | Right now only means const traits and `~const` bounds. ([see more](../effects.md)) +empty type | See [uninhabited type](#ut). +fat pointer | A two word value carrying the address of some value, along with some further information necessary to put the value to use. Rust includes two kinds of _fat pointers_: references to slices, and trait objects. A reference to a slice carries the starting address of the slice and its length. A trait object carries a value's address and a pointer to the trait's implementation appropriate to that value. "Fat pointers" are also known as "wide pointers", and "double pointers". +free variable | A _free variable_ is one that is not bound within an expression or term; see [the background chapter for more](./background.md#free-vs-bound) +generics | The list of generic parameters defined on an item. There are three kinds of generic parameters: Type, lifetime and const parameters. +HIR | The _high-level [IR](#ir)_, created by lowering and desugaring the AST. ([see more](../hir.md)) +`HirId` | Identifies a particular node in the HIR by combining a def-id with an "intra-definition offset". See [the HIR chapter for more](../hir.md#identifiers-in-the-hir). +HIR map | The HIR map, accessible via `tcx.hir()`, allows you to quickly navigate the HIR and convert between various forms of identifiers. +ICE | Short for _internal compiler error_, this is when the compiler crashes. +ICH | Short for _incremental compilation hash_, these are used as fingerprints for things such as HIR and crate metadata, to check if changes have been made. This is useful in incremental compilation to see if part of a crate has changed and should be recompiled. +`infcx` | The type inference context (`InferCtxt`). (see `rustc_middle::infer`) +inference variable, infer var | When doing type, region, const inference, an _inference variable_ is a kind of special type/region that represents what you are trying to infer. Think of X in algebra. For example, if we are trying to infer the type of a variable in a program, we create an inference variable to represent that unknown type. +intern | Interning refers to storing certain frequently-used constant data, such as strings, and then referring to the data by an identifier (e.g. a `Symbol`) rather than the data itself, to reduce memory usage and number of allocations. See [this chapter](../memory.md) for more info. +interpreter | The heart of const evaluation, running MIR code at compile time. ([see more](../const-eval/interpret.md)) +intrinsic | Intrinsics are special functions that are implemented in the compiler itself but exposed (often unstably) to users. They do magical and dangerous things. (See [`std::intrinsics`](https://doc.rust-lang.org/std/intrinsics/index.html)) +IR | Short for _intermediate representation_, a general term in compilers. During compilation, the code is transformed from raw source (ASCII text) to various IRs. In Rust, these are primarily HIR, MIR, and LLVM IR. Each IR is well-suited for some set of computations. For example, MIR is well-suited for the borrow checker, and LLVM IR is well-suited for codegen because LLVM accepts it. +IRLO, irlo | Sometimes used as an abbreviation for [internals.rust-lang.org](https://internals.rust-lang.org). +item | A kind of "definition" in the language, such as a static, const, use statement, module, struct, etc. Concretely, this corresponds to the `Item` type. +lang item | Items that represent concepts intrinsic to the language itself, such as special built-in traits like `Sync` and `Send`; or traits representing operations such as `Add`; or functions that are called by the compiler. ([see more](https://doc.rust-lang.org/1.9.0/book/lang-items.html)) +late-bound lifetime | A lifetime region that is substituted at its call site. Bound in a HRTB and substituted by specific functions in the compiler, such as `liberate_late_bound_regions`. Contrast with **early-bound lifetime**. ([see more](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_type_ir/region_kind/enum.RegionKind.html#bound-regions)) +local crate | The crate currently being compiled. This is in contrast to "upstream crates" which refer to dependencies of the local crate. +LTO | Short for *link-time optimizations*, this is a set of optimizations offered by LLVM that occur just before the final binary is linked. These include optimizations like removing functions that are never used in the final program, for example. _ThinLTO_ is a variant of LTO that aims to be a bit more scalable and efficient, but possibly sacrifices some optimizations. You may also read issues in the Rust repo about "FatLTO", which is the loving nickname given to non-Thin LTO. LLVM documentation: [here][lto] and [here][thinlto]. +[LLVM] | (actually not an acronym :P) an open-source compiler backend. It accepts LLVM IR and outputs native binaries. Various languages (e.g. Rust) can then implement a compiler front-end that outputs LLVM IR and use LLVM to compile to all the platforms LLVM supports. +memoization | The process of storing the results of (pure) computations (such as pure function calls) to avoid having to repeat them in the future. This is typically a trade-off between execution speed and memory usage. +MIR | The _mid-level [IR](#ir)_ that is created after type-checking for use by borrowck and codegen. ([see more](../mir/index.md)) +Miri | A tool to detect Undefined Behavior in (unsafe) Rust code. ([see more](https://github.com/rust-lang/miri)) +monomorphization | The process of taking generic implementations of types and functions and instantiating them with concrete types. For example, in the code we might have `Vec`, but in the final executable, we will have a copy of the `Vec` code for every concrete type used in the program (e.g. a copy for `Vec`, a copy for `Vec`, etc). +normalize | A general term for converting to a more canonical form, but in the case of rustc typically refers to [associated type normalization](../traits/goals-and-clauses.md#normalizeprojection---type). +newtype | A wrapper around some other type (e.g., `struct Foo(T)` is a "newtype" for `T`). This is commonly used in Rust to give a stronger type for indices. +niche | Invalid bit patterns for a type _that can be used_ for layout optimizations. Some types cannot have certain bit patterns. For example, the `NonZero*` integers or the reference `&T` cannot be represented by a 0 bitstring. This means the compiler can perform layout optimizations by taking advantage of the invalid "niche value". An example application for this is the [*Discriminant elision on `Option`-like enums*](https://rust-lang.github.io/unsafe-code-guidelines/layout/enums.html#discriminant-elision-on-option-like-enums), which allows using a type's niche as the ["tag"](#tag) for an `enum` without requiring a separate field. +NLL | Short for [non-lexical lifetimes](../borrow_check/region_inference.md), this is an extension to Rust's borrowing system to make it be based on the control-flow graph. +node-id or `NodeId` | An index identifying a particular node in the AST or HIR; gradually being phased out and replaced with `HirId`. See [the HIR chapter for more](../hir.md#identifiers-in-the-hir). +obligation | Something that must be proven by the trait system. ([see more](../traits/resolution.md)) +placeholder | **NOTE: skolemization is deprecated by placeholder** a way of handling subtyping around "for-all" types (e.g., `for<'a> fn(&'a u32)`) as well as solving higher-ranked trait bounds (e.g., `for<'a> T: Trait<'a>`). See [the chapter on placeholder and universes](../borrow_check/region_inference/placeholders_and_universes.md) for more details. +point | Used in the NLL analysis to refer to some particular location in the MIR; typically used to refer to a node in the control-flow graph. +projection | A general term for a "relative path", e.g. `x.f` is a "field projection", and `T::Item` is an ["associated type projection"](../traits/goals-and-clauses.md#trait-ref). +promoted constants | Constants extracted from a function and lifted to static scope; see [this section](../mir/index.md#promoted) for more details. +provider | The function that executes a query. ([see more](../query.md)) +quantified | In math or logic, existential and universal quantification are used to ask questions like "is there any type T for which is true?" or "is this true for all types T?"; see [the background chapter for more](./background.md#quantified). +query | A sub-computation during compilation. Query results can be cached in the current session or to disk for incremental compilation. ([see more](../query.md)) +recovery | Recovery refers to handling invalid syntax during parsing (e.g. a missing comma) and continuing to parse the AST. This avoid showing spurious errors to the user (e.g. showing 'missing field' errors when the struct definition contains errors). +region | Another term for "lifetime" often used in the literature and in the borrow checker. +rib | A data structure in the name resolver that keeps track of a single scope for names. ([see more](../name-resolution.md)) +RPIT | A return-position `impl Trait`. ([see the reference](https://doc.rust-lang.org/reference/types/impl-trait.html#abstract-return-types)). +RPITIT | A return-position `impl Trait` in trait. Unlike RPIT, this is desugared to a generic associated type (GAT). Introduced in [RFC 3425](https://rust-lang.github.io/rfcs/3425-return-position-impl-trait-in-traits.html). ([see more](../return-position-impl-trait-in-trait.md)) +scrutinee | A scrutinee is the expression that is matched on in `match` expressions and similar pattern matching constructs. For example, in `match x { A => 1, B => 2 }`, the expression `x` is the scrutinee. +`sess` | The compiler _session_, which stores global data used throughout compilation +side tables | Because the [AST](#ast) and HIR are immutable once created, we often carry extra information about them in the form of hashtables, indexed by the id of a particular node. +sigil | Like a keyword but composed entirely of non-alphanumeric tokens. For example, `&` is a sigil for references. +soundness | A technical term in type theory. Roughly, if a type system is sound, then a program that type-checks is type-safe. That is, one can never (in safe rust) force a value into a variable of the wrong type. (see "completeness"). +span | A location in the user's source code, used for error reporting primarily. These are like a file-name/line-number/column tuple on steroids: they carry a start/end point, and also track macro expansions and compiler desugaring. All while being packed into a few bytes (really, it's an index into a table). See the [`Span`] datatype for more. +subst | The act of _substituting_ the generic parameters inside of a type, constant expression, etc. with concrete generic arguments by supplying [substs](#substs). Nowadays referred to as _instantiating_ in the compiler. +substs | The _substitutions_ for a given generic item (e.g. the `i32`, `u32` in `HashMap`). Nowadays referred to as the list of _generic arguments_ in the compiler (but note that strictly speaking these two concepts differ, see the literature). +sysroot | The directory for build artifacts that are loaded by the compiler at runtime. ([see more](../building/bootstrapping/what-bootstrapping-does.html#what-is-a-sysroot)) +tag | The "tag" of an enum/generator encodes the [discriminant](#discriminant) of the active variant/state. Tags can either be "direct" (simply storing the discriminant in a field) or use a ["niche"](#niche). +TAIT | A type-alias `impl Trait`. Introduced in [RFC 2515](https://rust-lang.github.io/rfcs/2515-type_alias_impl_trait.html). +`tcx` | Standard variable name for the "typing context" (`TyCtxt`), main data structure of the compiler. ([see more](../ty.md)) +`'tcx` | The lifetime of the allocation arenas used by `TyCtxt`. Most data interned during a compilation session will use this lifetime with the exception of HIR data which uses the `'hir` lifetime. ([see more](../ty.md)) +token | The smallest unit of parsing. Tokens are produced after lexing ([see more](../the-parser.md)). +[TLS] | *Thread-local storage*. Variables may be defined so that each thread has its own copy (rather than all threads sharing the variable). This has some interactions with LLVM. Not all platforms support TLS. +trait reference, trait ref | The name of a trait along with a suitable list of generic arguments. ([see more](../traits/goals-and-clauses.md#trait-ref)) +trans | Short for _translation_, the code to translate MIR into LLVM IR. Renamed to [codegen](#codegen). +`Ty` | The internal representation of a type. ([see more](../ty.md)) +`TyCtxt` | The data structure often referred to as [`tcx`](#tcx) in code which provides access to session data and the query system. +UFCS | Short for _universal function call syntax_, this is an unambiguous syntax for calling a method. **Term no longer in use!** Prefer _fully-qualified path/syntax_. ([see more](../type-checking.md), [see the reference](https://doc.rust-lang.org/reference/expressions/call-expr.html#disambiguating-function-calls)) +uninhabited type | A type which has _no_ values. This is not the same as a ZST, which has exactly 1 value. An example of an uninhabited type is `enum Foo {}`, which has no variants, and so, can never be created. The compiler can treat code that deals with uninhabited types as dead code, since there is no such value to be manipulated. `!` (the never type) is an uninhabited type. Uninhabited types are also called _empty types_. +upvar | A variable captured by a closure from outside the closure. +variance | Determines how changes to a generic parameter affect subtyping; for example, if `T` is a subtype of `U`, then `Vec` is a subtype `Vec` because `Vec` is _covariant_ in its generic parameter. See [the background chapter](./background.md#variance) for a more general explanation. See the [variance chapter](../variance.md) for an explanation of how type checking handles variance. +variant index | In an enum, identifies a variant by assigning them indices starting at 0. This is purely internal and not to be confused with the ["discriminant"](#discriminant) which can be overwritten by the user (e.g. `enum Bool { True = 42, False = 0 }`). +well-formedness | Semantically: An expression that evaluates to meaningful result. In type systems: A type related construct which follows rules of the type system. +wide pointer | A pointer with additional metadata. See [fat pointer](#fat-ptr) for more. +ZST | *Zero-sized type*. A type whose values have size 0 bytes. Since `2^0 = 1`, such types can have exactly one value. For example, `()` (unit) is a ZST. `struct Foo;` is also a ZST. The compiler can do some nice optimizations around ZSTs. + +[LLVM]: https://llvm.org/ +[lto]: https://llvm.org/docs/LinkTimeOptimization.html +[`Span`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.Span.html +[thinlto]: https://clang.llvm.org/docs/ThinLTO.html +[TLS]: https://llvm.org/docs/LangRef.html#thread-local-storage-models diff --git a/src/doc/rustc-dev-guide/src/appendix/humorust.md b/src/doc/rustc-dev-guide/src/appendix/humorust.md new file mode 100644 index 000000000000..6df3b212aa77 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/appendix/humorust.md @@ -0,0 +1,15 @@ +# Humor in Rust + +What's a project without a sense of humor? And frankly some of these are +enlightening? + +- [Weird exprs test](https://github.com/rust-lang/rust/blob/master/tests/ui/weird-exprs.rs) +- [Ferris Rap](https://fitzgen.com/2018/12/13/rust-raps.html) +- [The Genesis of Generic Germination](https://github.com/rust-lang/rust/pull/53645#issue-210543221) +- [The Bastion of the Turbofish test](https://github.com/rust-lang/rust/blob/79d8a0fcefa5134db2a94739b1d18daa01fc6e9f/src/test/ui/bastion-of-the-turbofish.rs) +- [Rust Koans](https://users.rust-lang.org/t/rust-koans/2408) +- [`break rust;`](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=0ab2bd6a9d722e0f05a95e2a5dcf89cc) +- [The Nomicon Intro](https://doc.rust-lang.org/stable/nomicon/) +- [`rustc-ty` renaming punfest](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rustc-ty.20naming.20bikeshed.20.2F.20punfest.20%28was.3A.20design.20meeting.202.2E.2E.2E/near/189906455) +- [try using their name "ferris" instead](https://github.com/rust-lang/rust/pull/91476) +- [Forbid pineapple on pizza](https://github.com/rust-lang/rust/pull/70645) diff --git a/src/doc/rustc-dev-guide/src/asm.md b/src/doc/rustc-dev-guide/src/asm.md new file mode 100644 index 000000000000..eec9d448b0c9 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/asm.md @@ -0,0 +1,163 @@ +# Inline assembly + + + +## Overview + +Inline assembly in rustc mostly revolves around taking an `asm!` macro invocation and plumbing it +through all of the compiler layers down to LLVM codegen. Throughout the various stages, an +`InlineAsm` generally consists of 3 components: + +- The template string, which is stored as an array of `InlineAsmTemplatePiece`. Each piece +represents either a literal or a placeholder for an operand (just like format strings). + + ```rust + pub enum InlineAsmTemplatePiece { + String(String), + Placeholder { operand_idx: usize, modifier: Option, span: Span }, + } + ``` + +- The list of operands to the `asm!` (`in`, `[late]out`, `in[late]out`, `sym`, `const`). These are +represented differently at each stage of lowering, but follow a common pattern: + - `in`, `out` and `inout` all have an associated register class (`reg`) or explicit register +(`"eax"`). + - `inout` has 2 forms: one with a single expression that is both read from and written to, and +one with two separate expressions for the input and output parts. + - `out` and `inout` have a `late` flag (`lateout` / `inlateout`) to indicate that the register +allocator is allowed to reuse an input register for this output. + - `out` and the split variant of `inout` allow `_` to be specified for an output, which means +that the output is discarded. This is used to allocate scratch registers for assembly code. + - `const` refers to an anonymous constants and generally works like an inline const. + - `sym` is a bit special since it only accepts a path expression, which must point to a `static` +or a `fn`. + +- The options set at the end of the `asm!` macro. The only ones that are of particular interest to +rustc are `NORETURN` which makes `asm!` return `!` instead of `()`, and `RAW` which disables format +string parsing. The remaining options are mostly passed through to LLVM with little processing. + + ```rust + bitflags::bitflags! { + pub struct InlineAsmOptions: u16 { + const PURE = 1 << 0; + const NOMEM = 1 << 1; + const READONLY = 1 << 2; + const PRESERVES_FLAGS = 1 << 3; + const NORETURN = 1 << 4; + const NOSTACK = 1 << 5; + const ATT_SYNTAX = 1 << 6; + const RAW = 1 << 7; + const MAY_UNWIND = 1 << 8; + } + } + ``` + +## AST + +`InlineAsm` is represented as an expression in the AST with the [`ast::InlineAsm` type][inline_asm_ast]. + +The `asm!` macro is implemented in `rustc_builtin_macros` and outputs an `InlineAsm` AST node. The +template string is parsed using `fmt_macros`, positional and named operands are resolved to +explicit operand indices. Since target information is not available to macro invocations, +validation of the registers and register classes is deferred to AST lowering. + +[inline_asm_ast]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/ast/struct.InlineAsm.html + +## HIR + +`InlineAsm` is represented as an expression in the HIR with the [`hir::InlineAsm` type][inline_asm_hir]. + +AST lowering is where `InlineAsmRegOrRegClass` is converted from `Symbol`s to an actual register or +register class. If any modifiers are specified for a template string placeholder, these are +validated against the set allowed for that operand type. Finally, explicit registers for inputs and +outputs are checked for conflicts (same register used for different operands). + +[inline_asm_hir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.InlineAsm.html + +## Type checking + +Each register class has a whitelist of types that it may be used with. After the types of all +operands have been determined, the `intrinsicck` pass will check that these types are in the +whitelist. It also checks that split `inout` operands have compatible types and that `const` +operands are integers or floats. Suggestions are emitted where needed if a template modifier should +be used for an operand based on the type that was passed into it. + +## THIR + +`InlineAsm` is represented as an expression in the THIR with the [`InlineAsmExpr` type][inline_asm_thir]. + +The only significant change compared to HIR is that `Sym` has been lowered to either a `SymFn` +whose `expr` is a `Literal` ZST of the `fn`, or a `SymStatic` which points to the `DefId` of a +`static`. + +[inline_asm_thir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/thir/struct.InlineAsmExpr.html + +## MIR + +`InlineAsm` is represented as a `Terminator` in the MIR with the [`TerminatorKind::InlineAsm` variant][inline_asm_mir] + +As part of THIR lowering, `InOut` and `SplitInOut` operands are lowered to a split form with a +separate `in_value` and `out_place`. + +Semantically, the `InlineAsm` terminator is similar to the `Call` terminator except that it has +multiple output places where a `Call` only has a single return place output. + +[inline_asm_mir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.TerminatorKind.html#variant.InlineAsm + +## Codegen + +Operands are lowered one more time before being passed to LLVM codegen, this is represented by the [`InlineAsmOperandRef` type][inline_asm_codegen] from `rustc_codegen_ssa`. + +The operands are lowered to LLVM operands and constraint codes as follows: +- `out` and the output part of `inout` operands are added first, as required by LLVM. Late output +operands have a `=` prefix added to their constraint code, non-late output operands have a `=&` +prefix added to their constraint code. +- `in` operands are added normally. +- `inout` operands are tied to the matching output operand. +- `sym` operands are passed as function pointers or pointers, using the `"s"` constraint. +- `const` operands are formatted to a string and directly inserted in the template string. + +The template string is converted to LLVM form: +- `$` characters are escaped as `$$`. +- `const` operands are converted to strings and inserted directly. +- Placeholders are formatted as `${X:M}` where `X` is the operand index and `M` is the modifier +character. Modifiers are converted from the Rust form to the LLVM form. + +The various options are converted to clobber constraints or LLVM attributes, refer to the +[RFC](https://github.com/Amanieu/rfcs/blob/inline-asm/text/0000-inline-asm.md#mapping-to-llvm-ir) +for more details. + +Note that LLVM is sometimes rather picky about what types it accepts for certain constraint codes +so we sometimes need to insert conversions to/from a supported type. See the target-specific +ISelLowering.cpp files in LLVM for details of what types are supported for each register class. + +[inline_asm_codegen]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/traits/enum.InlineAsmOperandRef.html + +## Adding support for new architectures + +Adding inline assembly support to an architecture is mostly a matter of defining the registers and +register classes for that architecture. All the definitions for register classes are located in +`compiler/rustc_target/asm/`. + +Additionally you will need to implement lowering of these register classes to LLVM constraint codes +in `compiler/rustc_codegen_llvm/asm.rs`. + +When adding a new architecture, make sure to cross-reference with the LLVM source code: +- LLVM has restrictions on which types can be used with a particular constraint code. Refer to the +`getRegForInlineAsmConstraint` function in `lib/Target/${ARCH}/${ARCH}ISelLowering.cpp`. +- LLVM reserves certain registers for its internal use, which causes them to not be saved/restored +properly around inline assembly blocks. These registers are listed in the `getReservedRegs` +function in `lib/Target/${ARCH}/${ARCH}RegisterInfo.cpp`. Any "conditionally" reserved register +such as the frame/base pointer must always be treated as reserved for Rust purposes because we +can't know ahead of time whether a function will require a frame/base pointer. + +## Tests + +Various tests for inline assembly are available: + +- `tests/assembly/asm` +- `tests/ui/asm` +- `tests/codegen/asm-*` + +Every architecture supported by inline assembly must have exhaustive tests in +`tests/assembly/asm` which test all combinations of register classes and types. diff --git a/src/doc/rustc-dev-guide/src/ast-lowering.md b/src/doc/rustc-dev-guide/src/ast-lowering.md new file mode 100644 index 000000000000..033fd4b76f28 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/ast-lowering.md @@ -0,0 +1,48 @@ +# AST lowering + +The AST lowering step converts AST to [HIR](hir.html). +This means many structures are removed if they are irrelevant +for type analysis or similar syntax agnostic analyses. Examples +of such structures include but are not limited to + +* Parenthesis + * Removed without replacement, the tree structure makes order explicit +* `for` loops and `while (let)` loops + * Converted to `loop` + `match` and some `let` bindings +* `if let` + * Converted to `match` +* Universal `impl Trait` + * Converted to generic arguments + (but with some flags, to know that the user didn't write them) +* Existential `impl Trait` + * Converted to a virtual `existential type` declaration + +Lowering needs to uphold several invariants in order to not trigger the +sanity checks in `compiler/rustc_passes/src/hir_id_validator.rs`: + +1. A `HirId` must be used if created. So if you use the `lower_node_id`, + you *must* use the resulting `NodeId` or `HirId` (either is fine, since + any `NodeId`s in the `HIR` are checked for existing `HirId`s) +2. Lowering a `HirId` must be done in the scope of the *owning* item. + This means you need to use `with_hir_id_owner` if you are creating parts + of an item other than the one being currently lowered. This happens for + example during the lowering of existential `impl Trait` +3. A `NodeId` that will be placed into a HIR structure must be lowered, + even if its `HirId` is unused. Calling + `let _ = self.lower_node_id(node_id);` is perfectly legitimate. +4. If you are creating new nodes that didn't exist in the `AST`, you *must* + create new ids for them. This is done by calling the `next_id` method, + which produces both a new `NodeId` as well as automatically lowering it + for you so you also get the `HirId`. + +If you are creating new `DefId`s, since each `DefId` needs to have a +corresponding `NodeId`, it is advisable to add these `NodeId`s to the +`AST` so you don't have to generate new ones during lowering. This has +the advantage of creating a way to find the `DefId` of something via its +`NodeId`. If lowering needs this `DefId` in multiple places, you can't +generate a new `NodeId` in all those places because you'd also get a new +`DefId` then. With a `NodeId` from the `AST` this is not an issue. + +Having the `NodeId` also allows the `DefCollector` to generate the `DefId`s +instead of lowering having to do it on the fly. Centralizing the `DefId` +generation in one place makes it easier to refactor and reason about. diff --git a/src/doc/rustc-dev-guide/src/ast-validation.md b/src/doc/rustc-dev-guide/src/ast-validation.md new file mode 100644 index 000000000000..fa0f1d954f86 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/ast-validation.md @@ -0,0 +1,31 @@ +# AST Validation + +_AST validation_ is a separate AST pass that visits each +item in the tree and performs simple checks. This pass +doesn't perform any complex analysis, type checking or +name resolution. + +Before performing any validation, the compiler first expands +the macros. Then this pass performs validations to check +that each AST item is in the correct state. And when this pass +is done, the compiler runs the crate resolution pass. + +## Validations + +Validations are defined in `AstValidator` type, which +itself is located in `rustc_ast_passes` crate. This +type implements various simple checks which emit errors +when certain language rules are broken. + +In addition, `AstValidator` implements `Visitor` trait +that defines how to visit AST items (which can be functions, +traits, enums, etc). + +For each item, visitor performs specific checks. For +example, when visiting a function declaration, +`AstValidator` checks that the function has: + +* no more than `u16::MAX` parameters; +* c-variadic argument goes the last in the declaration; +* documentation comments aren't applied to function parameters; +* and other validations. diff --git a/src/doc/rustc-dev-guide/src/attributes.md b/src/doc/rustc-dev-guide/src/attributes.md new file mode 100644 index 000000000000..aae856348af1 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/attributes.md @@ -0,0 +1,50 @@ +# Attributes + +Attributes come in two types: *inert* (or *built-in*) and *active* (*non-builtin*). + +## Builtin/inert attributes + +These attributes are defined in the compiler itself, in +[`compiler/rustc_feature/src/builtin_attrs.rs`][builtin_attrs]. + +Examples include `#[allow]` and `#[macro_use]`. + +[builtin_attrs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_feature/builtin_attrs/index.html + +These attributes have several important characteristics: +* They are always in scope, and do not participate in typical path-based resolution. +* They cannot be renamed. For example, `use allow as foo` will compile, but writing `#[foo]` will + produce an error. +* They are 'inert', meaning they are left as-is by the macro expansion code. + As a result, any behavior comes as a result of the compiler explicitly checking for their presence. + For example, lint-related code explicitly checks for `#[allow]`, `#[warn]`, `#[deny]`, and + `#[forbid]`, rather than the behavior coming from the expansion of the attributes themselves. + +## 'Non-builtin'/'active' attributes + +These attributes are defined by a crate - either the standard library, or a proc-macro crate. + +**Important**: Many non-builtin attributes, such as `#[derive]`, are still considered part of the +core Rust language. However, they are **not** called 'builtin attributes', since they have a +corresponding definition in the standard library. + +Definitions of non-builtin attributes take two forms: + +1. Proc-macro attributes, defined via a function annotated with `#[proc_macro_attribute]` in a + proc-macro crate. +2. AST-based attributes, defined in the standard library. These attributes have special 'stub' + macros defined in places like [`library/core/src/macros/mod.rs`][core_macros]. + +[core_macros]: https://github.com/rust-lang/rust/blob/master/library/core/src/macros/mod.rs + +These definitions exist to allow the macros to participate in typical path-based resolution - they +can be imported, re-exported, and renamed just like any other item definition. However, the body of +the definition is empty. Instead, the macro is annotated with the `#[rustc_builtin_macro]` +attribute, which tells the compiler to run a corresponding function in `rustc_builtin_macros`. + +All non-builtin attributes have the following characteristics: +* Like all other definitions (e.g. structs), they must be brought into scope via an import. + Many standard library attributes are included in the prelude - this is why writing `#[derive]` + works without an import. +* They participate in macro expansion. The implementation of the macro may leave the attribute + target unchanged, modify the target, produce new AST nodes, or remove the target entirely. diff --git a/src/doc/rustc-dev-guide/src/backend/backend-agnostic.md b/src/doc/rustc-dev-guide/src/backend/backend-agnostic.md new file mode 100644 index 000000000000..3521c00f5cf2 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/backend-agnostic.md @@ -0,0 +1,209 @@ +# Backend Agnostic Codegen + + + +[`rustc_codegen_ssa`] +provides an abstract interface for all backends to implement, +namely LLVM, [Cranelift], and [GCC]. + +[Cranelift]: https://github.com/rust-lang/rustc_codegen_cranelift +[GCC]: https://github.com/rust-lang/rustc_codegen_gcc +[`rustc_codegen_ssa`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/index.html + +Below is some background information on the refactoring that created this +abstract interface. + +## Refactoring of `rustc_codegen_llvm` +by Denis Merigoux, October 23rd 2018 + +### State of the code before the refactoring + +All the code related to the compilation of MIR into LLVM IR was contained +inside the `rustc_codegen_llvm` crate. Here is the breakdown of the most +important elements: +* the `back` folder (7,800 LOC) implements the mechanisms for creating the + different object files and archive through LLVM, but also the communication + mechanisms for parallel code generation; +* the `debuginfo` (3,200 LOC) folder contains all code that passes debug + information down to LLVM; +* the `llvm` (2,200 LOC) folder defines the FFI necessary to communicate with + LLVM using the C++ API; +* the `mir` (4,300 LOC) folder implements the actual lowering from MIR to LLVM + IR; +* the `base.rs` (1,300 LOC) file contains some helper functions but also the + high-level code that launches the code generation and distributes the work. +* the `builder.rs` (1,200 LOC) file contains all the functions generating + individual LLVM IR instructions inside a basic block; +* the `common.rs` (450 LOC) contains various helper functions and all the + functions generating LLVM static values; +* the `type_.rs` (300 LOC) defines most of the type translations to LLVM IR. + +The goal of this refactoring is to separate inside this crate code that is +specific to the LLVM from code that can be reused for other rustc backends. For +instance, the `mir` folder is almost entirely backend-specific but it relies +heavily on other parts of the crate. The separation of the code must not affect +the logic of the code nor its performance. + +For these reasons, the separation process involves two transformations that +have to be done at the same time for the resulting code to compile : + +1. replace all the LLVM-specific types by generics inside function signatures + and structure definitions; +2. encapsulate all functions calling the LLVM FFI inside a set of traits that + will define the interface between backend-agnostic code and the backend. + +While the LLVM-specific code will be left in `rustc_codegen_llvm`, all the new +traits and backend-agnostic code will be moved in `rustc_codegen_ssa` (name +suggestion by @eddyb). + +### Generic types and structures + +@irinagpopa started to parametrize the types of `rustc_codegen_llvm` by a +generic `Value` type, implemented in LLVM by a reference `&'ll Value`. This +work has been extended to all structures inside the `mir` folder and elsewhere, +as well as for LLVM's `BasicBlock` and `Type` types. + +The two most important structures for the LLVM codegen are `CodegenCx` and +`Builder`. They are parametrized by multiple lifetime parameters and the type +for `Value`. + +```rust,ignore +struct CodegenCx<'ll, 'tcx> { + /* ... */ +} + +struct Builder<'a, 'll, 'tcx> { + cx: &'a CodegenCx<'ll, 'tcx>, + /* ... */ +} +``` + +`CodegenCx` is used to compile one codegen-unit that can contain multiple +functions, whereas `Builder` is created to compile one basic block. + +The code in `rustc_codegen_llvm` has to deal with multiple explicit lifetime +parameters, that correspond to the following: +* `'tcx` is the longest lifetime, that corresponds to the original `TyCtxt` + containing the program's information; +* `'a` is a short-lived reference of a `CodegenCx` or another object inside a + struct; +* `'ll` is the lifetime of references to LLVM objects such as `Value` or + `Type`. + +Although there are already many lifetime parameters in the code, making it +generic uncovered situations where the borrow-checker was passing only due to +the special nature of the LLVM objects manipulated (they are extern pointers). +For instance, an additional lifetime parameter had to be added to +`LocalAnalyser` in `analyse.rs`, leading to the definition: + +```rust,ignore +struct LocalAnalyzer<'mir, 'a, 'tcx> { + /* ... */ +} +``` + +However, the two most important structures `CodegenCx` and `Builder` are not +defined in the backend-agnostic code. Indeed, their content is highly specific +of the backend and it makes more sense to leave their definition to the backend +implementor than to allow just a narrow spot via a generic field for the +backend's context. + +### Traits and interface + +Because they have to be defined by the backend, `CodegenCx` and `Builder` will +be the structures implementing all the traits defining the backend's interface. +These traits are defined in the folder `rustc_codegen_ssa/traits` and all the +backend-agnostic code is parametrized by them. For instance, let us explain how +a function in `base.rs` is parametrized: + +```rust,ignore +pub fn codegen_instance<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>( + cx: &'a Bx::CodegenCx, + instance: Instance<'tcx> +) { + /* ... */ +} +``` + +In this signature, we have the two lifetime parameters explained earlier and +the master type `Bx` which satisfies the trait `BuilderMethods` corresponding +to the interface satisfied by the `Builder` struct. The `BuilderMethods` +defines an associated type `Bx::CodegenCx` that itself satisfies the +`CodegenMethods` traits implemented by the struct `CodegenCx`. + +On the trait side, here is an example with part of the definition of +`BuilderMethods` in `traits/builder.rs`: + +```rust,ignore +pub trait BuilderMethods<'a, 'tcx>: + HasCodegen<'tcx> + + DebugInfoBuilderMethods<'tcx> + + ArgTypeMethods<'tcx> + + AbiBuilderMethods<'tcx> + + IntrinsicCallMethods<'tcx> + + AsmBuilderMethods<'tcx> +{ + fn new_block<'b>( + cx: &'a Self::CodegenCx, + llfn: Self::Function, + name: &'b str + ) -> Self; + /* ... */ + fn cond_br( + &mut self, + cond: Self::Value, + then_llbb: Self::BasicBlock, + else_llbb: Self::BasicBlock, + ); + /* ... */ +} +``` + +Finally, a master structure implementing the `ExtraBackendMethods` trait is +used for high-level codegen-driving functions like `codegen_crate` in +`base.rs`. For LLVM, it is the empty `LlvmCodegenBackend`. +`ExtraBackendMethods` should be implemented by the same structure that +implements the `CodegenBackend` defined in +`rustc_codegen_utils/codegen_backend.rs`. + +During the traitification process, certain functions have been converted from +methods of a local structure to methods of `CodegenCx` or `Builder` and a +corresponding `self` parameter has been added. Indeed, LLVM stores information +internally that it can access when called through its API. This information +does not show up in a Rust data structure carried around when these methods are +called. However, when implementing a Rust backend for `rustc`, these methods +will need information from `CodegenCx`, hence the additional parameter (unused +in the LLVM implementation of the trait). + +### State of the code after the refactoring + +The traits offer an API which is very similar to the API of LLVM. This is not +the best solution since LLVM has a very special way of doing things: when +adding another backend, the traits definition might be changed in order to +offer more flexibility. + +However, the current separation between backend-agnostic and LLVM-specific code +has allowed the reuse of a significant part of the old `rustc_codegen_llvm`. +Here is the new LOC breakdown between backend-agnostic (BA) and LLVM for the +most important elements: + +* `back` folder: 3,800 (BA) vs 4,100 (LLVM); +* `mir` folder: 4,400 (BA) vs 0 (LLVM); +* `base.rs`: 1,100 (BA) vs 250 (LLVM); +* `builder.rs`: 1,400 (BA) vs 0 (LLVM); +* `common.rs`: 350 (BA) vs 350 (LLVM); + +The `debuginfo` folder has been left almost untouched by the splitting and is +specific to LLVM. Only its high-level features have been traitified. + +The new `traits` folder has 1500 LOC only for trait definitions. Overall, the +27,000 LOC-sized old `rustc_codegen_llvm` code has been split into the new +18,500 LOC-sized new `rustc_codegen_llvm` and the 12,000 LOC-sized +`rustc_codegen_ssa`. We can say that this refactoring allowed the reuse of +approximately 10,000 LOC that would otherwise have had to be duplicated between +the multiple backends of `rustc`. + +The refactored version of `rustc`'s backend introduced no regression over the +test suite nor in performance benchmark, which is in coherence with the nature +of the refactoring that used only compile-time parametricity (no trait +objects). diff --git a/src/doc/rustc-dev-guide/src/backend/codegen.md b/src/doc/rustc-dev-guide/src/backend/codegen.md new file mode 100644 index 000000000000..e2c92430e6f0 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/codegen.md @@ -0,0 +1,79 @@ +# Code generation + +Code generation (or "codegen") is the part of the compiler +that actually generates an executable binary. +Usually, rustc uses LLVM for code generation, +but there is also support for [Cranelift] and [GCC]. +The key is that rustc doesn't implement codegen itself. +It's worth noting, though, that in the Rust source code, +many parts of the backend have `codegen` in their names +(there are no hard boundaries). + +[Cranelift]: https://github.com/bytecodealliance/wasmtime/tree/main/cranelift +[GCC]: https://github.com/rust-lang/rustc_codegen_gcc + +> NOTE: If you are looking for hints on how to debug code generation bugs, +> please see [this section of the debugging chapter][debugging]. + +[debugging]: ./debugging.md + +## What is LLVM? + +[LLVM](https://llvm.org) is "a collection of modular and reusable compiler and +toolchain technologies". In particular, the LLVM project contains a pluggable +compiler backend (also called "LLVM"), which is used by many compiler projects, +including the `clang` C compiler and our beloved `rustc`. + +LLVM takes input in the form of LLVM IR. It is basically assembly code with +additional low-level types and annotations added. These annotations are helpful +for doing optimizations on the LLVM IR and outputted machine code. The end +result of all this is (at long last) something executable (e.g. an ELF object, +an EXE, or wasm). + +There are a few benefits to using LLVM: + +- We don't have to write a whole compiler backend. This reduces implementation + and maintenance burden. +- We benefit from the large suite of advanced optimizations that the LLVM + project has been collecting. +- We can automatically compile Rust to any of the platforms for which LLVM has + support. For example, as soon as LLVM added support for wasm, voila! rustc, + clang, and a bunch of other languages were able to compile to wasm! (Well, + there was some extra stuff to be done, but we were 90% there anyway). +- We and other compiler projects benefit from each other. For example, when the + [Spectre and Meltdown security vulnerabilities][spectre] were discovered, + only LLVM needed to be patched. + +[spectre]: https://meltdownattack.com/ + +## Running LLVM, linking, and metadata generation + +Once LLVM IR for all of the functions and statics, etc is built, it is time to +start running LLVM and its optimization passes. LLVM IR is grouped into +"modules". Multiple "modules" can be codegened at the same time to aid in +multi-core utilization. These "modules" are what we refer to as _codegen +units_. These units were established way back during monomorphization +collection phase. + +Once LLVM produces objects from these modules, these objects are passed to the +linker along with, optionally, the metadata object and an archive or an +executable is produced. + +It is not necessarily the codegen phase described above that runs the +optimizations. With certain kinds of LTO, the optimization might happen at the +linking time instead. It is also possible for some optimizations to happen +before objects are passed on to the linker and some to happen during the +linking. + +This all happens towards the very end of compilation. The code for this can be +found in [`rustc_codegen_ssa::back`][ssaback] and +[`rustc_codegen_llvm::back`][llvmback]. Sadly, this piece of code is not +really well-separated into LLVM-dependent code; the [`rustc_codegen_ssa`][ssa] +contains a fair amount of code specific to the LLVM backend. + +Once these components are done with their work you end up with a number of +files in your filesystem corresponding to the outputs you have requested. + +[ssa]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/index.html +[ssaback]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/back/index.html +[llvmback]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_llvm/back/index.html diff --git a/src/doc/rustc-dev-guide/src/backend/debugging.md b/src/doc/rustc-dev-guide/src/backend/debugging.md new file mode 100644 index 000000000000..275a1777a996 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/debugging.md @@ -0,0 +1,258 @@ +## Debugging LLVM + +> NOTE: If you are looking for info about code generation, please see [this +> chapter][codegen] instead. + +[codegen]: ./codegen.md + +This section is about debugging compiler bugs in code generation (e.g. why the +compiler generated some piece of code or crashed in LLVM). LLVM is a big +project on its own that probably needs to have its own debugging document (not +that I could find one). But here are some tips that are important in a rustc +context: + +### Minimize the example + +As a general rule, compilers generate lots of information from analyzing code. +Thus, a useful first step is usually to find a minimal example. One way to do +this is to + +1. create a new crate that reproduces the issue (e.g. adding whatever crate is +at fault as a dependency, and using it from there) + +2. minimize the crate by removing external dependencies; that is, moving +everything relevant to the new crate + +3. further minimize the issue by making the code shorter (there are tools that +help with this like `creduce`) + +For more discussion on methodology for steps 2 and 3 above, there is an +[epic blog post][mcve-blog] from pnkfelix specifically about Rust program minimization. + +[mcve-blog]: https://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/ + +### Enable LLVM internal checks + +The official compilers (including nightlies) have LLVM assertions disabled, +which means that LLVM assertion failures can show up as compiler crashes (not +ICEs but "real" crashes) and other sorts of weird behavior. If you are +encountering these, it is a good idea to try using a compiler with LLVM +assertions enabled - either an "alt" nightly or a compiler you build yourself +by setting `[llvm] assertions=true` in your config.toml - and see whether +anything turns up. + +The rustc build process builds the LLVM tools into +`./build//llvm/bin`. They can be called directly. +These tools include: + * [`llc`], which compiles bitcode (`.bc` files) to executable code; this can be used to + replicate LLVM backend bugs. + * [`opt`], a bitcode transformer that runs LLVM optimization passes. + * [`bugpoint`], which reduces large test cases to small, useful ones. + * and many others, some of which are referenced in the text below. + +[`llc`]: https://llvm.org/docs/CommandGuide/llc.html +[`opt`]: https://llvm.org/docs/CommandGuide/opt.html +[`bugpoint`]: https://llvm.org/docs/Bugpoint.html + +By default, the Rust build system does not check for changes to the LLVM source code or +its build configuration settings. So, if you need to rebuild the LLVM that is linked +into `rustc`, first delete the file `llvm-finished-building`, which should be located +in `build//llvm/`. + +The default rustc compilation pipeline has multiple codegen units, which is +hard to replicate manually and means that LLVM is called multiple times in +parallel. If you can get away with it (i.e. if it doesn't make your bug +disappear), passing `-C codegen-units=1` to rustc will make debugging easier. + +### Get your hands on raw LLVM input + +For rustc to generate LLVM IR, you need to pass the `--emit=llvm-ir` flag. If +you are building via cargo, use the `RUSTFLAGS` environment variable (e.g. +`RUSTFLAGS='--emit=llvm-ir'`). This causes rustc to spit out LLVM IR into the +target directory. + +`cargo llvm-ir [options] path` spits out the LLVM IR for a particular function +at `path`. (`cargo install cargo-asm` installs `cargo asm` and `cargo +llvm-ir`). `--build-type=debug` emits code for debug builds. There are also +other useful options. Also, debug info in LLVM IR can clutter the output a lot: +`RUSTFLAGS="-C debuginfo=0"` is really useful. + +`RUSTFLAGS="-C save-temps"` outputs LLVM bitcode (not the same as IR) at +different stages during compilation, which is sometimes useful. The output LLVM +bitcode will be in `.bc` files in the compiler's output directory, set via the +`--out-dir DIR` argument to `rustc`. + + * If you are hitting an assertion failure or segmentation fault from the LLVM + backend when invoking `rustc` itself, it is a good idea to try passing each + of these `.bc` files to the `llc` command, and see if you get the same + failure. (LLVM developers often prefer a bug reduced to a `.bc` file over one + that uses a Rust crate for its minimized reproduction.) + + * To get human readable versions of the LLVM bitcode, one just needs to convert + the bitcode (`.bc`) files to `.ll` files using `llvm-dis`, which should be in + the target local compilation of rustc. + + +Note that rustc emits different IR depending on whether `-O` is enabled, even +without LLVM's optimizations, so if you want to play with the IR rustc emits, +you should: + +```bash +$ rustc +local my-file.rs --emit=llvm-ir -O -C no-prepopulate-passes \ + -C codegen-units=1 +$ OPT=./build/$TRIPLE/llvm/bin/opt +$ $OPT -S -O2 < my-file.ll > my +``` + +If you just want to get the LLVM IR during the LLVM pipeline, to e.g. see which +IR causes an optimization-time assertion to fail, or to see when LLVM performs +a particular optimization, you can pass the rustc flag `-C +llvm-args=-print-after-all`, and possibly add `-C +llvm-args='-filter-print-funcs=EXACT_FUNCTION_NAME` (e.g. `-C +llvm-args='-filter-print-funcs=_ZN11collections3str21_$LT$impl$u20$str$GT$\ +7replace17hbe10ea2e7c809b0bE'`). + +That produces a lot of output into standard error, so you'll want to pipe that +to some file. Also, if you are using neither `-filter-print-funcs` nor `-C +codegen-units=1`, then, because the multiple codegen units run in parallel, the +printouts will mix together and you won't be able to read anything. + + * One caveat to the aforementioned methodology: the `-print` family of options + to LLVM only prints the IR unit that the pass runs on (e.g., just a + function), and does not include any referenced declarations, globals, + metadata, etc. This means you cannot in general feed the output of `-print` + into `llc` to reproduce a given problem. + + * Within LLVM itself, calling `F.getParent()->dump()` at the beginning of + `SafeStackLegacyPass::runOnFunction` will dump the whole module, which + may provide better basis for reproduction. (However, you + should be able to get that same dump from the `.bc` files dumped by + `-C save-temps`.) + +If you want just the IR for a specific function (say, you want to see why it +causes an assertion or doesn't optimize correctly), you can use `llvm-extract`, +e.g. + +```bash +$ ./build/$TRIPLE/llvm/bin/llvm-extract \ + -func='_ZN11collections3str21_$LT$impl$u20$str$GT$7replace17hbe10ea2e7c809b0bE' \ + -S \ + < unextracted.ll \ + > extracted.ll +``` + +### Investigate LLVM optimization passes + +If you are seeing incorrect behavior due to an optimization pass, a very handy +LLVM option is `-opt-bisect-limit`, which takes an integer denoting the index +value of the highest pass to run. Index values for taken passes are stable +from run to run; by coupling this with software that automates bisecting the +search space based on the resulting program, an errant pass can be quickly +determined. When an `-opt-bisect-limit` is specified, all runs are displayed +to standard error, along with their index and output indicating if the +pass was run or skipped. Setting the limit to an index of -1 (e.g., +`RUSTFLAGS="-C llvm-args=-opt-bisect-limit=-1"`) will show all passes and +their corresponding index values. + +If you want to play with the optimization pipeline, you can use the [`opt`] tool +from `./build//llvm/bin/` with the LLVM IR emitted by rustc. + +When investigating the implementation of LLVM itself, you should be +aware of its [internal debug infrastructure][llvm-debug]. +This is provided in LLVM Debug builds, which you enable for rustc +LLVM builds by changing this setting in the config.toml: +``` +[llvm] +# Indicates whether the LLVM assertions are enabled or not +assertions = true + +# Indicates whether the LLVM build is a Release or Debug build +optimize = false +``` +The quick summary is: + * Setting `assertions=true` enables coarse-grain debug messaging. + * beyond that, setting `optimize=false` enables fine-grain debug messaging. + * `LLVM_DEBUG(dbgs() << msg)` in LLVM is like `debug!(msg)` in `rustc`. + * The `-debug` option turns on all messaging; it is like setting the + environment variable `RUSTC_LOG=debug` in `rustc`. + * The `-debug-only=,` variant is more selective; it is like + setting the environment variable `RUSTC_LOG=path1,path2` in `rustc`. + +[llvm-debug]: https://llvm.org/docs/ProgrammersManual.html#the-llvm-debug-macro-and-debug-option + +### Getting help and asking questions + +If you have some questions, head over to the [rust-lang Zulip] and +specifically the `#t-compiler/wg-llvm` stream. + +[rust-lang Zulip]: https://rust-lang.zulipchat.com/ + +### Compiler options to know and love + +The `-C help` and `-Z help` compiler switches will list out a variety +of interesting options you may find useful. Here are a few of the most +common that pertain to LLVM development (some of them are employed in the +tutorial above): + +- The `--emit llvm-ir` option emits a `.ll` file with LLVM IR in textual format + - The `--emit llvm-bc` option emits in bytecode format (`.bc`) +- Passing `-C llvm-args=` allows passing pretty much all the + options that tools like llc and opt would accept; + e.g. `-C llvm-args=-print-before-all` to print IR before every LLVM + pass. +- The `-C no-prepopulate-passes` will avoid pre-populate the LLVM pass + manager with a list of passes. This will allow you to view the LLVM + IR that rustc generates, not the LLVM IR after optimizations. +- The `-C passes=val` option allows you to supply a space separated list of extra LLVM passes to run +- The `-C save-temps` option saves all temporary output files during compilation +- The `-Z print-llvm-passes` option will print out LLVM optimization passes being run +- The `-Z time-llvm-passes` option measures the time of each LLVM pass +- The `-Z verify-llvm-ir` option will verify the LLVM IR for correctness +- The `-Z no-parallel-backend` will disable parallel compilation of distinct compilation units +- The `-Z llvm-time-trace` option will output a Chrome profiler compatible JSON file + which contains details and timings for LLVM passes. +- The `-C llvm-args=-opt-bisect-limit=` option allows for bisecting LLVM + optimizations. + +### Filing LLVM bug reports + +When filing an LLVM bug report, you will probably want some sort of minimal +working example that demonstrates the problem. The Godbolt compiler explorer is +really helpful for this. + +1. Once you have some LLVM IR for the problematic code (see above), you can +create a minimal working example with Godbolt. Go to +[llvm.godbolt.org](https://llvm.godbolt.org). + +2. Choose `LLVM-IR` as programming language. + +3. Use `llc` to compile the IR to a particular target as is: + - There are some useful flags: `-mattr` enables target features, `-march=` + selects the target, `-mcpu=` selects the CPU, etc. + - Commands like `llc -march=help` output all architectures available, which + is useful because sometimes the Rust arch names and the LLVM names do not + match. + - If you have compiled rustc yourself somewhere, in the target directory + you have binaries for `llc`, `opt`, etc. + +4. If you want to optimize the LLVM-IR, you can use `opt` to see how the LLVM + optimizations transform it. + +5. Once you have a godbolt link demonstrating the issue, it is pretty easy to + fill in an LLVM bug. Just visit their [github issues page][llvm-issues]. + +[llvm-issues]: https://github.com/llvm/llvm-project/issues + +### Porting bug fixes from LLVM + +Once you've identified the bug as an LLVM bug, you will sometimes +find that it has already been reported and fixed in LLVM, but we haven't +gotten the fix yet (or perhaps you are familiar enough with LLVM to fix it yourself). + +In that case, we can sometimes opt to port the fix for the bug +directly to our own LLVM fork, so that rustc can use it more easily. +Our fork of LLVM is maintained in [rust-lang/llvm-project]. Once +you've landed the fix there, you'll also need to land a PR modifying +our submodule commits -- ask around on Zulip for help. + +[rust-lang/llvm-project]: https://github.com/rust-lang/llvm-project/ diff --git a/src/doc/rustc-dev-guide/src/backend/implicit-caller-location.md b/src/doc/rustc-dev-guide/src/backend/implicit-caller-location.md new file mode 100644 index 000000000000..17158497d592 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/implicit-caller-location.md @@ -0,0 +1,281 @@ +# Implicit Caller Location + + + +Approved in [RFC 2091], this feature enables the accurate reporting of caller location during panics +initiated from functions like `Option::unwrap`, `Result::expect`, and `Index::index`. This feature +adds the [`#[track_caller]`][attr-reference] attribute for functions, the +[`caller_location`][intrinsic] intrinsic, and the stabilization-friendly +[`core::panic::Location::caller`][wrapper] wrapper. + +## Motivating Example + +Take this example program: + +```rust +fn main() { + let foo: Option<()> = None; + foo.unwrap(); // this should produce a useful panic message! +} +``` + +Prior to Rust 1.42, panics like this `unwrap()` printed a location in core: + +``` +$ rustc +1.41.0 example.rs; example.exe +thread 'main' panicked at 'called `Option::unwrap()` on a `None` value',...core\macros\mod.rs:15:40 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace. +``` + +As of 1.42, we get a much more helpful message: + +``` +$ rustc +1.42.0 example.rs; example.exe +thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', example.rs:3:5 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +These error messages are achieved through a combination of changes to `panic!` internals to make use +of `core::panic::Location::caller` and a number of `#[track_caller]` annotations in the standard +library which propagate caller information. + +## Reading Caller Location + +Previously, `panic!` made use of the `file!()`, `line!()`, and `column!()` macros to construct a +[`Location`] pointing to where the panic occurred. These macros couldn't be given an overridden +location, so functions which intentionally invoked `panic!` couldn't provide their own location, +hiding the actual source of error. + +Internally, `panic!()` now calls [`core::panic::Location::caller()`][wrapper] to find out where it +was expanded. This function is itself annotated with `#[track_caller]` and wraps the +[`caller_location`][intrinsic] compiler intrinsic implemented by rustc. This intrinsic is easiest +explained in terms of how it works in a `const` context. + +## Caller Location in `const` + +There are two main phases to returning the caller location in a const context: walking up the stack +to find the right location and allocating a const value to return. + +### Finding the right `Location` + +In a const context we "walk up the stack" from where the intrinsic is invoked, stopping when we +reach the first function call in the stack which does *not* have the attribute. This walk is in +[`InterpCx::find_closest_untracked_caller_location()`][const-find-closest]. + +Starting at the bottom, we iterate up over stack [`Frame`][const-frame]s in the +[`InterpCx::stack`][const-stack], calling +[`InstanceKind::requires_caller_location`][requires-location] on the +[`Instance`s from each `Frame`][frame-instance]. We stop once we find one that returns `false` and +return the span of the *previous* frame which was the "topmost" tracked function. + +### Allocating a static `Location` + +Once we have a `Span`, we need to allocate static memory for the `Location`, which is performed by +the [`TyCtxt::const_caller_location()`][const-location-query] query. Internally this calls +[`InterpCx::alloc_caller_location()`][alloc-location] and results in a unique +[memory kind][location-memory-kind] (`MemoryKind::CallerLocation`). The SSA codegen backend is able +to emit code for these same values, and we use this code there as well. + +Once our `Location` has been allocated in static memory, our intrinsic returns a reference to it. + +## Generating code for `#[track_caller]` callees + +To generate efficient code for a tracked function and its callers, we need to provide the same +behavior from the intrinsic's point of view without having a stack to walk up at runtime. We invert +the approach: as we grow the stack down we pass an additional argument to calls of tracked functions +rather than walking up the stack when the intrinsic is called. That additional argument can be +returned wherever the caller location is queried. + +The argument we append is of type `&'static core::panic::Location<'static>`. A reference was chosen +to avoid unnecessary copying because a pointer is a third the size of +`std::mem::size_of::() == 24` at time of writing. + +When generating a call to a function which is tracked, we pass the location argument the value of +[`FunctionCx::get_caller_location`][fcx-get]. + +If the calling function is tracked, `get_caller_location` returns the local in +[`FunctionCx::caller_location`][fcx-location] which was populated by the current caller's caller. +In these cases the intrinsic "returns" a reference which was actually provided in an argument to its +caller. + +If the calling function is not tracked, `get_caller_location` allocates a `Location` static from +the current `Span` and returns a reference to that. + +We more efficiently achieve the same behavior as a loop starting from the bottom by passing a single +`&Location` value through the `caller_location` fields of multiple `FunctionCx`s as we grow the +stack downward. + +### Codegen examples + +What does this transformation look like in practice? Take this example which uses the new feature: + +```rust +#![feature(track_caller)] +use std::panic::Location; + +#[track_caller] +fn print_caller() { + println!("called from {}", Location::caller()); +} + +fn main() { + print_caller(); +} +``` + +Here `print_caller()` appears to take no arguments, but we compile it to something like this: + +```rust +#![feature(panic_internals)] +use std::panic::Location; + +fn print_caller(caller: &Location) { + println!("called from {}", caller); +} + +fn main() { + print_caller(&Location::internal_constructor(file!(), line!(), column!())); +} +``` + +### Dynamic Dispatch + +In codegen contexts we have to modify the callee ABI to pass this information down the stack, but +the attribute expressly does *not* modify the type of the function. The ABI change must be +transparent to type checking and remain sound in all uses. + +Direct calls to tracked functions will always know the full codegen flags for the callee and can +generate appropriate code. Indirect callers won't have this information and it's not encoded in +the type of the function pointer they call, so we generate a [`ReifyShim`] around the function +whenever taking a pointer to it. This shim isn't able to report the actual location of the indirect +call (the function's definition site is reported instead), but it prevents miscompilation and is +probably the best we can do without modifying fully-stabilized type signatures. + +> *Note:* We always emit a [`ReifyShim`] when taking a pointer to a tracked function. While the +> constraint here is imposed by codegen contexts, we don't know during MIR construction of the shim +> whether we'll be called in a const context (safe to ignore shim) or in a codegen context (unsafe +> to ignore shim). Even if we did know, the results from const and codegen contexts must agree. + +## The Attribute + +The `#[track_caller]` attribute is checked alongside other codegen attributes to ensure the +function: + +* has the `"Rust"` ABI (as opposed to e.g., `"C"`) +* is not a closure +* is not `#[naked]` + +If the use is valid, we set [`CodegenFnAttrsFlags::TRACK_CALLER`][attrs-flags]. This flag influences +the return value of [`InstanceKind::requires_caller_location`][requires-location] which is in turn +used in both const and codegen contexts to ensure correct propagation. + +### Traits + +When applied to trait method implementations, the attribute works as it does for regular functions. + +When applied to a trait method prototype, the attribute applies to all implementations of the +method. When applied to a default trait method implementation, the attribute takes effect on +that implementation *and* any overrides. + +Examples: + +```rust +#![feature(track_caller)] + +macro_rules! assert_tracked { + () => {{ + let location = std::panic::Location::caller(); + assert_eq!(location.file(), file!()); + assert_ne!(location.line(), line!(), "line should be outside this fn"); + println!("called at {}", location); + }}; +} + +trait TrackedFourWays { + /// All implementations inherit `#[track_caller]`. + #[track_caller] + fn blanket_tracked(); + + /// Implementors can annotate themselves. + fn local_tracked(); + + /// This implementation is tracked (overrides are too). + #[track_caller] + fn default_tracked() { + assert_tracked!(); + } + + /// Overrides of this implementation are tracked (it is too). + #[track_caller] + fn default_tracked_to_override() { + assert_tracked!(); + } +} + +/// This impl uses the default impl for `default_tracked` and provides its own for +/// `default_tracked_to_override`. +impl TrackedFourWays for () { + fn blanket_tracked() { + assert_tracked!(); + } + + #[track_caller] + fn local_tracked() { + assert_tracked!(); + } + + fn default_tracked_to_override() { + assert_tracked!(); + } +} + +fn main() { + <() as TrackedFourWays>::blanket_tracked(); + <() as TrackedFourWays>::default_tracked(); + <() as TrackedFourWays>::default_tracked_to_override(); + <() as TrackedFourWays>::local_tracked(); +} +``` + +## Background/History + +Broadly speaking, this feature's goal is to improve common Rust error messages without breaking +stability guarantees, requiring modifications to end-user source, relying on platform-specific +debug-info, or preventing user-defined types from having the same error-reporting benefits. + +Improving the output of these panics has been a goal of proposals since at least mid-2016 (see +[non-viable alternatives] in the approved RFC for details). It took two more years until RFC 2091 +was approved, much of its [rationale] for this feature's design having been discovered through the +discussion around several earlier proposals. + +The design in the original RFC limited itself to implementations that could be done inside the +compiler at the time without significant refactoring. However in the year and a half between the +approval of the RFC and the actual implementation work, a [revised design] was proposed and written +up on the tracking issue. During the course of implementing that, it was also discovered that an +implementation was possible without modifying the number of arguments in a function's MIR, which +would simplify later stages and unlock use in traits. + +Because the RFC's implementation strategy could not readily support traits, the semantics were not +originally specified. They have since been implemented following the path which seemed most correct +to the author and reviewers. + +[RFC 2091]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md +[attr-reference]: https://doc.rust-lang.org/reference/attributes/codegen.html#the-track_caller-attribute +[intrinsic]: https://doc.rust-lang.org/nightly/core/intrinsics/fn.caller_location.html +[wrapper]: https://doc.rust-lang.org/nightly/core/panic/struct.Location.html#method.caller +[non-viable alternatives]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md#non-viable-alternatives +[rationale]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md#rationale +[revised design]: https://github.com/rust-lang/rust/issues/47809#issuecomment-443538059 +[attrs-flags]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/middle/codegen_fn_attrs/struct.CodegenFnAttrFlags.html#associatedconstant.TRACK_CALLER +[`ReifyShim`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/enum.InstanceKind.html#variant.ReifyShim +[`Location`]: https://doc.rust-lang.org/core/panic/struct.Location.html +[const-find-closest]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/struct.InterpCx.html#method.find_closest_untracked_caller_location +[requires-location]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/instance/enum.InstanceKind.html#method.requires_caller_location +[alloc-location]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/struct.InterpCx.html#method.alloc_caller_location +[fcx-location]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/struct.FunctionCx.html#structfield.caller_location +[const-location-query]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html#method.const_caller_location +[location-memory-kind]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/enum.MemoryKind.html#variant.CallerLocation +[const-frame]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/struct.Frame.html +[const-stack]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/struct.InterpCx.html#structfield.stack +[fcx-get]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/struct.FunctionCx.html#method.get_caller_location +[frame-instance]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/struct.Frame.html#structfield.instance diff --git a/src/doc/rustc-dev-guide/src/backend/inline-asm.md b/src/doc/rustc-dev-guide/src/backend/inline-asm.md new file mode 100644 index 000000000000..f1a64b5ee1d6 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/inline-asm.md @@ -0,0 +1,5 @@ +# Inline Assembly + +**TODO**: You can find more info +[here](https://github.com/rust-lang/rust/pull/69171#issue-375572066) +[#1162](https://github.com/rust-lang/rustc-dev-guide/issues/1162) diff --git a/src/doc/rustc-dev-guide/src/backend/libs-and-metadata.md b/src/doc/rustc-dev-guide/src/backend/libs-and-metadata.md new file mode 100644 index 000000000000..b0823b9a5eed --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/libs-and-metadata.md @@ -0,0 +1,191 @@ +# Libraries and Metadata + +When the compiler sees a reference to an external crate, it needs to load some +information about that crate. This chapter gives an overview of that process, +and the supported file formats for crate libraries. + +## Libraries + +A crate dependency can be loaded from an `rlib`, `dylib`, or `rmeta` file. A +key point of these file formats is that they contain `rustc`-specific +[*metadata*](#metadata). This metadata allows the compiler to discover enough +information about the external crate to understand the items it contains, +which macros it exports, and *much* more. + +### rlib + +An `rlib` is an [archive file], which is similar to a tar file. This file +format is specific to `rustc`, and may change over time. This file contains: + +* Object code, which is the result of code generation. This is used during + regular linking. There is a separate `.o` file for each [codegen unit]. The + codegen step can be skipped with the [`-C + linker-plugin-lto`][linker-plugin-lto] CLI option, which means each `.o` + file will only contain LLVM bitcode. +* [LLVM bitcode], which is a binary representation of LLVM's intermediate + representation, which is embedded as a section in the `.o` files. This can + be used for [Link Time Optimization] (LTO). This can be removed with the + [`-C embed-bitcode=no`][embed-bitcode] CLI option to improve compile times + and reduce disk space if LTO is not needed. +* `rustc` [metadata], in a file named `lib.rmeta`. +* A symbol table, which is generally a list of symbols with offsets to the + object file that contain that symbol. This is pretty standard for archive + files. + +[archive file]: https://en.wikipedia.org/wiki/Ar_(Unix) +[LLVM bitcode]: https://llvm.org/docs/BitCodeFormat.html +[Link Time Optimization]: https://llvm.org/docs/LinkTimeOptimization.html +[codegen unit]: ../backend/codegen.md +[embed-bitcode]: https://doc.rust-lang.org/rustc/codegen-options/index.html#embed-bitcode +[linker-plugin-lto]: https://doc.rust-lang.org/rustc/codegen-options/index.html#linker-plugin-lto + +### dylib + +A `dylib` is a platform-specific shared library. It includes the `rustc` +[metadata] in a special link section called `.rustc` in a compressed format. + +### rmeta + +An `rmeta` file is custom binary format that contains the [metadata] for the +crate. This file can be used for fast "checks" of a project by skipping all +code generation (as is done with `cargo check`), collecting enough information +for documentation (as is done with `cargo doc`), or for +[pipelining](#pipelining). This file is created if the +[`--emit=metadata`][emit] CLI option is used. + +`rmeta` files do not support linking, since they do not contain compiled +object files. + +[emit]: https://doc.rust-lang.org/rustc/command-line-arguments.html#option-emit + +## Metadata + +The metadata contains a wide swath of different elements. This guide will not +go into detail of every field it contains. You are encouraged to browse the +[`CrateRoot`] definition to get a sense of the different elements it contains. +Everything about metadata encoding and decoding is in the [`rustc_metadata`] +package. + +Here are a few highlights of things it contains: + +* The version of the `rustc` compiler. The compiler will refuse to load files + from any other version. +* The [Strict Version Hash](#strict-version-hash) (SVH). This helps ensure the + correct dependency is loaded. +* The [Stable Crate Id](#stable-crate-id). This is a hash used + to identify crates. +* Information about all the source files in the library. This can be used for + a variety of things, such as diagnostics pointing to sources in a + dependency. +* Information about exported macros, traits, types, and items. Generally, + anything that's needed to be known when a path references something inside a + crate dependency. +* Encoded [MIR]. This is optional, and only encoded if needed for code + generation. `cargo check` skips this for performance reasons. + +[`CrateRoot`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/rmeta/struct.CrateRoot.html +[`rustc_metadata`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/index.html +[MIR]: ../mir/index.md + +### Strict Version Hash + +The Strict Version Hash ([SVH], also known as the "crate hash") is a 64-bit +hash that is used to ensure that the correct crate dependencies are loaded. It +is possible for a directory to contain multiple copies of the same dependency +built with different settings, or built from different sources. The crate +loader will skip any crates that have the wrong SVH. + +The SVH is also used for the [incremental compilation] session filename, +though that usage is mostly historic. + +The hash includes a variety of elements: + +* Hashes of the HIR nodes. +* All of the upstream crate hashes. +* All of the source filenames. +* Hashes of certain command-line flags (like `-C metadata` via the [Stable + Crate Id](#stable-crate-id), and all CLI options marked with `[TRACKED]`). + +See [`compute_hir_hash`] for where the hash is actually computed. + +[SVH]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/svh/struct.Svh.html +[incremental compilation]: ../queries/incremental-compilation.md +[`compute_hir_hash`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_lowering/struct.LoweringContext.html#method.compute_hir_hash + +### Stable Crate Id + +The [`StableCrateId`] is a 64-bit hash used to identify different crates with +potentially the same name. It is a hash of the crate name and all the +[`-C metadata`] CLI options computed in [`StableCrateId::new`]. It is +used in a variety of places, such as symbol name mangling, crate loading, and +much more. + +By default, all Rust symbols are mangled and incorporate the stable crate id. +This allows multiple versions of the same crate to be included together. Cargo +automatically generates `-C metadata` hashes based on a variety of factors, +like the package version, source, and the target kind (a lib and test can have +the same crate name, so they need to be disambiguated). + +[`StableCrateId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/def_id/struct.StableCrateId.html +[`StableCrateId::new`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/def_id/struct.StableCrateId.html#method.new +[`-C metadata`]: https://doc.rust-lang.org/rustc/codegen-options/index.html#metadata + +## Crate loading + +Crate loading can have quite a few subtle complexities. During [name +resolution], when an external crate is referenced (via an `extern crate` or +path), the resolver uses the [`CrateLoader`] which is responsible for finding +the crate libraries and loading the [metadata] for them. After the dependency +is loaded, the `CrateLoader` will provide the information the resolver needs +to perform its job (such as expanding macros, resolving paths, etc.). + +To load each external crate, the `CrateLoader` uses a [`CrateLocator`] to +actually find the correct files for one specific crate. There is some great +documentation in the [`locator`] module that goes into detail on how loading +works, and I strongly suggest reading it to get the full picture. + +The location of a dependency can come from several different places. Direct +dependencies are usually passed with `--extern` flags, and the loader can look +at those directly. Direct dependencies often have references to their own +dependencies, which need to be loaded, too. These are usually found by +scanning the directories passed with the `-L` flag for any file whose metadata +contains a matching crate name and [SVH](#strict-version-hash). The loader +will also look at the [sysroot] to find dependencies. + +As crates are loaded, they are kept in the [`CStore`] with the crate metadata +wrapped in the [`CrateMetadata`] struct. After resolution and expansion, the +`CStore` will make its way into the [`GlobalCtxt`] for the rest of +compilation. + +[name resolution]: ../name-resolution.md +[`CrateLoader`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/creader/struct.CrateLoader.html +[`CrateLocator`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/locator/struct.CrateLocator.html +[`locator`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/locator/index.html +[`CStore`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/creader/struct.CStore.html +[`CrateMetadata`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/rmeta/decoder/struct.CrateMetadata.html +[`GlobalCtxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.GlobalCtxt.html +[sysroot]: ../building/bootstrapping/what-bootstrapping-does.md#what-is-a-sysroot + +## Pipelining + +One trick to improve compile times is to start building a crate as soon as the +metadata for its dependencies is available. For a library, there is no need to +wait for the code generation of dependencies to finish. Cargo implements this +technique by telling `rustc` to emit an [`rmeta`](#rmeta) file for each +dependency as well as an [`rlib`](#rlib). As early as it can, `rustc` will +save the `rmeta` file to disk before it continues to the code generation +phase. The compiler sends a JSON message to let the build tool know that it +can start building the next crate if possible. + +The [crate loading](#crate-loading) system is smart enough to know when it +sees an `rmeta` file to use that if the `rlib` is not there (or has only been +partially written). + +This pipelining isn't possible for binaries, because the linking phase will +require the code generation of all its dependencies. In the future, it may be +possible to further improve this scenario by splitting linking into a separate +command (see [#64191]). + +[#64191]: https://github.com/rust-lang/rust/issues/64191 + +[metadata]: #metadata diff --git a/src/doc/rustc-dev-guide/src/backend/lowering-mir.md b/src/doc/rustc-dev-guide/src/backend/lowering-mir.md new file mode 100644 index 000000000000..8b9dbe7ce2a5 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/lowering-mir.md @@ -0,0 +1,57 @@ +# Lowering MIR to a Codegen IR + +Now that we have a list of symbols to generate from the collector, we need to +generate some sort of codegen IR. In this chapter, we will assume LLVM IR, +since that's what rustc usually uses. The actual monomorphization is performed +as we go, while we do the translation. + +Recall that the backend is started by +[`rustc_codegen_ssa::base::codegen_crate`][codegen1]. Eventually, this reaches +[`rustc_codegen_ssa::mir::codegen_mir`][codegen2], which does the lowering from +MIR to LLVM IR. + +[codegen1]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/base/fn.codegen_crate.html +[codegen2]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/fn.codegen_mir.html + +The code is split into modules which handle particular MIR primitives: + +- [`rustc_codegen_ssa::mir::block`][mirblk] will deal with translating + blocks and their terminators. The most complicated and also the most + interesting thing this module does is generating code for function calls, + including the necessary unwinding handling IR. +- [`rustc_codegen_ssa::mir::statement`][mirst] translates MIR statements. +- [`rustc_codegen_ssa::mir::operand`][mirop] translates MIR operands. +- [`rustc_codegen_ssa::mir::place`][mirpl] translates MIR place references. +- [`rustc_codegen_ssa::mir::rvalue`][mirrv] translates MIR r-values. + +[mirblk]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/block/index.html +[mirst]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/statement/index.html +[mirop]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/operand/index.html +[mirpl]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/place/index.html +[mirrv]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/rvalue/index.html + +Before a function is translated a number of simple and primitive analysis +passes will run to help us generate simpler and more efficient LLVM IR. An +example of such an analysis pass would be figuring out which variables are +SSA-like, so that we can translate them to SSA directly rather than relying on +LLVM's `mem2reg` for those variables. The analysis can be found in +[`rustc_codegen_ssa::mir::analyze`][mirana]. + +[mirana]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/analyze/index.html + +Usually a single MIR basic block will map to a LLVM basic block, with very few +exceptions: intrinsic or function calls and less basic MIR statements like +`assert` can result in multiple basic blocks. This is a perfect lede into the +non-portable LLVM-specific part of the code generation. Intrinsic generation is +fairly easy to understand as it involves very few abstraction levels in between +and can be found in [`rustc_codegen_llvm::intrinsic`][llvmint]. + +[llvmint]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_llvm/intrinsic/index.html + +Everything else will use the [builder interface][builder]. This is the code that gets +called in the [`rustc_codegen_ssa::mir::*`][ssamir] modules discussed above. + +[builder]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_llvm/builder/index.html +[ssamir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/index.html + +> TODO: discuss how constants are generated diff --git a/src/doc/rustc-dev-guide/src/backend/monomorph.md b/src/doc/rustc-dev-guide/src/backend/monomorph.md new file mode 100644 index 000000000000..7ebb4d2b1e81 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/monomorph.md @@ -0,0 +1,81 @@ +# Monomorphization + + + +As you probably know, Rust has a very expressive type system that has extensive +support for generic types. But of course, assembly is not generic, so we need +to figure out the concrete types of all the generics before the code can +execute. + +Different languages handle this problem differently. For example, in some +languages, such as Java, we may not know the most precise type of value until +runtime. In the case of Java, this is ok because (almost) all variables are +reference values anyway (i.e. pointers to a heap allocated object). This +flexibility comes at the cost of performance, since all accesses to an object +must dereference a pointer. + +Rust takes a different approach: it _monomorphizes_ all generic types. This +means that compiler stamps out a different copy of the code of a generic +function for each concrete type needed. For example, if I use a `Vec` and +a `Vec` in my code, then the generated binary will have two copies of +the generated code for `Vec`: one for `Vec` and another for `Vec`. +The result is fast programs, but it comes at the cost of compile time (creating +all those copies can take a while) and binary size (all those copies might take +a lot of space). + +Monomorphization is the first step in the backend of the Rust compiler. + +## Collection + +First, we need to figure out what concrete types we need for all the generic +things in our program. This is called _collection_, and the code that does this +is called the _monomorphization collector_. + +Take this example: + +```rust +fn banana() { + peach::(); +} + +fn main() { + banana(); +} +``` + +The monomorphization collector will give you a list of `[main, banana, +peach::]`. These are the functions that will have machine code generated +for them. Collector will also add things like statics to that list. + +See [the collector rustdocs][collect] for more info. + +[collect]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_monomorphize/collector/index.html + +The monomorphization collector is run just before MIR lowering and codegen. +[`rustc_codegen_ssa::base::codegen_crate`][codegen1] calls the +[`collect_and_partition_mono_items`][mono] query, which does monomorphization +collection and then partitions them into [codegen +units](../appendix/glossary.md#codegen-unit). + +## Codegen Unit (CGU) partitioning + +For better incremental build times, the CGU partitioner creates two CGU for each source level +modules. One is for "stable" i.e. non-generic code and the other is more volatile code i.e. +monomorphized/specialized instances. + +For dependencies, consider Crate A and Crate B, such that Crate B depends on Crate A. +The following table lists different scenarios for a function in Crate A that might be used by one +or more modules in Crate B. + +| Crate A function | Behavior | +| - | - | +| Non-generic function | Crate A function doesn't appear in any codegen units of Crate B | +| Non-generic `#[inline]` function | Crate A function appears within a single CGU of Crate B, and exists even after post-inlining stage| +| Generic function | Regardless of inlining, all monomorphized (specialized) functions
from Crate A appear within a single codegen unit for Crate B.
The codegen unit exists even after the post inlining stage.| +| Generic `#[inline]` function | - same - | + +For more details about the partitioner read the module level [documentation]. + +[mono]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_monomorphize/partitioning/fn.collect_and_partition_mono_items.html +[codegen1]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/base/fn.codegen_crate.html +[documentation]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_monomorphize/partitioning/index.html diff --git a/src/doc/rustc-dev-guide/src/backend/updating-llvm.md b/src/doc/rustc-dev-guide/src/backend/updating-llvm.md new file mode 100644 index 000000000000..92d4ce32f924 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/backend/updating-llvm.md @@ -0,0 +1,237 @@ +# Updating LLVM + + + + +Rust supports building against multiple LLVM versions: + +* Tip-of-tree for the current LLVM development branch is usually supported + within a few days. PRs for such fixes are tagged with `llvm-main`. +* The latest released major version is always supported. +* The one or two preceding major versions are usually supported. + +By default, Rust uses its own fork in the [rust-lang/llvm-project repository]. +This fork is based on a `release/$N.x` branch of the upstream project, where +`$N` is either the latest released major version, or the current major version +in release candidate phase. The fork is never based on the `main` development +branch. + +Our LLVM fork only accepts: + +* Backports of changes that have already landed upstream. +* Workarounds for build issues affecting our CI environment. + +With the exception of one grandfathered-in patch for SGX enablement, we do not +accept functional patches that have not been upstreamed first. + +There are three types of LLVM updates, with different procedures: + +* Backports while the current major LLVM version is supported. +* Backports while the current major LLVM version is no longer supported (or + the change is not eligible for upstream backport). +* Update to a new major LLVM version. + +## Backports (upstream supported) + +While the current major LLVM version is supported upstream, fixes should be +backported upstream first, and the release branch then merged back into the +Rust fork. + +1. Make sure the bugfix is in upstream LLVM. +2. If this hasn't happened already, request a backport to the upstream release + branch. If you have LLVM commit access, follow the [backport process]. + Otherwise, open an issue requesting the backport. Continue once the + backport has been approved and merged. +3. Identify the branch that rustc is currently using. The `src/llvm-project` + submodule is always pinned to a branch of the + [rust-lang/llvm-project repository]. +4. Fork the rust-lang/llvm-project repository. +5. Check out the appropriate branch (typically named `rustc/a.b-yyyy-mm-dd`). +6. Add a remote for the upstream repository using + `git remote add upstream https://github.com/llvm/llvm-project.git` and + fetch it using `git fetch upstream`. +7. Merge the `upstream/release/$N.x` branch. +8. Push this branch to your fork. +9. Send a Pull Request to rust-lang/llvm-project to the same branch as before. + Be sure to reference the Rust and/or LLVM issue that you're fixing in the PR + description. +10. Wait for the PR to be merged. +11. Send a PR to rust-lang/rust updating the `src/llvm-project` submodule with + your bugfix. This can be done locally with `git submodule update --remote + src/llvm-project` typically. +12. Wait for PR to be merged. + +An example PR: +[#59089](https://github.com/rust-lang/rust/pull/59089) + +## Backports (upstream not supported) + +Upstream LLVM releases are only supported for two to three months after the +GA release. Once upstream backports are no longer accepted, changes should be +cherry-picked directly to our fork. + +1. Make sure the bugfix is in upstream LLVM. +2. Identify the branch that rustc is currently using. The `src/llvm-project` + submodule is always pinned to a branch of the + [rust-lang/llvm-project repository]. +3. Fork the rust-lang/llvm-project repository. +4. Check out the appropriate branch (typically named `rustc/a.b-yyyy-mm-dd`). +5. Add a remote for the upstream repository using + `git remote add upstream https://github.com/llvm/llvm-project.git` and + fetch it using `git fetch upstream`. +6. Cherry-pick the relevant commit(s) using `git cherry-pick -x`. +7. Push this branch to your fork. +8. Send a Pull Request to rust-lang/llvm-project to the same branch as before. + Be sure to reference the Rust and/or LLVM issue that you're fixing in the PR + description. +9. Wait for the PR to be merged. +10. Send a PR to rust-lang/rust updating the `src/llvm-project` submodule with + your bugfix. This can be done locally with `git submodule update --remote + src/llvm-project` typically. +11. Wait for PR to be merged. + +An example PR: +[#59089](https://github.com/rust-lang/rust/pull/59089) + +## New LLVM Release Updates + + + +Unlike bugfixes, +updating to a new release of LLVM typically requires a lot more work. +This is where we can't reasonably cherry-pick commits backwards, +so we need to do a full update. +There's a lot of stuff to do here, +so let's go through each in detail. + +1. LLVM announces that its latest release version has branched. + This will show up as a branch in the [llvm/llvm-project repository], + typically named `release/$N.x`, + where `$N` is the version of LLVM that's being released. + +1. Create a new branch in the [rust-lang/llvm-project repository] + from this `release/$N.x` branch, + and name it `rustc/a.b-yyyy-mm-dd`, + where `a.b` is the current version number of LLVM in-tree + at the time of the branch, + and the remaining part is the current date. + +2. Apply Rust-specific patches to the llvm-project repository. + All features and bugfixes are upstream, + but there's often some weird build-related patches + that don't make sense to upstream. + These patches are typically the latest patches in the + rust-lang/llvm-project branch that rustc is currently using. + +3. Build the new LLVM in the `rust` repository. + To do this, + you'll want to update the `src/llvm-project` repository to your branch, + and the revision you've created. + It's also typically a good idea to update `.gitmodules` with the new + branch name of the LLVM submodule. + Make sure you've committed changes to + `src/llvm-project` to ensure submodule updates aren't reverted. + Some commands you should execute are: + + * `./x build src/llvm-project` - test that LLVM still builds + * `./x build` - build the rest of rustc + + You'll likely need to update [`llvm-wrapper/*.cpp`][`llvm-wrapper`] + to compile with updated LLVM bindings. + Note that you should use `#ifdef` and such to ensure + that the bindings still compile on older LLVM versions. + + Note that `profile = "compiler"` and other defaults set by `./x setup` + download LLVM from CI instead of building it from source. + You should disable this temporarily to make sure your changes are being used. + This is done by having the following setting in `config.toml`: + + ```toml + [llvm] + download-ci-llvm = false + ``` + +4. Test for regressions across other platforms. LLVM often has at least one bug + for non-tier-1 architectures, so it's good to do some more testing before + sending this to bors! If you're low on resources you can send the PR as-is + now to bors, though, and it'll get tested anyway. + + Ideally, build LLVM and test it on a few platforms: + + * Linux + * macOS + * Windows + + Afterwards, run some docker containers that CI also does: + + * `./src/ci/docker/run.sh wasm32` + * `./src/ci/docker/run.sh arm-android` + * `./src/ci/docker/run.sh dist-various-1` + * `./src/ci/docker/run.sh dist-various-2` + * `./src/ci/docker/run.sh armhf-gnu` + +5. Prepare a PR to `rust-lang/rust`. Work with maintainers of + `rust-lang/llvm-project` to get your commit in a branch of that repository, + and then you can send a PR to `rust-lang/rust`. You'll change at least + `src/llvm-project` and will likely also change [`llvm-wrapper`] as well. + + + > For prior art, here are some previous LLVM updates: + > - [LLVM 11](https://github.com/rust-lang/rust/pull/73526) + > - [LLVM 12](https://github.com/rust-lang/rust/pull/81451) + > - [LLVM 13](https://github.com/rust-lang/rust/pull/87570) + > - [LLVM 14](https://github.com/rust-lang/rust/pull/93577) + > - [LLVM 15](https://github.com/rust-lang/rust/pull/99464) + > - [LLVM 16](https://github.com/rust-lang/rust/pull/109474) + > - [LLVM 17](https://github.com/rust-lang/rust/pull/115959) + > - [LLVM 18](https://github.com/rust-lang/rust/pull/120055) + > - [LLVM 19](https://github.com/rust-lang/rust/pull/127513) + + Note that sometimes it's easiest to land [`llvm-wrapper`] compatibility as a PR + before actually updating `src/llvm-project`. + This way, + while you're working through LLVM issues, + others interested in trying out the new LLVM can benefit from work you've done + to update the C++ bindings. + +3. Over the next few months, + LLVM will continually push commits to its `release/a.b` branch. + We will often want to have those bug fixes as well. + The merge process for that is to use `git merge` itself to merge LLVM's + `release/a.b` branch with the branch created in step 2. + This is typically + done multiple times when necessary while LLVM's release branch is baking. + +4. LLVM then announces the release of version `a.b`. + +5. After LLVM's official release, + we follow the process of creating a new branch on the + rust-lang/llvm-project repository again, + this time with a new date. + It is only then that the PR to update Rust to use that version is merged. + + The commit history of `rust-lang/llvm-project` + should look much cleaner as a `git rebase` is done, + where just a few Rust-specific commits are stacked on top of stock LLVM's release branch. + +### Caveats and gotchas + +Ideally the above instructions are pretty smooth, but here's some caveats to +keep in mind while going through them: + +* LLVM bugs are hard to find, don't hesitate to ask for help! + Bisection is definitely your friend here + (yes LLVM takes forever to build, yet bisection is still your friend). + Note that you can make use of [Dev Desktops], + which is an initiative to provide the contributors with remote access to powerful hardware. +* If you've got general questions, [wg-llvm] can help you out. +* Creating branches is a privileged operation on GitHub, so you'll need someone + with write access to create the branches for you most likely. + + +[rust-lang/llvm-project repository]: https://github.com/rust-lang/llvm-project +[llvm/llvm-project repository]: https://github.com/llvm/llvm-project +[`llvm-wrapper`]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_llvm/llvm-wrapper +[wg-llvm]: https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm +[Dev Desktops]: https://forge.rust-lang.org/infra/docs/dev-desktop.html +[backport process]: https://llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches diff --git a/src/doc/rustc-dev-guide/src/borrow_check.md b/src/doc/rustc-dev-guide/src/borrow_check.md new file mode 100644 index 000000000000..f206da42a82c --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check.md @@ -0,0 +1,59 @@ +# MIR borrow check + +The borrow check is Rust's "secret sauce" – it is tasked with +enforcing a number of properties: + +- That all variables are initialized before they are used. +- That you can't move the same value twice. +- That you can't move a value while it is borrowed. +- That you can't access a place while it is mutably borrowed (except through + the reference). +- That you can't mutate a place while it is immutably borrowed. +- etc + +The borrow checker operates on the MIR. An older implementation operated on the +HIR. Doing borrow checking on MIR has several advantages: + +- The MIR is *far* less complex than the HIR; the radical desugaring + helps prevent bugs in the borrow checker. (If you're curious, you + can see + [a list of bugs that the MIR-based borrow checker fixes here][47366].) +- Even more importantly, using the MIR enables ["non-lexical lifetimes"][nll], + which are regions derived from the control-flow graph. + +[47366]: https://github.com/rust-lang/rust/issues/47366 +[nll]: https://rust-lang.github.io/rfcs/2094-nll.html + +### Major phases of the borrow checker + +The borrow checker source is found in +[the `rustc_borrowck` crate][b_c]. The main entry point is +the [`mir_borrowck`] query. + +[b_c]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/index.html +[`mir_borrowck`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/fn.mir_borrowck.html + +- We first create a **local copy** of the MIR. In the coming steps, + we will modify this copy in place to modify the types and things to + include references to the new regions that we are computing. +- We then invoke [`replace_regions_in_mir`] to modify our local MIR. + Among other things, this function will replace all of the [regions](./appendix/glossary.md#region) + in the MIR with fresh [inference variables](./appendix/glossary.md#inf-var). +- Next, we perform a number of + [dataflow analyses](./appendix/background.md#dataflow) that + compute what data is moved and when. +- We then do a [second type check](borrow_check/type_check.md) across the MIR: + the purpose of this type check is to determine all of the constraints between + different regions. +- Next, we do [region inference](borrow_check/region_inference.md), which computes + the values of each region — basically, the points in the control-flow graph where + each lifetime must be valid according to the constraints we collected. +- At this point, we can compute the "borrows in scope" at each point. +- Finally, we do a second walk over the MIR, looking at the actions it + does and reporting errors. For example, if we see a statement like + `*a + 1`, then we would check that the variable `a` is initialized + and that it is not mutably borrowed, as either of those would + require an error to be reported. Doing this check requires the results of all + the previous analyses. + +[`replace_regions_in_mir`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/nll/fn.replace_regions_in_mir.html diff --git a/src/doc/rustc-dev-guide/src/borrow_check/drop_check.md b/src/doc/rustc-dev-guide/src/borrow_check/drop_check.md new file mode 100644 index 000000000000..5190c0bd1871 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/drop_check.md @@ -0,0 +1,156 @@ +# Drop Check + +We generally require the type of locals to be well-formed whenever the +local is used. This includes proving the where-bounds of the local and +also requires all regions used by it to be live. + +The only exception to this is when implicitly dropping values when they +go out of scope. This does not necessarily require the value to be live: + +```rust +fn main() { + let x = vec![]; + { + let y = String::from("I am temporary"); + x.push(&y); + } + // `x` goes out of scope here, after the reference to `y` + // is invalidated. This means that while dropping `x` its type + // is not well-formed as it contain regions which are not live. +} +``` + +This is only sound if dropping the value does not try to access any dead +region. We check this by requiring the type of the value to be +drop-live. +The requirements for which are computed in `fn dropck_outlives`. + +The rest of this section uses the following type definition for a type +which requires its region parameter to be live: + +```rust +struct PrintOnDrop<'a>(&'a str); +impl<'a> Drop for PrintOnDrop<'_> { + fn drop(&mut self) { + println!("{}", self.0); + } +} +``` + +## How values are dropped + +At its core, a value of type `T` is dropped by executing its "drop +glue". Drop glue is compiler generated and first calls `::drop` and then recursively calls the drop glue of any recursively +owned values. + +- If `T` has an explicit `Drop` impl, call `::drop`. +- Regardless of whether `T` implements `Drop`, recurse into all values + *owned* by `T`: + - references, raw pointers, function pointers, function items, trait + objects[^traitobj], and scalars do not own anything. + - tuples, slices, and arrays consider their elements to be owned. + For arrays of length zero we do not own any value of the element + type. + - all fields (of all variants) of ADTs are considered owned. We + consider all variants for enums. The exception here is + `ManuallyDrop` which is not considered to own `U`. + `PhantomData` also does not own anything. + closures and generators own their captured upvars. + +Whether a type has drop glue is returned by [`fn +Ty::needs_drop`](https://github.com/rust-lang/rust/blob/320b412f9c55bf480d26276ff0ab480e4ecb29c0/compiler/rustc_middle/src/ty/util.rs#L1086-L1108). + +### Partially dropping a local + +For types which do not implement `Drop` themselves, we can also +partially move parts of the value before dropping the rest. In this case +only the drop glue for the not-yet moved values is called, e.g. + +```rust +fn main() { + let mut x = (PrintOnDrop("third"), PrintOnDrop("first")); + drop(x.1); + println!("second") +} +``` + +During MIR building we assume that a local may get dropped whenever it +goes out of scope *as long as its type needs drop*. Computing the exact +drop glue for a variable happens **after** borrowck in the +`ElaborateDrops` pass. This means that even if some part of the local +have been dropped previously, dropck still requires this value to be +live. This is the case even if we completely moved a local. + +```rust +fn main() { + let mut x; + { + let temp = String::from("I am temporary"); + x = PrintOnDrop(&temp); + drop(x); + } +} //~ ERROR `temp` does not live long enough. +``` + +It should be possible to add some amount of drop elaboration before +borrowck, allowing this example to compile. There is an unstable feature +to move drop elaboration before const checking: +[#73255](https://github.com/rust-lang/rust/issues/73255). Such a feature +gate does not exist for doing some drop elaboration before borrowck, +although there's a [relevant +MCP](https://github.com/rust-lang/compiler-team/issues/558). + +[^traitobj]: you can consider trait objects to have a builtin `Drop` +implementation which directly uses the `drop_in_place` provided by the +vtable. This `Drop` implementation requires all its generic parameters +to be live. + +### `dropck_outlives` + +There are two distinct "liveness" computations that we perform: + +* a value `v` is *use-live* at location `L` if it may be "used" later; a + *use* here is basically anything that is not a *drop* +* a value `v` is *drop-live* at location `L` if it maybe dropped later + +When things are *use-live*, their entire type must be valid at `L`. When +they are *drop-live*, all regions that are required by dropck must be +valid at `L`. The values dropped in the MIR are *places*. + +The constraints computed by `dropck_outlives` for a type closely match +the generated drop glue for that type. Unlike drop glue, +`dropck_outlives` cares about the types of owned values, not the values +itself. For a value of type `T` + +- if `T` has an explicit `Drop`, require all generic arguments to be + live, unless they are marked with `#[may_dangle]` in which case they + are fully ignored +- regardless of whether `T` has an explicit `Drop`, recurse into all + types *owned* by `T` + - references, raw pointers, function pointers, function items, trait + objects[^traitobj], and scalars do not own anything. + - tuples, slices and arrays consider their element type to be owned. + **For arrays we currently do not check whether their length is + zero**. + - all fields (of all variants) of ADTs are considered owned. The + exception here is `ManuallyDrop` which is not considered to own + `U`. **We consider `PhantomData` to own `U`**. + - closures and generators own their captured upvars. + +The sections marked in bold are cases where `dropck_outlives` considers +types to be owned which are ignored by `Ty::needs_drop`. We only rely on +`dropck_outlives` if `Ty::needs_drop` for the containing local returned +`true`.This means liveness requirements can change depending on whether +a type is contained in a larger local. **This is inconsistent, and +should be fixed: an example [for +arrays](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=8b5f5f005a03971b22edb1c20c5e6cbe) +and [for +`PhantomData`](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=44c6e2b1fae826329fd54c347603b6c8).**[^core] + +One possible way these inconsistencies can be fixed is by MIR building +to be more pessimistic, probably by making `Ty::needs_drop` weaker, or +alternatively, changing `dropck_outlives` to be more precise, requiring +fewer regions to be live. + +[^core]: This is the core assumption of [#110288](https://github.com/rust-lang/rust/issues/110288) and [RFC 3417](https://github.com/rust-lang/rfcs/pull/3417). diff --git a/src/doc/rustc-dev-guide/src/borrow_check/moves_and_initialization.md b/src/doc/rustc-dev-guide/src/borrow_check/moves_and_initialization.md new file mode 100644 index 000000000000..043db2f5354e --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/moves_and_initialization.md @@ -0,0 +1,50 @@ +# Tracking moves and initialization + +Part of the borrow checker's job is to track which variables are +"initialized" at any given point in time -- this also requires +figuring out where moves occur and tracking those. + +## Initialization and moves + +From a user's perspective, initialization -- giving a variable some +value -- and moves -- transferring ownership to another place -- might +seem like distinct topics. Indeed, our borrow checker error messages +often talk about them differently. But **within the borrow checker**, +they are not nearly as separate. Roughly speaking, the borrow checker +tracks the set of "initialized places" at any point in the source +code. Assigning to a previously uninitialized local variable adds it +to that set; moving from a local variable removes it from that set. + +Consider this example: + +```rust,ignore +fn foo() { + let a: Vec; + + // a is not initialized yet + + a = vec![22]; + + // a is initialized here + + std::mem::drop(a); // a is moved here + + // a is no longer initialized here + + let l = a.len(); //~ ERROR +} +``` + +Here you can see that `a` starts off as uninitialized; once it is +assigned, it becomes initialized. But when `drop(a)` is called, that +moves `a` into the call, and hence it becomes uninitialized again. + +## Subsections + +To make it easier to peruse, this section is broken into a number of +subsections: + +- [Move paths](./moves_and_initialization/move_paths.html) the + *move path* concept that we use to track which local variables (or parts of + local variables, in some cases) are initialized. +- TODO *Rest not yet written* =) diff --git a/src/doc/rustc-dev-guide/src/borrow_check/moves_and_initialization/move_paths.md b/src/doc/rustc-dev-guide/src/borrow_check/moves_and_initialization/move_paths.md new file mode 100644 index 000000000000..ad9c75d62960 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/moves_and_initialization/move_paths.md @@ -0,0 +1,129 @@ +# Move paths + + + +In reality, it's not enough to track initialization at the granularity +of local variables. Rust also allows us to do moves and initialization +at the field granularity: + +```rust,ignore +fn foo() { + let a: (Vec, Vec) = (vec![22], vec![44]); + + // a.0 and a.1 are both initialized + + let b = a.0; // moves a.0 + + // a.0 is not initialized, but a.1 still is + + let c = a.0; // ERROR + let d = a.1; // OK +} +``` + +To handle this, we track initialization at the granularity of a **move +path**. A [`MovePath`] represents some location that the user can +initialize, move, etc. So e.g. there is a move-path representing the +local variable `a`, and there is a move-path representing `a.0`. Move +paths roughly correspond to the concept of a [`Place`] from MIR, but +they are indexed in ways that enable us to do move analysis more +efficiently. + +[`MovePath`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MovePath.html +[`Place`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Place.html + +## Move path indices + +Although there is a [`MovePath`] data structure, they are never referenced +directly. Instead, all the code passes around *indices* of type +[`MovePathIndex`]. If you need to get information about a move path, you use +this index with the [`move_paths` field of the `MoveData`][move_paths]. For +example, to convert a [`MovePathIndex`] `mpi` into a MIR [`Place`], you might +access the [`MovePath::place`] field like so: + +```rust,ignore +move_data.move_paths[mpi].place +``` + +[move_paths]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MoveData.html#structfield.move_paths +[`MovePath::place`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MovePath.html#structfield.place +[`MovePathIndex`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MovePathIndex.html + +## Building move paths + +One of the first things we do in the MIR borrow check is to construct +the set of move paths. This is done as part of the +[`MoveData::gather_moves`] function. This function uses a MIR visitor +called [`MoveDataBuilder`] to walk the MIR and look at how each [`Place`] +within is accessed. For each such [`Place`], it constructs a +corresponding [`MovePathIndex`]. It also records when/where that +particular move path is moved/initialized, but we'll get to that in a +later section. + +[`MoveDataBuilder`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/builder/struct.MoveDataBuilder.html +[`MoveData::gather_moves`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MoveData.html#method.gather_moves + +### Illegal move paths + +We don't actually create a move-path for **every** [`Place`] that gets +used. In particular, if it is illegal to move from a [`Place`], then +there is no need for a [`MovePathIndex`]. Some examples: + +- You cannot move from a static variable, so we do not create a [`MovePathIndex`] + for static variables. +- You cannot move an individual element of an array, so if we have e.g. `foo: [String; 3]`, + there would be no move-path for `foo[1]`. +- You cannot move from inside of a borrowed reference, so if we have e.g. `foo: &String`, + there would be no move-path for `*foo`. + +These rules are enforced by the [`move_path_for`] function, which +converts a [`Place`] into a [`MovePathIndex`] -- in error cases like +those just discussed, the function returns an `Err`. This in turn +means we don't have to bother tracking whether those places are +initialized (which lowers overhead). + +[`move_path_for`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/builder/struct.MoveDataBuilder.html#method.move_path_for + +## Looking up a move-path + +If you have a [`Place`] and you would like to convert it to a [`MovePathIndex`], you +can do that using the [`MovePathLookup`] structure found in the [`rev_lookup`] field +of [`MoveData`]. There are two different methods: + +[`MoveData`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MoveData.html +[`MovePathLookup`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MovePathLookup.html +[`rev_lookup`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MoveData.html#structfield.rev_lookup + +- [`find_local`], which takes a [`mir::Local`] representing a local + variable. This is the easier method, because we **always** create a + [`MovePathIndex`] for every local variable. +- [`find`], which takes an arbitrary [`Place`]. This method is a bit + more annoying to use, precisely because we don't have a + [`MovePathIndex`] for **every** [`Place`] (as we just discussed in + the "illegal move paths" section). Therefore, [`find`] returns a + [`LookupResult`] indicating the closest path it was able to find + that exists (e.g., for `foo[1]`, it might return just the path for + `foo`). + +[`find`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MovePathLookup.html#method.find +[`find_local`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MovePathLookup.html#method.find_local +[`mir::Local`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Local.html +[`LookupResult`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/enum.LookupResult.html + +## Cross-references + +As we noted above, move-paths are stored in a big vector and +referenced via their [`MovePathIndex`]. However, within this vector, +they are also structured into a tree. So for example if you have the +[`MovePathIndex`] for `a.b.c`, you can go to its parent move-path +`a.b`. You can also iterate over all children paths: so, from `a.b`, +you might iterate to find the path `a.b.c` (here you are iterating +just over the paths that are **actually referenced** in the source, +not all **possible** paths that could have been referenced). These +references are used for example in the +[`find_in_move_path_or_its_descendants`] function, which determines +whether a move-path (e.g., `a.b`) or any child of that move-path +(e.g.,`a.b.c`) matches a given predicate. + +[`Place`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Place.html +[`find_in_move_path_or_its_descendants`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/move_paths/struct.MoveData.html#method.find_in_move_path_or_its_descendants diff --git a/src/doc/rustc-dev-guide/src/borrow_check/opaque-types-region-inference-restrictions.md b/src/doc/rustc-dev-guide/src/borrow_check/opaque-types-region-inference-restrictions.md new file mode 100644 index 000000000000..9877dfc61e9c --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/opaque-types-region-inference-restrictions.md @@ -0,0 +1,264 @@ +# Opaque types region inference restrictions + +In this chapter we discuss the various restrictions we impose on the generic arguments of +opaque types when defining their hidden types +`Opaque<'a, 'b, .., A, B, ..> := SomeHiddenType`. + +These restrictions are implemented in borrow checking ([Source][source-borrowck-opaque]) +as it is the final step opaque types inference. + +[source-borrowck-opaque]: https://github.com/rust-lang/rust/blob/435b5255148617128f0a9b17bacd3cc10e032b23/compiler/rustc_borrowck/src/region_infer/opaque_types.rs + +## Background: type and const generic arguments +For type arguments, two restrictions are necessary: each type argument must be +(1) a type parameter and +(2) is unique among the generic arguments. +The same is applied to const arguments. + +Example of case (1): +```rust +type Opaque = impl Sized; + +// `T` is a type parameter. +// Opaque := (); +fn good() -> Opaque {} + +// `()` is not a type parameter. +// Opaque<()> := (); +fn bad() -> Opaque<()> {} //~ ERROR +``` + +Example of case (2): +```rust +type Opaque = impl Sized; + +// `T` and `U` are unique in the generic args. +// Opaque := T; +fn good(t: T, _u: U) -> Opaque { t } + +// `T` appears twice in the generic args. +// Opaque := T; +fn bad(t: T) -> Opaque { t } //~ ERROR +``` +**Motivation:** In the first case `Opaque<()> := ()`, the hidden type is ambiguous because +it is compatible with two different interpretaions: `Opaque := X` and `Opaque := ()`. +Similarly for the second case `Opaque := T`, it is ambiguous whether it should be +interpreted as `Opaque := X` or as `Opaque := Y`. +Because of this ambiguity, both cases are rejected as invalid defining uses. + +## Uniqueness restriction + +Each lifetime argument must be unique in the arguments list and must not be `'static`. +This is in order to avoid an ambiguity with hidden type inference similar to the case of +type parameters. +For example, the invalid defining use below `Opaque<'static> := Inv<'static>` is compatible with +both `Opaque<'x> := Inv<'static>` and `Opaque<'x> := Inv<'x>`. + +```rust +type Opaque<'x> = impl Sized + 'x; +type Inv<'a> = Option<*mut &'a ()>; + +fn good<'a>() -> Opaque<'a> { Inv::<'static>::None } + +fn bad() -> Opaque<'static> { Inv::<'static>::None } +//~^ ERROR +``` + +```rust +type Opaque<'x, 'y> = impl Trait<'x, 'y>; + +fn good<'a, 'b>() -> Opaque<'a, 'b> {} + +fn bad<'a>() -> Opaque<'a, 'a> {} +//~^ ERROR +``` + +**Semantic lifetime equality:** +One complexity with lifetimes compared to type parameters is that +two lifetimes that are syntactically different may be semantically equal. +Therefore, we need to be cautious when verifying that the lifetimes are unique. + +```rust +// This is also invalid because `'a` is *semantically* equal to `'static`. +fn still_bad_1<'a: 'static>() -> Opaque<'a> {} +//~^ Should error! + +// This is also invalid because `'a` and `'b` are *semantically* equal. +fn still_bad_2<'a: 'b, 'b: 'a>() -> Opaque<'a, 'b> {} +//~^ Should error! +``` + +## An exception to uniqueness rule + +An exception to the uniqueness rule above is when the bounds at the opaque type's definition require +a lifetime parameter to be equal to another one or to the `'static` lifetime. +```rust +// The definition requires `'x` to be equal to `'static`. +type Opaque<'x: 'static> = impl Sized + 'x; + +fn good() -> Opaque<'static> {} +``` + +**Motivation:** an attempt to implement the uniqueness restriction for RPITs resulted in a +[breakage found by crater]( https://github.com/rust-lang/rust/pull/112842#issuecomment-1610057887). +This can be mitigated by this exception to the rule. +An example of the code that would otherwise break: +```rust +struct Type<'a>(&'a ()); +impl<'a> Type<'a> { + // `'b == 'a` + fn do_stuff<'b: 'a>(&'b self) -> impl Trait<'a, 'b> {} +} +``` + +**Why this is correct:** for such a defining use like `Opaque<'a, 'a> := &'a str`, +it can be interpreted in either way—either as `Opaque<'x, 'y> := &'x str` or as +`Opaque<'x, 'y> := &'y str` and it wouldn't matter because every use of `Opaque` +will guarantee that both parameters are equal as per the well-formedness rules. + +## Universal lifetimes restriction + +Only universally quantified lifetimes are allowed in the opaque type arguments. +This includes lifetime parameters and placeholders. + +```rust +type Opaque<'x> = impl Sized + 'x; + +fn test<'a>() -> Opaque<'a> { + // `Opaque<'empty> := ()` + let _: Opaque<'_> = (); + //~^ ERROR +} +``` + +**Motivation:** +This makes the lifetime and type arguments behave consistently but this is only as a bonus. +The real reason behind this restriction is purely technical, as the [member constraints] algorithm +faces a fundamental limitation: +When encountering an opaque type definition `Opaque<'?1> := &'?2 u8`, +a member constraint `'?2 member-of ['static, '?1]` is registered. +In order for the algorithm to pick the right choice, the *complete* set of "outlives" relationships +between the choice regions `['static, '?1]` must already be known *before* doing the region +inference. This can be satisfied only if each choice region is either: +1. a universal region, i.e. `RegionKind::Re{EarlyParam,LateParam,Placeholder,Static}`, +because the relations between universal regions are completely known, prior to region inference, +from the explicit and implied bounds. +1. or an existential region that is "strictly equal" to a universal region. +Strict lifetime equality is defined below and is required here because it is the only type of +equality that can be evaluated prior to full region inference. + +**Strict lifetime equality:** +We say that two lifetimes are strictly equal if there are bidirectional outlives constraints +between them. In NLL terms, this means the lifetimes are part of the same [SCC]. +Importantly this type of equality can be evaluated prior to full region inference +(but of course after constraint collection). +The other type of equality is when region inference ends up giving two lifetimes variables +the same value even if they are not strictly equal. +See [#113971] for how we used to conflate the difference. + +[#113971]: https://github.com/rust-lang/rust/issues/113971 +[SCC]: https://en.wikipedia.org/wiki/Strongly_connected_component +[member constraints]: ./region_inference/member_constraints.md + +**interaction with "once modulo regions" restriction** +In the example above, note the opaque type in the signature is `Opaque<'a>` and the one in the +invalid defining use is `Opaque<'empty>`. +In the proposed MiniTAIT plan, namely the ["once modulo regions"][#116935] rule, +we already disallow this. +Although it might appear that "universal lifetimes" restriction becomes redundant as it logically +follows from "MiniTAIT" restrictions, the subsequent related discussion on lifetime equality and +closures remains relevant. + +[#116935]: https://github.com/rust-lang/rust/pull/116935 + + +## Closure restrictions + +When the opaque type is defined in a closure/coroutine/inline-const body, universal lifetimes that +are "external" to the closure are not allowed in the opaque type arguments. +External regions are defined in [`RegionClassification::External`][source-external-region] + +[source-external-region]: https://github.com/rust-lang/rust/blob/caf730043232affb6b10d1393895998cb4968520/compiler/rustc_borrowck/src/universal_regions.rs#L201. + +Example: (This one happens to compile in the current nightly but more practical examples are +already rejected with confusing errors.) +```rust +type Opaque<'x> = impl Sized + 'x; + +fn test<'a>() -> Opaque<'a> { + let _ = || { + // `'a` is external to the closure + let _: Opaque<'a> = (); + //~^ Should be an error! + }; + () +} +``` + +**Motivation:** +In closure bodies, external lifetimes, although being categorized as "universal" lifetimes, +behave more like existential lifetimes in that the relations between them are not known ahead of +time, instead their values are inferred just like existential lifetimes and the requirements are +propagated back to the parent fn. This breaks the member constraints algorithm as described above: +> In order for the algorithm to pick the right choice, the complete set of “outlives” relationships +between the choice regions `['static, '?1]` must already be known before doing the region inference + +Here is an example that details how : + +```rust +type Opaque<'x, 'y> = impl Sized; + +// +fn test<'a, 'b>(s: &'a str) -> impl FnOnce() -> Opaque<'a, 'b> { + move || { s } + //~^ ERROR hidden type for `Opaque<'_, '_>` captures lifetime that does not appear in bounds +} + +// The above closure body is desugared into something like: +fn test::{closure#0}(_upvar: &'?8 str) -> Opaque<'?6, '?7> { + return _upvar +} + +// where `['?8, '?6, ?7]` are universal lifetimes *external* to the closure. +// There are no known relations between them *inside* the closure. +// But in the parent fn it is known that `'?6: '?8`. +// +// When encountering an opaque definition `Opaque<'?6, '?7> := &'8 str`, +// The member constraints algorithm does not know enough to safely make `?8 = '?6`. +// For this reason, it errors with a sensible message: +// "hidden type captures lifetime that does not appear in bounds". +``` + +Without these restrictions, error messages are confusing and, more importantly, there is a risk that +we accept code that would likely break in the future because member constraints are super broken +in closures. + +**Output types:** +I believe the most common scenario where this causes issues in real-world code is with +closure/async-block output types. It is worth noting that there is a discrepancy between closures +and async blocks that further demonstrates this issue and is attributed to the +[hack of `replace_opaque_types_with_inference_vars`][source-replace-opaques], +which is applied to futures only. + +[source-replace-opaques]: https://github.com/rust-lang/rust/blob/9cf18e98f82d85fa41141391d54485b8747da46f/compiler/rustc_hir_typeck/src/closure.rs#L743 + +```rust +type Opaque<'x> = impl Sized + 'x; +fn test<'a>() -> impl FnOnce() -> Opaque<'a> { + // Output type of the closure is Opaque<'a> + // -> hidden type definition happens *inside* the closure + // -> rejected. + move || {} + //~^ ERROR expected generic lifetime parameter, found `'_` +} +``` +```rust +use std::future::Future; +type Opaque<'x> = impl Sized + 'x; +fn test<'a>() -> impl Future> { + // Output type of the async block is unit `()` + // -> hidden type definition happens in the parent fn + // -> accepted. + async move {} +} +``` diff --git a/src/doc/rustc-dev-guide/src/borrow_check/region_inference.md b/src/doc/rustc-dev-guide/src/borrow_check/region_inference.md new file mode 100644 index 000000000000..85e71b4fa429 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/region_inference.md @@ -0,0 +1,236 @@ +# Region inference (NLL) + + + +The MIR-based region checking code is located in [the `rustc_mir::borrow_check` +module][nll]. + +[nll]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/index.html + +The MIR-based region analysis consists of two major functions: + +- [`replace_regions_in_mir`], invoked first, has two jobs: + - First, it finds the set of regions that appear within the + signature of the function (e.g., `'a` in `fn foo<'a>(&'a u32) { + ... }`). These are called the "universal" or "free" regions – in + particular, they are the regions that [appear free][fvb] in the + function body. + - Second, it replaces all the regions from the function body with + fresh inference variables. This is because (presently) those + regions are the results of lexical region inference and hence are + not of much interest. The intention is that – eventually – they + will be "erased regions" (i.e., no information at all), since we + won't be doing lexical region inference at all. +- [`compute_regions`], invoked second: this is given as argument the + results of move analysis. It has the job of computing values for all + the inference variables that `replace_regions_in_mir` introduced. + - To do that, it first runs the [MIR type checker]. This is + basically a normal type-checker but specialized to MIR, which is + much simpler than full Rust, of course. Running the MIR type + checker will however create various [constraints][cp] between region + variables, indicating their potential values and relationships to + one another. + - After this, we perform [constraint propagation][cp] by creating a + [`RegionInferenceContext`] and invoking its [`solve`] + method. + - The [NLL RFC] also includes fairly thorough (and hopefully readable) + coverage. + +[cp]: ./region_inference/constraint_propagation.md +[fvb]: ../appendix/background.md#free-vs-bound +[`replace_regions_in_mir`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/nll/fn.replace_regions_in_mir.html +[`compute_regions`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/nll/fn.compute_regions.html +[`RegionInferenceContext`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html +[`solve`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.solve +[NLL RFC]: https://rust-lang.github.io/rfcs/2094-nll.html +[MIR type checker]: ./type_check.md + +## Universal regions + +The [`UniversalRegions`] type represents a collection of _universal_ regions +corresponding to some MIR `DefId`. It is constructed in +[`replace_regions_in_mir`] when we replace all regions with fresh inference +variables. [`UniversalRegions`] contains indices for all the free regions in +the given MIR along with any relationships that are _known_ to hold between +them (e.g. implied bounds, where clauses, etc.). + +For example, given the MIR for the following function: + +```rust +fn foo<'a>(x: &'a u32) { + // ... +} +``` + +we would create a universal region for `'a` and one for `'static`. There may +also be some complications for handling closures, but we will ignore those for +the moment. + +TODO: write about _how_ these regions are computed. + +[`UniversalRegions`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/universal_regions/struct.UniversalRegions.html + + + +## Region variables + +The value of a region can be thought of as a **set**. This set contains all +points in the MIR where the region is valid along with any regions that are +outlived by this region (e.g. if `'a: 'b`, then `end('b)` is in the set for +`'a`); we call the domain of this set a `RegionElement`. In the code, the value +for all regions is maintained in [the `rustc_borrowck::region_infer` module][ri]. +For each region we maintain a set storing what elements are present in its value (to make this +efficient, we give each kind of element an index, the `RegionElementIndex`, and +use sparse bitsets). + +[ri]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_borrowck/src/region_infer + +The kinds of region elements are as follows: + +- Each **[`location`]** in the MIR control-flow graph: a location is just + the pair of a basic block and an index. This identifies the point + **on entry** to the statement with that index (or the terminator, if + the index is equal to `statements.len()`). +- There is an element `end('a)` for each universal region `'a`, + corresponding to some portion of the caller's (or caller's caller, + etc) control-flow graph. +- Similarly, there is an element denoted `end('static)` corresponding + to the remainder of program execution after this function returns. +- There is an element `!1` for each placeholder region `!1`. This + corresponds (intuitively) to some unknown set of other elements – + for details on placeholders, see the section + [placeholders and universes](region_inference/placeholders_and_universes.md). + +## Constraints + +Before we can infer the value of regions, we need to collect +constraints on the regions. The full set of constraints is described +in [the section on constraint propagation][cp], but the two most +common sorts of constraints are: + +1. Outlives constraints. These are constraints that one region outlives another + (e.g. `'a: 'b`). Outlives constraints are generated by the [MIR type + checker]. +2. Liveness constraints. Each region needs to be live at points where it can be + used. + +## Inference Overview + +So how do we compute the contents of a region? This process is called _region +inference_. The high-level idea is pretty simple, but there are some details we +need to take care of. + +Here is the high-level idea: we start off each region with the MIR locations we +know must be in it from the liveness constraints. From there, we use all of the +outlives constraints computed from the type checker to _propagate_ the +constraints: for each region `'a`, if `'a: 'b`, then we add all elements of +`'b` to `'a`, including `end('b)`. This all happens in +[`propagate_constraints`]. + +Then, we will check for errors. We first check that type tests are satisfied by +calling [`check_type_tests`]. This checks constraints like `T: 'a`. Second, we +check that universal regions are not "too big". This is done by calling +[`check_universal_regions`]. This checks that for each region `'a` if `'a` +contains the element `end('b)`, then we must already know that `'a: 'b` holds +(e.g. from a where clause). If we don't already know this, that is an error... +well, almost. There is some special handling for closures that we will discuss +later. + +### Example + +Consider the following example: + +```rust,ignore +fn foo<'a, 'b>(x: &'a usize) -> &'b usize { + x +} +``` + +Clearly, this should not compile because we don't know if `'a` outlives `'b` +(if it doesn't then the return value could be a dangling reference). + +Let's back up a bit. We need to introduce some free inference variables (as is +done in [`replace_regions_in_mir`]). This example doesn't use the exact regions +produced, but it (hopefully) is enough to get the idea across. + +```rust,ignore +fn foo<'a, 'b>(x: &'a /* '#1 */ usize) -> &'b /* '#3 */ usize { + x // '#2, location L1 +} +``` + +Some notation: `'#1`, `'#3`, and `'#2` represent the universal regions for the +argument, return value, and the expression `x`, respectively. Additionally, I +will call the location of the expression `x` `L1`. + +So now we can use the liveness constraints to get the following starting points: + +Region | Contents +--------|---------- +'#1 | +'#2 | `L1` +'#3 | `L1` + +Now we use the outlives constraints to expand each region. Specifically, we +know that `'#2: '#3` ... + +Region | Contents +--------|---------- +'#1 | `L1` +'#2 | `L1, end('#3) // add contents of '#3 and end('#3)` +'#3 | `L1` + +... and `'#1: '#2`, so ... + +Region | Contents +--------|---------- +'#1 | `L1, end('#2), end('#3) // add contents of '#2 and end('#2)` +'#2 | `L1, end('#3)` +'#3 | `L1` + +Now, we need to check that no regions were too big (we don't have any type +tests to check in this case). Notice that `'#1` now contains `end('#3)`, but +we have no `where` clause or implied bound to say that `'a: 'b`... that's an +error! + +### Some details + +The [`RegionInferenceContext`] type contains all of the information needed to +do inference, including the universal regions from [`replace_regions_in_mir`] and +the constraints computed for each region. It is constructed just after we +compute the liveness constraints. + +Here are some of the fields of the struct: + +- [`constraints`]: contains all the outlives constraints. +- [`liveness_constraints`]: contains all the liveness constraints. +- [`universal_regions`]: contains the `UniversalRegions` returned by + [`replace_regions_in_mir`]. +- [`universal_region_relations`]: contains relations known to be true about + universal regions. For example, if we have a where clause that `'a: 'b`, that + relation is assumed to be true while borrow checking the implementation (it + is checked at the caller), so `universal_region_relations` would contain `'a: + 'b`. +- [`type_tests`]: contains some constraints on types that we must check after + inference (e.g. `T: 'a`). +- [`closure_bounds_mapping`]: used for propagating region constraints from + closures back out to the creator of the closure. + +[`constraints`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.constraints +[`liveness_constraints`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.liveness_constraints +[`location`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Location.html +[`universal_regions`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.universal_regions +[`universal_region_relations`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.universal_region_relations +[`type_tests`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.type_tests +[`closure_bounds_mapping`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.closure_bounds_mapping + +TODO: should we discuss any of the others fields? What about the SCCs? + +Ok, now that we have constructed a `RegionInferenceContext`, we can do +inference. This is done by calling the [`solve`] method on the context. This +is where we call [`propagate_constraints`] and then check the resulting type +tests and universal regions, as discussed above. + +[`propagate_constraints`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.propagate_constraints +[`check_type_tests`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.check_type_tests +[`check_universal_regions`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.check_universal_regions diff --git a/src/doc/rustc-dev-guide/src/borrow_check/region_inference/closure_constraints.md b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/closure_constraints.md new file mode 100644 index 000000000000..be279b773cf8 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/closure_constraints.md @@ -0,0 +1,43 @@ +# Propagating closure constraints + +When we are checking the type tests and universal regions, we may come +across a constraint that we can't prove yet if we are in a closure +body! However, the necessary constraints may actually hold (we just +don't know it yet). Thus, if we are inside a closure, we just collect +all the constraints we can't prove yet and return them. Later, when we +are borrow check the MIR node that created the closure, we can also +check that these constraints hold. At that time, if we can't prove +they hold, we report an error. + +## How this is implemented + +While borrow-checking a closure inside of `RegionInferenceContext::solve` we separately try to propagate type-outlives and region-outlives constraints to the parent if we're unable to prove them locally. + +### Region-outlive constraints + +If `RegionInferenceContext::check_universal_regions` fails to prove some outlives constraint `'longer_fr: 'shorter_fr`, we try to propagate it in `fn try_propagate_universal_region_error`. Both these universal regions are either local to the closure or an external region. + +In case `'longer_fr` is a local universal region, we search for the largest external region `'fr_minus` which is outlived by `'longer_fr`, i.e. `'longer_fr: 'fr_minus`. In case there are multiple such regions, we pick the `mutual_immediate_postdominator`: the fixpoint of repeatedly computing the GLB of all GLBs, see [TransitiveRelation::postdom_upper_bound](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/transitive_relation/struct.TransitiveRelation.html#method.postdom_upper_bound) for more details. + +If `'fr_minus` exists we require it to outlive all non-local upper bounds of `'shorter_fr`. There will always be at least one non-local upper bound `'static`. + +### Type-outlive constraints + +Type-outlives constraints are proven in `check_type_tests`. This happens after computing the outlives graph, which is now immutable. + +For all type tests we fail to prove via `fn eval_verify_bound` inside of the closure we call `try_promote_type_test`. A `TypeTest` represents a type-outlives bound `generic_kind: lower_bound` together with a `verify_bound`. If the `VerifyBound` holds for the `lower_bound`, the constraint is satisfied. `try_promote_type_test` does not care about the ` verify_bound`. + +It starts by calling `fn try_promote_type_test_subject`. This function takes the `GenericKind` and tries to transform it to a `ClosureOutlivesSubject` which is no longer references anything local to the closure. This is done by replacing all free regions in that type with either `'static` or region parameters which are equal to that free region. This operation fails if the `generic_kind` contains a region which cannot be replaced. + +We then promote the `lower_bound` into the context of the caller. If the lower bound is equal to a placeholder, we replace it with `'static` + +We then look at all universal regions `uv` which are required to outlive `lower_bound`, i.e. for which borrow checking adding region constraints. For each of these we then emit a `ClosureOutlivesRequirement` for non-local universal regions which are known to outlive `uv`. + +As we've already built the region graph of the closure at this point and emitted errors if that one is inconsistent, we are also able to assume that the outlive constraints `uv: lower_bound` hold. + +So if we have a type-outlives bounds we can't prove, e.g. `T: 'local_infer`, we use the region graph to go to universal variables `'a` with `'a: local_infer`. In case `'a` are local, we then use the assumed outlived constraints to go to non-local ones. + +We then store the list of promoted type tests in the `BorrowCheckResults`. +We then apply them in while borrow-checking its parent in `TypeChecker::prove_closure_bounds`. + +TODO: explain how exactly that works :3 diff --git a/src/doc/rustc-dev-guide/src/borrow_check/region_inference/constraint_propagation.md b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/constraint_propagation.md new file mode 100644 index 000000000000..4c30d25e0406 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/constraint_propagation.md @@ -0,0 +1,224 @@ +# Constraint propagation + + + +The main work of the region inference is **constraint propagation**, +which is done in the [`propagate_constraints`] function. There are +three sorts of constraints that are used in NLL, and we'll explain how +`propagate_constraints` works by "layering" those sorts of constraints +on one at a time (each of them is fairly independent from the others): + +- liveness constraints (`R live at E`), which arise from liveness; +- outlives constraints (`R1: R2`), which arise from subtyping; +- [member constraints][m_c] (`member R_m of [R_c...]`), which arise from impl Trait. + +[`propagate_constraints`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.propagate_constraints +[m_c]: ./member_constraints.md + +In this chapter, we'll explain the "heart" of constraint propagation, +covering both liveness and outlives constraints. + +## Notation and high-level concepts + +Conceptually, region inference is a "fixed-point" computation. It is +given some set of constraints `{C}` and it computes a set of values +`Values: R -> {E}` that maps each region `R` to a set of elements +`{E}` (see [here][riv] for more notes on region elements): + +- Initially, each region is mapped to an empty set, so `Values(R) = + {}` for all regions `R`. +- Next, we process the constraints repeatedly until a fixed-point is reached: + - For each constraint C: + - Update `Values` as needed to satisfy the constraint + +[riv]: ../region_inference.md#region-variables + +As a simple example, if we have a liveness constraint `R live at E`, +then we can apply `Values(R) = Values(R) union {E}` to make the +constraint be satisfied. Similarly, if we have an outlives constraints +`R1: R2`, we can apply `Values(R1) = Values(R1) union Values(R2)`. +(Member constraints are more complex and we discuss them [in this section][m_c].) + +In practice, however, we are a bit more clever. Instead of applying +the constraints in a loop, we can analyze the constraints and figure +out the correct order to apply them, so that we only have to apply +each constraint once in order to find the final result. + +Similarly, in the implementation, the `Values` set is stored in the +`scc_values` field, but they are indexed not by a *region* but by a +*strongly connected component* (SCC). SCCs are an optimization that +avoids a lot of redundant storage and computation. They are explained +in the section on outlives constraints. + +## Liveness constraints + +A **liveness constraint** arises when some variable whose type +includes a region R is live at some [point] P. This simply means that +the value of R must include the point P. Liveness constraints are +computed by the MIR type checker. + +[point]: ../../appendix/glossary.md#point + +A liveness constraint `R live at E` is satisfied if `E` is a member of +`Values(R)`. So to "apply" such a constraint to `Values`, we just have +to compute `Values(R) = Values(R) union {E}`. + +The liveness values are computed in the type-check and passed to the +region inference upon creation in the `liveness_constraints` argument. +These are not represented as individual constraints like `R live at E` +though; instead, we store a (sparse) bitset per region variable (of +type [`LivenessValues`]). This way we only need a single bit for each +liveness constraint. + +[`liveness_constraints`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.liveness_constraints +[`LivenessValues`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/values/struct.LivenessValues.html + +One thing that is worth mentioning: All lifetime parameters are always +considered to be live over the entire function body. This is because +they correspond to some portion of the *caller's* execution, and that +execution clearly includes the time spent in this function, since the +caller is waiting for us to return. + +## Outlives constraints + +An outlives constraint `'a: 'b` indicates that the value of `'a` must +be a **superset** of the value of `'b`. That is, an outlives +constraint `R1: R2` is satisfied if `Values(R1)` is a superset of +`Values(R2)`. So to "apply" such a constraint to `Values`, we just +have to compute `Values(R1) = Values(R1) union Values(R2)`. + +One observation that follows from this is that if you have `R1: R2` +and `R2: R1`, then `R1 = R2` must be true. Similarly, if you have: + +```txt +R1: R2 +R2: R3 +R3: R4 +R4: R1 +``` + +then `R1 = R2 = R3 = R4` follows. We take advantage of this to make things +much faster, as described shortly. + +In the code, the set of outlives constraints is given to the region +inference context on creation in a parameter of type +[`OutlivesConstraintSet`]. The constraint set is basically just a list of `'a: +'b` constraints. + +### The outlives constraint graph and SCCs + +In order to work more efficiently with outlives constraints, they are +[converted into the form of a graph][graph-fn], where the nodes of the +graph are region variables (`'a`, `'b`) and each constraint `'a: 'b` +induces an edge `'a -> 'b`. This conversion happens in the +[`RegionInferenceContext::new`] function that creates the inference +context. + +[`OutlivesConstraintSet`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/constraints/struct.OutlivesConstraintSet.html +[graph-fn]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/constraints/struct.OutlivesConstraintSet.html#method.graph +[`RegionInferenceContext::new`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.new + +When using a graph representation, we can detect regions that must be equal +by looking for cycles. That is, if you have a constraint like + +```txt +'a: 'b +'b: 'c +'c: 'd +'d: 'a +``` + +then this will correspond to a cycle in the graph containing the +elements `'a...'d`. + +Therefore, one of the first things that we do in propagating region +values is to compute the **strongly connected components** (SCCs) in +the constraint graph. The result is stored in the [`constraint_sccs`] +field. You can then easily find the SCC that a region `r` is a part of +by invoking `constraint_sccs.scc(r)`. + +Working in terms of SCCs allows us to be more efficient: if we have a +set of regions `'a...'d` that are part of a single SCC, we don't have +to compute/store their values separately. We can just store one value +**for the SCC**, since they must all be equal. + +If you look over the region inference code, you will see that a number +of fields are defined in terms of SCCs. For example, the +[`scc_values`] field stores the values of each SCC. To get the value +of a specific region `'a` then, we first figure out the SCC that the +region is a part of, and then find the value of that SCC. + +[`constraint_sccs`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.constraint_sccs +[`scc_values`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#structfield.scc_values + +When we compute SCCs, we not only figure out which regions are a +member of each SCC, we also figure out the edges between them. So for example +consider this set of outlives constraints: + +```txt +'a: 'b +'b: 'a + +'a: 'c + +'c: 'd +'d: 'c +``` + +Here we have two SCCs: S0 contains `'a` and `'b`, and S1 contains `'c` +and `'d`. But these SCCs are not independent: because `'a: 'c`, that +means that `S0: S1` as well. That is -- the value of `S0` must be a +superset of the value of `S1`. One crucial thing is that this graph of +SCCs is always a DAG -- that is, it never has cycles. This is because +all the cycles have been removed to form the SCCs themselves. + +### Applying liveness constraints to SCCs + +The liveness constraints that come in from the type-checker are +expressed in terms of regions -- that is, we have a map like +`Liveness: R -> {E}`. But we want our final result to be expressed +in terms of SCCs -- we can integrate these liveness constraints very +easily just by taking the union: + +```txt +for each region R: + let S be the SCC that contains R + Values(S) = Values(S) union Liveness(R) +``` + +In the region inferencer, this step is done in [`RegionInferenceContext::new`]. + +### Applying outlives constraints + +Once we have computed the DAG of SCCs, we use that to structure out +entire computation. If we have an edge `S1 -> S2` between two SCCs, +that means that `Values(S1) >= Values(S2)` must hold. So, to compute +the value of `S1`, we first compute the values of each successor `S2`. +Then we simply union all of those values together. To use a +quasi-iterator-like notation: + +```txt +Values(S1) = + s1.successors() + .map(|s2| Values(s2)) + .union() +``` + +In the code, this work starts in the [`propagate_constraints`] +function, which iterates over all the SCCs. For each SCC `S1`, we +compute its value by first computing the value of its +successors. Since SCCs form a DAG, we don't have to be concerned about +cycles, though we do need to keep a set around to track whether we +have already processed a given SCC or not. For each successor `S2`, once +we have computed `S2`'s value, we can union those elements into the +value for `S1`. (Although we have to be careful in this process to +properly handle [higher-ranked +placeholders](./placeholders_and_universes.html). Note that the value +for `S1` already contains the liveness constraints, since they were +added in [`RegionInferenceContext::new`]. + +Once that process is done, we now have the "minimal value" for `S1`, +taking into account all of the liveness and outlives +constraints. However, in order to complete the process, we must also +consider [member constraints][m_c], which are described in [a later +section][m_c]. diff --git a/src/doc/rustc-dev-guide/src/borrow_check/region_inference/error_reporting.md b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/error_reporting.md new file mode 100644 index 000000000000..79b3e077c7bc --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/error_reporting.md @@ -0,0 +1,3 @@ +# Reporting region errors + +TODO: we should discuss how to generate errors from the results of these analyses. diff --git a/src/doc/rustc-dev-guide/src/borrow_check/region_inference/lifetime_parameters.md b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/lifetime_parameters.md new file mode 100644 index 000000000000..fadfac404569 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/lifetime_parameters.md @@ -0,0 +1,127 @@ +# Universal regions + + + +"Universal regions" is the name that the code uses to refer to "named +lifetimes" -- e.g., lifetime parameters and `'static`. The name +derives from the fact that such lifetimes are "universally quantified" +(i.e., we must make sure the code is true for all values of those +lifetimes). It is worth spending a bit of discussing how lifetime +parameters are handled during region inference. Consider this example: + +```rust,ignore +fn foo<'a, 'b>(x: &'a u32, y: &'b u32) -> &'b u32 { + x +} +``` + +This example is intended not to compile, because we are returning `x`, +which has type `&'a u32`, but our signature promises that we will +return a `&'b u32` value. But how are lifetimes like `'a` and `'b` +integrated into region inference, and how this error wind up being +detected? + +## Universal regions and their relationships to one another + +Early on in region inference, one of the first things we do is to +construct a [`UniversalRegions`] struct. This struct tracks the +various universal regions in scope on a particular function. We also +create a [`UniversalRegionRelations`] struct, which tracks their +relationships to one another. So if you have e.g. `where 'a: 'b`, then +the [`UniversalRegionRelations`] struct would track that `'a: 'b` is +known to hold (which could be tested with the [`outlives`] function). + +[`UniversalRegions`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/universal_regions/struct.UniversalRegions.html +[`UniversalRegionRelations`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/type_check/free_region_relations/struct.UniversalRegionRelations.html +[`outlives`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/type_check/free_region_relations/struct.UniversalRegionRelations.html#method.outlives + +## Everything is a region variable + +One important aspect of how NLL region inference works is that **all +lifetimes** are represented as numbered variables. This means that the +only variant of [`region_kind::RegionKind`] that we use is the [`ReVar`] +variant. These region variables are broken into two major categories, +based on their index: + +[`region_kind::RegionKind`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_type_ir/region_kind/enum.RegionKind.html +[`ReVar`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_type_ir/region_kind/enum.RegionKind.html#variant.ReVar + +- 0..N: universal regions -- the ones we are discussing here. In this + case, the code must be correct with respect to any value of those + variables that meets the declared relationships. +- N..M: existential regions -- inference variables where the region + inferencer is tasked with finding *some* suitable value. + +In fact, the universal regions can be further subdivided based on +where they were brought into scope (see the [`RegionClassification`] +type). These subdivisions are not important for the topics discussed +here, but become important when we consider [closure constraint +propagation](./closure_constraints.html), so we discuss them there. + +[`RegionClassification`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/universal_regions/enum.RegionClassification.html#variant.Local + +## Universal lifetimes as the elements of a region's value + +As noted previously, the value that we infer for each region is a set +`{E}`. The elements of this set can be points in the control-flow +graph, but they can also be an element `end('a)` corresponding to each +universal lifetime `'a`. If the value for some region `R0` includes +`end('a`), then this implies that `R0` must extend until the end of `'a` +in the caller. + +## The "value" of a universal region + +During region inference, we compute a value for each universal region +in the same way as we compute values for other regions. This value +represents, effectively, the **lower bound** on that universal region +-- the things that it must outlive. We now describe how we use this +value to check for errors. + +## Liveness and universal regions + +All universal regions have an initial liveness constraint that +includes the entire function body. This is because lifetime parameters +are defined in the caller and must include the entirety of the +function call that invokes this particular function. In addition, each +universal region `'a` includes itself (that is, `end('a)`) in its +liveness constraint (i.e., `'a` must extend until the end of +itself). In the code, these liveness constraints are setup in +[`init_free_and_bound_regions`]. + +[`init_free_and_bound_regions`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.init_free_and_bound_regions + +## Propagating outlives constraints for universal regions + +So, consider the first example of this section: + +```rust,ignore +fn foo<'a, 'b>(x: &'a u32, y: &'b u32) -> &'b u32 { + x +} +``` + +Here, returning `x` requires that `&'a u32 <: &'b u32`, which gives +rise to an outlives constraint `'a: 'b`. Combined with our default liveness +constraints we get: + +```txt +'a live at {B, end('a)} // B represents the "function body" +'b live at {B, end('b)} +'a: 'b +``` + +When we process the `'a: 'b` constraint, therefore, we will add +`end('b)` into the value for `'a`, resulting in a final value of `{B, +end('a), end('b)}`. + +## Detecting errors + +Once we have finished constraint propagation, we then enforce a +constraint that if some universal region `'a` includes an element +`end('b)`, then `'a: 'b` must be declared in the function's bounds. If +not, as in our example, that is an error. This check is done in the +[`check_universal_regions`] function, which simply iterates over all +universal regions, inspects their final value, and tests against the +declared [`UniversalRegionRelations`]. + +[`check_universal_regions`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/region_infer/struct.RegionInferenceContext.html#method.check_universal_regions diff --git a/src/doc/rustc-dev-guide/src/borrow_check/region_inference/member_constraints.md b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/member_constraints.md new file mode 100644 index 000000000000..fd7c87ffcea7 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/member_constraints.md @@ -0,0 +1,193 @@ +# Member constraints + + + +A member constraint `'m member of ['c_1..'c_N]` expresses that the +region `'m` must be *equal* to some **choice regions** `'c_i` (for +some `i`). These constraints cannot be expressed by users, but they +arise from `impl Trait` due to its lifetime capture rules. Consider a +function such as the following: + +```rust,ignore +fn make(a: &'a u32, b: &'b u32) -> impl Trait<'a, 'b> { .. } +``` + +Here, the true return type (often called the "hidden type") is only +permitted to capture the lifetimes `'a` or `'b`. You can kind of see +this more clearly by desugaring that `impl Trait` return type into its +more explicit form: + +```rust,ignore +type MakeReturn<'x, 'y> = impl Trait<'x, 'y>; +fn make(a: &'a u32, b: &'b u32) -> MakeReturn<'a, 'b> { .. } +``` + +Here, the idea is that the hidden type must be some type that could +have been written in place of the `impl Trait<'x, 'y>` -- but clearly +such a type can only reference the regions `'x` or `'y` (or +`'static`!), as those are the only names in scope. This limitation is +then translated into a restriction to only access `'a` or `'b` because +we are returning `MakeReturn<'a, 'b>`, where `'x` and `'y` have been +replaced with `'a` and `'b` respectively. + +## Detailed example + +To help us explain member constraints in more detail, let's spell out +the `make` example in a bit more detail. First off, let's assume that +you have some dummy trait: + +```rust,ignore +trait Trait<'a, 'b> { } +impl Trait<'_, '_> for T { } +``` + +and this is the `make` function (in desugared form): + +```rust,ignore +type MakeReturn<'x, 'y> = impl Trait<'x, 'y>; +fn make(a: &'a u32, b: &'b u32) -> MakeReturn<'a, 'b> { + (a, b) +} +``` + +What happens in this case is that the return type will be `(&'0 u32, &'1 u32)`, +where `'0` and `'1` are fresh region variables. We will have the following +region constraints: + +```txt +'0 live at {L} +'1 live at {L} +'a: '0 +'b: '1 +'0 member of ['a, 'b, 'static] +'1 member of ['a, 'b, 'static] +``` + +Here the "liveness set" `{L}` corresponds to that subset of the body +where `'0` and `'1` are live -- basically the point from where the +return tuple is constructed to where it is returned (in fact, `'0` and +`'1` might have slightly different liveness sets, but that's not very +interesting to the point we are illustrating here). + +The `'a: '0` and `'b: '1` constraints arise from subtyping. When we +construct the `(a, b)` value, it will be assigned type `(&'0 u32, &'1 +u32)` -- the region variables reflect that the lifetimes of these +references could be made smaller. For this value to be created from +`a` and `b`, however, we do require that: + +```txt +(&'a u32, &'b u32) <: (&'0 u32, &'1 u32) +``` + +which means in turn that `&'a u32 <: &'0 u32` and hence that `'a: '0` +(and similarly that `&'b u32 <: &'1 u32`, `'b: '1`). + +Note that if we ignore member constraints, the value of `'0` would be +inferred to some subset of the function body (from the liveness +constraints, which we did not write explicitly). It would never become +`'a`, because there is no need for it too -- we have a constraint that +`'a: '0`, but that just puts a "cap" on how *large* `'0` can grow to +become. Since we compute the *minimal* value that we can, we are happy +to leave `'0` as being just equal to the liveness set. This is where +member constraints come in. + +## Choices are always lifetime parameters + +At present, the "choice" regions from a member constraint are always lifetime +parameters from the current function. As of October 2021, +this falls out from the placement of impl Trait, though in the future it may not +be the case. We take some advantage of this fact, as it simplifies the current +code. In particular, we don't have to consider a case like `'0 member of ['1, +'static]`, in which the value of both `'0` and `'1` are being inferred and hence +changing. See [rust-lang/rust#61773][#61773] for more information. + +[#61773]: https://github.com/rust-lang/rust/issues/61773 + +## Applying member constraints + +Member constraints are a bit more complex than other forms of +constraints. This is because they have a "or" quality to them -- that +is, they describe multiple choices that we must select from. E.g., in +our example constraint `'0 member of ['a, 'b, 'static]`, it might be +that `'0` is equal to `'a`, `'b`, *or* `'static`. How can we pick the +correct one? What we currently do is to look for a *minimal choice* +-- if we find one, then we will grow `'0` to be equal to that minimal +choice. To find that minimal choice, we take two factors into +consideration: lower and upper bounds. + +### Lower bounds + +The *lower bounds* are those lifetimes that `'0` *must outlive* -- +i.e., that `'0` must be larger than. In fact, when it comes time to +apply member constraints, we've already *computed* the lower bounds of +`'0` because we computed its minimal value (or at least, the lower +bounds considering everything but member constraints). + +Let `LB` be the current value of `'0`. We know then that `'0: LB` must +hold, whatever the final value of `'0` is. Therefore, we can rule out +any choice `'choice` where `'choice: LB` does not hold. + +Unfortunately, in our example, this is not very helpful. The lower +bound for `'0` will just be the liveness set `{L}`, and we know that +all the lifetime parameters outlive that set. So we are left with the +same set of choices here. (But in other examples, particularly those +with different variance, lower bound constraints may be relevant.) + +### Upper bounds + +The *upper bounds* are those lifetimes that *must outlive* `'0` -- +i.e., that `'0` must be *smaller* than. In our example, this would be +`'a`, because we have the constraint that `'a: '0`. In more complex +examples, the chain may be more indirect. + +We can use upper bounds to rule out members in a very similar way to +lower bounds. If UB is some upper bound, then we know that `UB: +'0` must hold, so we can rule out any choice `'choice` where `UB: +'choice` does not hold. + +In our example, we would be able to reduce our choice set from `['a, +'b, 'static]` to just `['a]`. This is because `'0` has an upper bound +of `'a`, and neither `'a: 'b` nor `'a: 'static` is known to hold. + +(For notes on how we collect upper bounds in the implementation, see +[the section below](#collecting).) + +### Minimal choice + +After applying lower and upper bounds, we can still sometimes have +multiple possibilities. For example, imagine a variant of our example +using types with the opposite variance. In that case, we would have +the constraint `'0: 'a` instead of `'a: '0`. Hence the current value +of `'0` would be `{L, 'a}`. Using this as a lower bound, we would be +able to narrow down the member choices to `['a, 'static]` because `'b: +'a` is not known to hold (but `'a: 'a` and `'static: 'a` do hold). We +would not have any upper bounds, so that would be our final set of choices. + +In that case, we apply the **minimal choice** rule -- basically, if +one of our choices if smaller than the others, we can use that. In +this case, we would opt for `'a` (and not `'static`). + +This choice is consistent with the general 'flow' of region +propagation, which always aims to compute a minimal value for the +region being inferred. However, it is somewhat arbitrary. + + + +### Collecting upper bounds in the implementation + +In practice, computing upper bounds is a bit inconvenient, because our +data structures are setup for the opposite. What we do is to compute +the **reverse SCC graph** (we do this lazily and cache the result) -- +that is, a graph where `'a: 'b` induces an edge `SCC('b) -> +SCC('a)`. Like the normal SCC graph, this is a DAG. We can then do a +depth-first search starting from `SCC('0)` in this graph. This will +take us to all the SCCs that must outlive `'0`. + +One wrinkle is that, as we walk the "upper bound" SCCs, their values +will not yet have been fully computed. However, we **have** already +applied their liveness constraints, so we have some information about +their value. In particular, for any regions representing lifetime +parameters, their value will contain themselves (i.e., the initial +value for `'a` includes `'a` and the value for `'b` contains `'b`). So +we can collect all of the lifetime parameters that are reachable, +which is precisely what we are interested in. diff --git a/src/doc/rustc-dev-guide/src/borrow_check/region_inference/placeholders_and_universes.md b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/placeholders_and_universes.md new file mode 100644 index 000000000000..91c8c4526119 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/region_inference/placeholders_and_universes.md @@ -0,0 +1,442 @@ +# Placeholders and universes + + + +From time to time we have to reason about regions that we can't +concretely know. For example, consider this program: + +```rust,ignore +// A function that needs a static reference +fn foo(x: &'static u32) { } + +fn bar(f: for<'a> fn(&'a u32)) { + // ^^^^^^^^^^^^^^^^^^^ a function that can accept **any** reference + let x = 22; + f(&x); +} + +fn main() { + bar(foo); +} +``` + +This program ought not to type-check: `foo` needs a static reference +for its argument, and `bar` wants to be given a function that +accepts **any** reference (so it can call it with something on its +stack, for example). But *how* do we reject it and *why*? + +## Subtyping and Placeholders + +When we type-check `main`, and in particular the call `bar(foo)`, we +are going to wind up with a subtyping relationship like this one: + +```text +fn(&'static u32) <: for<'a> fn(&'a u32) +---------------- ------------------- +the type of `foo` the type `bar` expects +``` + +We handle this sort of subtyping by taking the variables that are +bound in the supertype and replacing them with +[universally quantified](../../appendix/background.md#quantified) +representatives, denoted like `!1` here. We call these regions "placeholder +regions" – they represent, basically, "some unknown region". + +Once we've done that replacement, we have the following relation: + +```text +fn(&'static u32) <: fn(&'!1 u32) +``` + +The key idea here is that this unknown region `'!1` is not related to +any other regions. So if we can prove that the subtyping relationship +is true for `'!1`, then it ought to be true for any region, which is +what we wanted. + +So let's work through what happens next. To check if two functions are +subtypes, we check if their arguments have the desired relationship +(fn arguments are [contravariant](../../appendix/background.md#variance), so +we swap the left and right here): + +```text +&'!1 u32 <: &'static u32 +``` + +According to the basic subtyping rules for a reference, this will be +true if `'!1: 'static`. That is – if "some unknown region `!1`" outlives `'static`. +Now, this *might* be true – after all, `'!1` could be `'static` – +but we don't *know* that it's true. So this should yield up an error (eventually). + +## What is a universe? + +In the previous section, we introduced the idea of a placeholder +region, and we denoted it `!1`. We call this number `1` the **universe +index**. The idea of a "universe" is that it is a set of names that +are in scope within some type or at some point. Universes are formed +into a tree, where each child extends its parents with some new names. +So the **root universe** conceptually contains global names, such as +the lifetime `'static` or the type `i32`. In the compiler, we also +put generic type parameters into this root universe (in this sense, +there is not just one root universe, but one per item). So consider +this function `bar`: + +```rust,ignore +struct Foo { } + +fn bar<'a, T>(t: &'a T) { + ... +} +``` + +Here, the root universe would consist of the lifetimes `'static` and +`'a`. In fact, although we're focused on lifetimes here, we can apply +the same concept to types, in which case the types `Foo` and `T` would +be in the root universe (along with other global types, like `i32`). +Basically, the root universe contains all the names that +[appear free](../../appendix/background.md#free-vs-bound) in the body of `bar`. + +Now let's extend `bar` a bit by adding a variable `x`: + +```rust,ignore +fn bar<'a, T>(t: &'a T) { + let x: for<'b> fn(&'b u32) = ...; +} +``` + +Here, the name `'b` is not part of the root universe. Instead, when we +"enter" into this `for<'b>` (e.g., by replacing it with a placeholder), we will create +a child universe of the root, let's call it U1: + +```text +U0 (root universe) +│ +└─ U1 (child universe) +``` + +The idea is that this child universe U1 extends the root universe U0 +with a new name, which we are identifying by its universe number: +`!1`. + +Now let's extend `bar` a bit by adding one more variable, `y`: + +```rust,ignore +fn bar<'a, T>(t: &'a T) { + let x: for<'b> fn(&'b u32) = ...; + let y: for<'c> fn(&'c u32) = ...; +} +``` + +When we enter *this* type, we will again create a new universe, which +we'll call `U2`. Its parent will be the root universe, and U1 will be +its sibling: + +```text +U0 (root universe) +│ +├─ U1 (child universe) +│ +└─ U2 (child universe) +``` + +This implies that, while in U2, we can name things from U0 or U2, but +not U1. + +**Giving existential variables a universe.** Now that we have this +notion of universes, we can use it to extend our type-checker and +things to prevent illegal names from leaking out. The idea is that we +give each inference (existential) variable – whether it be a type or +a lifetime – a universe. That variable's value can then only +reference names visible from that universe. So for example if a +lifetime variable is created in U0, then it cannot be assigned a value +of `!1` or `!2`, because those names are not visible from the universe +U0. + +**Representing universes with just a counter.** You might be surprised +to see that the compiler doesn't keep track of a full tree of +universes. Instead, it just keeps a counter – and, to determine if +one universe can see another one, it just checks if the index is +greater. For example, U2 can see U0 because 2 >= 0. But U0 cannot see +U2, because 0 >= 2 is false. + +How can we get away with this? Doesn't this mean that we would allow +U2 to also see U1? The answer is that, yes, we would, **if that +question ever arose**. But because of the structure of our type +checker etc, there is no way for that to happen. In order for +something happening in the universe U1 to "communicate" with something +happening in U2, they would have to have a shared inference variable X +in common. And because everything in U1 is scoped to just U1 and its +children, that inference variable X would have to be in U0. And since +X is in U0, it cannot name anything from U1 (or U2). This is perhaps easiest +to see by using a kind of generic "logic" example: + +```text +exists { + forall { ... /* Y is in U1 ... */ } + forall { ... /* Z is in U2 ... */ } +} +``` + +Here, the only way for the two foralls to interact would be through X, +but neither Y nor Z are in scope when X is declared, so its value +cannot reference either of them. + +## Universes and placeholder region elements + +But where does that error come from? The way it happens is like this. +When we are constructing the region inference context, we can tell +from the type inference context how many placeholder variables exist +(the `InferCtxt` has an internal counter). For each of those, we +create a corresponding universal region variable `!n` and a "region +element" `placeholder(n)`. This corresponds to "some unknown set of other +elements". The value of `!n` is `{placeholder(n)}`. + +At the same time, we also give each existential variable a +**universe** (also taken from the `InferCtxt`). This universe +determines which placeholder elements may appear in its value: For +example, a variable in universe U3 may name `placeholder(1)`, `placeholder(2)`, and +`placeholder(3)`, but not `placeholder(4)`. Note that the universe of an inference +variable controls what region elements **can** appear in its value; it +does not say region elements **will** appear. + +## Placeholders and outlives constraints + +In the region inference engine, outlives constraints have the form: + +```text +V1: V2 @ P +``` + +where `V1` and `V2` are region indices, and hence map to some region +variable (which may be universally or existentially quantified). The +`P` here is a "point" in the control-flow graph; it's not important +for this section. This variable will have a universe, so let's call +those universes `U(V1)` and `U(V2)` respectively. (Actually, the only +one we are going to care about is `U(V1)`.) + +When we encounter this constraint, the ordinary procedure is to start +a DFS from `P`. We keep walking so long as the nodes we are walking +are present in `value(V2)` and we add those nodes to `value(V1)`. If +we reach a return point, we add in any `end(X)` elements. That part +remains unchanged. + +But then *after that* we want to iterate over the placeholder `placeholder(x)` +elements in V2 (each of those must be visible to `U(V2)`, but we +should be able to just assume that is true, we don't have to check +it). We have to ensure that `value(V1)` outlives each of those +placeholder elements. + +Now there are two ways that could happen. First, if `U(V1)` can see +the universe `x` (i.e., `x <= U(V1)`), then we can just add `placeholder(x)` +to `value(V1)` and be done. But if not, then we have to approximate: +we may not know what set of elements `placeholder(x)` represents, but we +should be able to compute some sort of **upper bound** B for it – +some region B that outlives `placeholder(x)`. For now, we'll just use +`'static` for that (since it outlives everything) – in the future, we +can sometimes be smarter here (and in fact we have code for doing this +already in other contexts). Moreover, since `'static` is in the root +universe U0, we know that all variables can see it – so basically if +we find that `value(V2)` contains `placeholder(x)` for some universe `x` +that `V1` can't see, then we force `V1` to `'static`. + +## Extending the "universal regions" check + +After all constraints have been propagated, the NLL region inference +has one final check, where it goes over the values that wound up being +computed for each universal region and checks that they did not get +'too large'. In our case, we will go through each placeholder region +and check that it contains *only* the `placeholder(u)` element it is known to +outlive. (Later, we might be able to know that there are relationships +between two placeholder regions and take those into account, as we do +for universal regions from the fn signature.) + +Put another way, the "universal regions" check can be considered to be +checking constraints like: + +```text +{placeholder(1)}: V1 +``` + +where `{placeholder(1)}` is like a constant set, and V1 is the variable we +made to represent the `!1` region. + +## Back to our example + +OK, so far so good. Now let's walk through what would happen with our +first example: + +```text +fn(&'static u32) <: fn(&'!1 u32) @ P // this point P is not imp't here +``` + +The region inference engine will create a region element domain like this: + +```text +{ CFG; end('static); placeholder(1) } + --- ------------ ------- from the universe `!1` + | 'static is always in scope + all points in the CFG; not especially relevant here +``` + +It will always create two universal variables, one representing +`'static` and one representing `'!1`. Let's call them Vs and V1. They +will have initial values like so: + +```text +Vs = { CFG; end('static) } // it is in U0, so can't name anything else +V1 = { placeholder(1) } +``` + +From the subtyping constraint above, we would have an outlives constraint like + +```text +'!1: 'static @ P +``` + +To process this, we would grow the value of V1 to include all of Vs: + +```text +Vs = { CFG; end('static) } +V1 = { CFG; end('static), placeholder(1) } +``` + +At that point, constraint propagation is complete, because all the +outlives relationships are satisfied. Then we would go to the "check +universal regions" portion of the code, which would test that no +universal region grew too large. + +In this case, `V1` *did* grow too large – it is not known to outlive +`end('static)`, nor any of the CFG – so we would report an error. + +## Another example + +What about this subtyping relationship? + +```text +for<'a> fn(&'a u32, &'a u32) + <: +for<'b, 'c> fn(&'b u32, &'c u32) +``` + +Here we would replace the bound region in the supertype with a placeholder, as before, yielding: + +```text +for<'a> fn(&'a u32, &'a u32) + <: +fn(&'!1 u32, &'!2 u32) +``` + +then we instantiate the variable on the left-hand side with an +existential in universe U2, yielding the following (`?n` is a notation +for an existential variable): + +```text +fn(&'?3 u32, &'?3 u32) + <: +fn(&'!1 u32, &'!2 u32) +``` + +Then we break this down further: + +```text +&'!1 u32 <: &'?3 u32 +&'!2 u32 <: &'?3 u32 +``` + +and even further, yield up our region constraints: + +```text +'!1: '?3 +'!2: '?3 +``` + +Note that, in this case, both `'!1` and `'!2` have to outlive the +variable `'?3`, but the variable `'?3` is not forced to outlive +anything else. Therefore, it simply starts and ends as the empty set +of elements, and hence the type-check succeeds here. + +(This should surprise you a little. It surprised me when I first realized it. +We are saying that if we are a fn that **needs both of its arguments to have +the same region**, we can accept being called with **arguments with two +distinct regions**. That seems intuitively unsound. But in fact, it's fine, as +I tried to explain in [this issue][ohdeargoditsallbroken] on the Rust issue +tracker long ago. The reason is that even if we get called with arguments of +two distinct lifetimes, those two lifetimes have some intersection (the call +itself), and that intersection can be our value of `'a` that we use as the +common lifetime of our arguments. -nmatsakis) + +[ohdeargoditsallbroken]: https://github.com/rust-lang/rust/issues/32330#issuecomment-202536977 + +## Final example + +Let's look at one last example. We'll extend the previous one to have +a return type: + +```text +for<'a> fn(&'a u32, &'a u32) -> &'a u32 + <: +for<'b, 'c> fn(&'b u32, &'c u32) -> &'b u32 +``` + +Despite seeming very similar to the previous example, this case is going to get +an error. That's good: the problem is that we've gone from a fn that promises +to return one of its two arguments, to a fn that is promising to return the +first one. That is unsound. Let's see how it plays out. + +First, we replace the bound region in the supertype with a placeholder: + +```text +for<'a> fn(&'a u32, &'a u32) -> &'a u32 + <: +fn(&'!1 u32, &'!2 u32) -> &'!1 u32 +``` + +Then we instantiate the subtype with existentials (in U2): + +```text +fn(&'?3 u32, &'?3 u32) -> &'?3 u32 + <: +fn(&'!1 u32, &'!2 u32) -> &'!1 u32 +``` + +And now we create the subtyping relationships: + +```text +&'!1 u32 <: &'?3 u32 // arg 1 +&'!2 u32 <: &'?3 u32 // arg 2 +&'?3 u32 <: &'!1 u32 // return type +``` + +And finally the outlives relationships. Here, let V1, V2, and V3 be the +variables we assign to `!1`, `!2`, and `?3` respectively: + +```text +V1: V3 +V2: V3 +V3: V1 +``` + +Those variables will have these initial values: + +```text +V1 in U1 = {placeholder(1)} +V2 in U2 = {placeholder(2)} +V3 in U2 = {} +``` + +Now because of the `V3: V1` constraint, we have to add `placeholder(1)` into `V3` (and +indeed it is visible from `V3`), so we get: + +```text +V3 in U2 = {placeholder(1)} +``` + +then we have this constraint `V2: V3`, so we wind up having to enlarge +`V2` to include `placeholder(1)` (which it can also see): + +```text +V2 in U2 = {placeholder(1), placeholder(2)} +``` + +Now constraint propagation is done, but when we check the outlives +relationships, we find that `V2` includes this new element `placeholder(1)`, +so we report an error. diff --git a/src/doc/rustc-dev-guide/src/borrow_check/two_phase_borrows.md b/src/doc/rustc-dev-guide/src/borrow_check/two_phase_borrows.md new file mode 100644 index 000000000000..bcd48782110a --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/two_phase_borrows.md @@ -0,0 +1,100 @@ +# Two-phase borrows + +Two-phase borrows are a more permissive version of mutable borrows that allow +nested method calls such as `vec.push(vec.len())`. Such borrows first act as +shared borrows in a "reservation" phase and can later be "activated" into a +full mutable borrow. + +Only certain implicit mutable borrows can be two-phase, any `&mut` or `ref mut` +in the source code is never a two-phase borrow. The cases where we generate a +two-phase borrow are: + +1. The autoref borrow when calling a method with a mutable reference receiver. +2. A mutable reborrow in function arguments. +3. The implicit mutable borrow in an overloaded compound assignment operator. + +To give some examples: + +```rust2018 +// In the source code + +// Case 1: +let mut v = Vec::new(); +v.push(v.len()); +let r = &mut Vec::new(); +r.push(r.len()); + +// Case 2: +std::mem::replace(r, vec![1, r.len()]); + +// Case 3: +let mut x = std::num::Wrapping(2); +x += x; +``` + +Expanding these enough to show the two-phase borrows: + +```rust,ignore +// Case 1: +let mut v = Vec::new(); +let temp1 = &two_phase v; +let temp2 = v.len(); +Vec::push(temp1, temp2); +let r = &mut Vec::new(); +let temp3 = &two_phase *r; +let temp4 = r.len(); +Vec::push(temp3, temp4); + +// Case 2: +let temp5 = &two_phase *r; +let temp6 = vec![1, r.len()]; +std::mem::replace(temp5, temp6); + +// Case 3: +let mut x = std::num::Wrapping(2); +let temp7 = &two_phase x; +let temp8 = x; +std::ops::AddAssign::add_assign(temp7, temp8); +``` + +Whether a borrow can be two-phase is tracked by a flag on the [`AutoBorrow`] +after type checking, which is then [converted] to a [`BorrowKind`] during MIR +construction. + +Each two-phase borrow is assigned to a temporary that is only used once. As +such we can define: + +* The point where the temporary is assigned to is called the *reservation* + point of the two-phase borrow. +* The point where the temporary is used, which is effectively always a + function call, is called the *activation* point. + +The activation points are found using the [`GatherBorrows`] visitor. The +[`BorrowData`] then holds both the reservation and activation points for the +borrow. + +[`AutoBorrow`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/adjustment/enum.AutoBorrow.html +[converted]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_build/thir/cx/expr/trait.ToBorrowKind.html#method.to_borrow_kind +[`BorrowKind`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.BorrowKind.html +[`GatherBorrows`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/visit/trait.Visitor.html#method.visit_local +[`BorrowData`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/borrow_set/struct.BorrowData.html + +## Checking two-phase borrows + +Two-phase borrows are treated as if they were mutable borrows with the +following exceptions: + +1. At every location in the MIR we [check] if any two-phase borrows are + activated at this location. If a live two phase borrow is activated at a + location, then we check that there are no borrows that conflict with the + two-phase borrow. +2. At the reservation point we error if there are conflicting live *mutable* + borrows. And lint if there are any conflicting shared borrows. +3. Between the reservation and the activation point, the two-phase borrow acts + as a shared borrow. We determine (in [`is_active`]) if we're at such a point + by using the [`Dominators`] for the MIR graph. +4. After the activation point, the two-phase borrow acts as a mutable borrow. + +[check]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/struct.MirBorrowckCtxt.html#method.check_activations +[`Dominators`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/graph/dominators/struct.Dominators.html +[`is_active`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/path_utils/fn.is_active.html diff --git a/src/doc/rustc-dev-guide/src/borrow_check/type_check.md b/src/doc/rustc-dev-guide/src/borrow_check/type_check.md new file mode 100644 index 000000000000..69456d870eaa --- /dev/null +++ b/src/doc/rustc-dev-guide/src/borrow_check/type_check.md @@ -0,0 +1,64 @@ +# The MIR type-check + +A key component of the borrow check is the +[MIR type-check](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/type_check/index.html). +This check walks the MIR and does a complete "type check" -- the same +kind you might find in any other language. In the process of doing +this type-check, we also uncover the region constraints that apply to +the program. + +TODO -- elaborate further? Maybe? :) + +## User types + +At the start of MIR type-check, we replace all regions in the body with new unconstrained regions. +However, this would cause us to accept the following program: +```rust +fn foo<'a>(x: &'a u32) { + let y: &'static u32 = x; +} +``` +By erasing the lifetimes in the type of `y` we no longer know that it is supposed to be `'static`, +ignoring the intentions of the user. + +To deal with this we remember all places where the user explicitly mentioned a type during +HIR type-check as [`CanonicalUserTypeAnnotations`][annot]. + +There are two different annotations we care about: +- explicit type ascriptions, e.g. `let y: &'static u32` results in `UserType::Ty(&'static u32)`. +- explicit generic arguments, e.g. `x.foo<&'a u32, Vec>` +results in `UserType::TypeOf(foo_def_id, [&'a u32, Vec])`. + +As we do not want the region inference from the HIR type-check to influence MIR typeck, +we store the user type right after lowering it from the HIR. +This means that it may still contain inference variables, +which is why we are using **canonical** user type annotations. +We replace all inference variables with existential bound variables instead. +Something like `let x: Vec<_>` would therefore result in `exists UserType::Ty(Vec)`. + +A pattern like `let Foo(x): Foo<&'a u32>` has a user type `Foo<&'a u32>` but +the actual type of `x` should only be `&'a u32`. For this, we use a [`UserTypeProjection`][proj]. + +In the MIR, we deal with user types in two slightly different ways. + +Given a MIR local corresponding to a variable in a pattern which has an explicit type annotation, +we require the type of that local to be equal to the type of the [`UserTypeProjection`][proj]. +This is directly stored in the [`LocalDecl`][decl]. + +We also constrain the type of scrutinee expressions, e.g. the type of `x` in `let _: &'a u32 = x;`. +Here `T_x` only has to be a subtype of the user type, so we instead use +[`StatementKind::AscribeUserType`][stmt] for that. + +Note that we do not directly use the user type as the MIR typechecker +doesn't really deal with type and const inference variables. We instead store the final +[`inferred_type`][inf] from the HIR type-checker. During MIR typeck, we then replace its regions +with new nll inference vars and relate it with the actual `UserType` to get the correct region +constraints again. + +After the MIR type-check, all user type annotations get discarded, as they aren't needed anymore. + +[annot]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.CanonicalUserTypeAnnotation.html +[proj]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.UserTypeProjection.html +[decl]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.LocalDecl.html +[stmt]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.StatementKind.html#variant.AscribeUserType +[inf]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.CanonicalUserTypeAnnotation.html#structfield.inferred_ty \ No newline at end of file diff --git a/src/doc/rustc-dev-guide/src/bug-fix-procedure.md b/src/doc/rustc-dev-guide/src/bug-fix-procedure.md new file mode 100644 index 000000000000..4857cf5e0bee --- /dev/null +++ b/src/doc/rustc-dev-guide/src/bug-fix-procedure.md @@ -0,0 +1,341 @@ +# Procedures for Breaking Changes + + + +This page defines the best practices procedure for making bug fixes or soundness +corrections in the compiler that can cause existing code to stop compiling. This +text is based on +[RFC 1589](https://github.com/rust-lang/rfcs/blob/master/text/1589-rustc-bug-fix-procedure.md). + +# Motivation + +[motivation]: #motivation + +From time to time, we encounter the need to make a bug fix, soundness +correction, or other change in the compiler which will cause existing code to +stop compiling. When this happens, it is important that we handle the change in +a way that gives users of Rust a smooth transition. What we want to avoid is +that existing programs suddenly stop compiling with opaque error messages: we +would prefer to have a gradual period of warnings, with clear guidance as to +what the problem is, how to fix it, and why the change was made. This RFC +describes the procedure that we have been developing for handling breaking +changes that aims to achieve that kind of smooth transition. + +One of the key points of this policy is that (a) warnings should be issued +initially rather than hard errors if at all possible and (b) every change that +causes existing code to stop compiling will have an associated tracking issue. +This issue provides a point to collect feedback on the results of that change. +Sometimes changes have unexpectedly large consequences or there may be a way to +avoid the change that was not considered. In those cases, we may decide to +change course and roll back the change, or find another solution (if warnings +are being used, this is particularly easy to do). + +### What qualifies as a bug fix? + +Note that this RFC does not try to define when a breaking change is permitted. +That is already covered under [RFC 1122][]. This document assumes that the +change being made is in accordance with those policies. Here is a summary of the +conditions from RFC 1122: + +- **Soundness changes:** Fixes to holes uncovered in the type system. +- **Compiler bugs:** Places where the compiler is not implementing the specified + semantics found in an RFC or lang-team decision. +- **Underspecified language semantics:** Clarifications to grey areas where the + compiler behaves inconsistently and no formal behavior had been previously + decided. + +Please see [the RFC][rfc 1122] for full details! + +# Detailed design + +[design]: #detailed-design + +The procedure for making a breaking change is as follows (each of these steps is +described in more detail below): + +1. Do a **crater run** to assess the impact of the change. +2. Make a **special tracking issue** dedicated to the change. +3. Do not report an error right away. Instead, **issue forwards-compatibility + lint warnings**. + - Sometimes this is not straightforward. See the text below for suggestions + on different techniques we have employed in the past. + - For cases where warnings are infeasible: + - Report errors, but make every effort to give a targeted error message + that directs users to the tracking issue + - Submit PRs to all known affected crates that fix the issue + - or, at minimum, alert the owners of those crates to the problem and + direct them to the tracking issue +4. Once the change has been in the wild for at least one cycle, we can + **stabilize the change**, converting those warnings into errors. + +Finally, for changes to `rustc_ast` that will affect plugins, the general policy +is to batch these changes. That is discussed below in more detail. + +### Tracking issue + +Every breaking change should be accompanied by a **dedicated tracking issue** +for that change. The main text of this issue should describe the change being +made, with a focus on what users must do to fix their code. The issue should be +approachable and practical; it may make sense to direct users to an RFC or some +other issue for the full details. The issue also serves as a place where users +can comment with questions or other concerns. + +A template for these breaking-change tracking issues can be found below. An +example of how such an issue should look can be [found +here][breaking-change-issue]. + +The issue should be tagged with (at least) `B-unstable` and `T-compiler`. + +### Tracking issue template + +This is a template to use for tracking issues: + +``` +This is the **summary issue** for the `YOUR_LINT_NAME_HERE` +future-compatibility warning and other related errors. The goal of +this page is describe why this change was made and how you can fix +code that is affected by it. It also provides a place to ask questions +or register a complaint if you feel the change should not be made. For +more information on the policy around future-compatibility warnings, +see our [breaking change policy guidelines][guidelines]. + +[guidelines]: LINK_TO_THIS_RFC + +#### What is the warning for? + +*Describe the conditions that trigger the warning and how they can be +fixed. Also explain why the change was made.** + +#### When will this warning become a hard error? + +At the beginning of each 6-week release cycle, the Rust compiler team +will review the set of outstanding future compatibility warnings and +nominate some of them for **Final Comment Period**. Toward the end of +the cycle, we will review any comments and make a final determination +whether to convert the warning into a hard error or remove it +entirely. +``` + +### Issuing future compatibility warnings + +The best way to handle a breaking change is to begin by issuing +future-compatibility warnings. These are a special category of lint warning. +Adding a new future-compatibility warning can be done as follows. + +```rust +// 1. Define the lint in `compiler/rustc_middle/src/lint/builtin.rs`: +declare_lint! { + pub YOUR_ERROR_HERE, + Warn, + "illegal use of foo bar baz" +} + +// 2. Add to the list of HardwiredLints in the same file: +impl LintPass for HardwiredLints { + fn get_lints(&self) -> LintArray { + lint_array!( + .., + YOUR_ERROR_HERE + ) + } +} + +// 3. Register the lint in `compiler/rustc_lint/src/lib.rs`: +store.register_future_incompatible(sess, vec![ + ..., + FutureIncompatibleInfo { + id: LintId::of(YOUR_ERROR_HERE), + reference: "issue #1234", // your tracking issue here! + }, +]); + +// 4. Report the lint: +tcx.lint_node( + lint::builtin::YOUR_ERROR_HERE, + path_id, + binding.span, + format!("some helper message here")); +``` + +#### Helpful techniques + +It can often be challenging to filter out new warnings from older, pre-existing +errors. One technique that has been used in the past is to run the older code +unchanged and collect the errors it would have reported. You can then issue +warnings for any errors you would give which do not appear in that original set. +Another option is to abort compilation after the original code completes if +errors are reported: then you know that your new code will only execute when +there were no errors before. + +#### Crater and crates.io + +[Crater] is a bot that will compile all crates.io crates and many +public github repos with the compiler with your changes. A report will then be +generated with crates that ceased to compile with or began to compile with your +changes. Crater runs can take a few days to complete. + +[Crater]: ./tests/crater.md + +We should always do a crater run to assess impact. It is polite and considerate +to at least notify the authors of affected crates the breaking change. If we can +submit PRs to fix the problem, so much the better. + +#### Is it ever acceptable to go directly to issuing errors? + +Changes that are believed to have negligible impact can go directly to issuing +an error. One rule of thumb would be to check against `crates.io`: if fewer than +10 **total** affected projects are found (**not** root errors), we can move +straight to an error. In such cases, we should still make the "breaking change" +page as before, and we should ensure that the error directs users to this page. +In other words, everything should be the same except that users are getting an +error, and not a warning. Moreover, we should submit PRs to the affected +projects (ideally before the PR implementing the change lands in rustc). + +If the impact is not believed to be negligible (e.g., more than 10 crates are +affected), then warnings are required (unless the compiler team agrees to grant +a special exemption in some particular case). If implementing warnings is not +feasible, then we should make an aggressive strategy of migrating crates before +we land the change so as to lower the number of affected crates. Here are some +techniques for approaching this scenario: + +1. Issue warnings for subparts of the problem, and reserve the new errors for + the smallest set of cases you can. +2. Try to give a very precise error message that suggests how to fix the problem + and directs users to the tracking issue. +3. It may also make sense to layer the fix: + - First, add warnings where possible and let those land before proceeding to + issue errors. + - Work with authors of affected crates to ensure that corrected versions are + available _before_ the fix lands, so that downstream users can use them. + +### Stabilization + +After a change is made, we will **stabilize** the change using the same process +that we use for unstable features: + +- After a new release is made, we will go through the outstanding tracking + issues corresponding to breaking changes and nominate some of them for **final + comment period** (FCP). +- The FCP for such issues lasts for one cycle. In the final week or two of the + cycle, we will review comments and make a final determination: + + - Convert to error: the change should be made into a hard error. + - Revert: we should remove the warning and continue to allow the older code to + compile. + - Defer: can't decide yet, wait longer, or try other strategies. + +Ideally, breaking changes should have landed on the **stable branch** of the +compiler before they are finalized. + + + +### Removing a lint + +Once we have decided to make a "future warning" into a hard error, we need a PR +that removes the custom lint. As an example, here are the steps required to +remove the `overlapping_inherent_impls` compatibility lint. First, convert the +name of the lint to uppercase (`OVERLAPPING_INHERENT_IMPLS`) ripgrep through the +source for that string. We will basically by converting each place where this +lint name is mentioned (in the compiler, we use the upper-case name, and a macro +automatically generates the lower-case string; so searching for +`overlapping_inherent_impls` would not find much). + +> NOTE: these exact files don't exist anymore, but the procedure is still the same. + +#### Remove the lint. + +The first reference you will likely find is the lint definition [in +`rustc_session/src/lint/builtin.rs` that resembles this][defsource]: + +[defsource]: https://github.com/rust-lang/rust/blob/085d71c3efe453863739c1fb68fd9bd1beff214f/src/librustc/lint/builtin.rs#L171-L175 + +```rust +declare_lint! { + pub OVERLAPPING_INHERENT_IMPLS, + Deny, // this may also say Warning + "two overlapping inherent impls define an item with the same name were erroneously allowed" +} +``` + +This `declare_lint!` macro creates the relevant data structures. Remove it. You +will also find that there is a mention of `OVERLAPPING_INHERENT_IMPLS` later in +the file as [part of a `lint_array!`][lintarraysource]; remove it too. + +[lintarraysource]: https://github.com/rust-lang/rust/blob/085d71c3efe453863739c1fb68fd9bd1beff214f/src/librustc/lint/builtin.rs#L252-L290 + +Next, you see [a reference to `OVERLAPPING_INHERENT_IMPLS` in +`rustc_lint/src/lib.rs`][futuresource]. This is defining the lint as a "future +compatibility lint": + +```rust +FutureIncompatibleInfo { + id: LintId::of(OVERLAPPING_INHERENT_IMPLS), + reference: "issue #36889 ", +}, +``` + +Remove this too. + +#### Add the lint to the list of removed lints. + +In `compiler/rustc_lint/src/lib.rs` there is a list of "renamed and removed lints". +You can add this lint to the list: + +```rust +store.register_removed("overlapping_inherent_impls", "converted into hard error, see #36889"); +``` + +where `#36889` is the tracking issue for your lint. + +#### Update the places that issue the lint + +Finally, the last class of references you will see are the places that actually +**trigger** the lint itself (i.e., what causes the warnings to appear). These +you do not want to delete. Instead, you want to convert them into errors. In +this case, the [`add_lint` call][addlintsource] looks like this: + +```rust +self.tcx.sess.add_lint(lint::builtin::OVERLAPPING_INHERENT_IMPLS, + node_id, + self.tcx.span_of_impl(item1).unwrap(), + msg); +``` + +We want to convert this into an error. In some cases, there may be an +existing error for this scenario. In others, we will need to allocate a +fresh diagnostic code. [Instructions for allocating a fresh diagnostic +code can be found here.](./diagnostics/error-codes.md) You may want +to mention in the extended description that the compiler behavior +changed on this point, and include a reference to the tracking issue for +the change. + +Let's say that we've adopted `E0592` as our code. Then we can change the +`add_lint()` call above to something like: + +```rust +struct_span_code_err!(self.dcx(), self.tcx.span_of_impl(item1).unwrap(), E0592, msg) + .emit(); +``` + +#### Update tests + +Finally, run the test suite. These should be some tests that used to reference +the `overlapping_inherent_impls` lint, those will need to be updated. In +general, if the test used to have `#[deny(overlapping_inherent_impls)]`, that +can just be removed. + +``` +./x test +``` + +#### All done! + +Open a PR. =) + +[addlintsource]: https://github.com/rust-lang/rust/blob/085d71c3efe453863739c1fb68fd9bd1beff214f/src/librustc_typeck/coherence/inherent.rs#L300-L303 +[futuresource]: https://github.com/rust-lang/rust/blob/085d71c3efe453863739c1fb68fd9bd1beff214f/src/librustc_lint/lib.rs#L202-L205 + + + +[rfc 1122]: https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md +[breaking-change-issue]: https://gist.github.com/nikomatsakis/631ec8b4af9a18b5d062d9d9b7d3d967 diff --git a/src/doc/rustc-dev-guide/src/building/bootstrapping/how-bootstrap-does-it.md b/src/doc/rustc-dev-guide/src/building/bootstrapping/how-bootstrap-does-it.md new file mode 100644 index 000000000000..6b32845f0684 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/bootstrapping/how-bootstrap-does-it.md @@ -0,0 +1,51 @@ +# How Bootstrap does it + +The core concept in Bootstrap is a build [`Step`], which are chained together +by [`Builder::ensure`]. [`Builder::ensure`] takes a [`Step`] as input, and runs +the [`Step`] if and only if it has not already been run. Let's take a closer +look at [`Step`]. + +## Synopsis of [`Step`] + +A [`Step`] represents a granular collection of actions involved in the process +of producing some artifact. It can be thought of like a rule in Makefiles. +The [`Step`] trait is defined as: + +```rs,no_run +pub trait Step: 'static + Clone + Debug + PartialEq + Eq + Hash { + type Output: Clone; + + const DEFAULT: bool = false; + const ONLY_HOSTS: bool = false; + + // Required methods + fn run(self, builder: &Builder<'_>) -> Self::Output; + fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_>; + + // Provided method + fn make_run(_run: RunConfig<'_>) { ... } +} +``` + +- `run` is the function that is responsible for doing the work. + [`Builder::ensure`] invokes `run`. +- `should_run` is the command-line interface, which determines if an invocation + such as `x build foo` should run a given [`Step`]. In a "default" context + where no paths are provided, then `make_run` is called directly. +- `make_run` is invoked only for things directly asked via the CLI and not + for steps which are dependencies of other steps. + +## The entry points + +There's a couple of preliminary steps before core Bootstrap code is reached: + +1. Shell script or `make`: [`./x`](https://github.com/rust-lang/rust/blob/master/x) or [`./x.ps1`](https://github.com/rust-lang/rust/blob/master/x.ps1) or `make` +2. Convenience wrapper script: [`x.py`](https://github.com/rust-lang/rust/blob/master/x.py) +3. [`src/bootstrap/bootstrap.py`](https://github.com/rust-lang/rust/blob/master/src/bootstrap/bootstrap.py) +4. [`src/bootstrap/src/bin/main.rs`](https://github.com/rust-lang/rust/blob/master/src/bootstrap/src/bin/main.rs) + +See [src/bootstrap/README.md](https://github.com/rust-lang/rust/blob/master/src/bootstrap/README.md) +for a more specific description of the implementation details. + +[`Step`]: https://doc.rust-lang.org/nightly/nightly-rustc/bootstrap/core/builder/trait.Step.html +[`Builder::ensure`]: https://doc.rust-lang.org/nightly/nightly-rustc/bootstrap/core/builder/struct.Builder.html#method.ensure diff --git a/src/doc/rustc-dev-guide/src/building/bootstrapping/intro.md b/src/doc/rustc-dev-guide/src/building/bootstrapping/intro.md new file mode 100644 index 000000000000..f829884fb937 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/bootstrapping/intro.md @@ -0,0 +1,21 @@ +# Bootstrapping the compiler + +[*Bootstrapping*][boot] is the process of using a compiler to compile itself. +More accurately, it means using an older compiler to compile a newer version +of the same compiler. + +This raises a chicken-and-egg paradox: where did the first compiler come from? +It must have been written in a different language. In Rust's case it was +[written in OCaml][ocaml-compiler]. However it was abandoned long ago and the +only way to build a modern version of rustc is a slightly less modern +version. + +This is exactly how `x.py` works: it downloads the current beta release of +rustc, then uses it to compile the new compiler. + +In this section, we give a high-level overview of +[what Bootstrap does](./what-bootstrapping-does.md), followed by a high-level +introduction to [how Bootstrap does it](./how-bootstrap-does-it.md). + +[boot]: https://en.wikipedia.org/wiki/Bootstrapping_(compilers) +[ocaml-compiler]: https://github.com/rust-lang/rust/tree/ef75860a0a72f79f97216f8aaa5b388d98da6480/src/boot diff --git a/src/doc/rustc-dev-guide/src/building/bootstrapping/what-bootstrapping-does.md b/src/doc/rustc-dev-guide/src/building/bootstrapping/what-bootstrapping-does.md new file mode 100644 index 000000000000..1dd5402f4cde --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/bootstrapping/what-bootstrapping-does.md @@ -0,0 +1,465 @@ +# What Bootstrapping does + + + +[*Bootstrapping*][boot] is the process of using a compiler to compile itself. +More accurately, it means using an older compiler to compile a newer version of +the same compiler. + +This raises a chicken-and-egg paradox: where did the first compiler come from? +It must have been written in a different language. In Rust's case it was +[written in OCaml][ocaml-compiler]. However it was abandoned long ago and the +only way to build a modern version of `rustc` is a slightly less modern version. + +This is exactly how [`./x.py`] works: it downloads the current beta release of +`rustc`, then uses it to compile the new compiler. + +[`./x.py`]: https://github.com/rust-lang/rust/blob/master/x.py + +Note that this documentation mostly covers user-facing information. See +[bootstrap/README.md][bootstrap-internals] to read about bootstrap internals. + +[bootstrap-internals]: https://github.com/rust-lang/rust/blob/master/src/bootstrap/README.md + +## Stages of bootstrapping + +### Overview + +- Stage 0: the pre-compiled compiler +- Stage 1: from current code, by an earlier compiler +- Stage 2: the truly current compiler +- Stage 3: the same-result test + +Compiling `rustc` is done in stages. Here's a diagram, adapted from Jynn +Nelson's [talk on bootstrapping][rustconf22-talk] at RustConf 2022, with +detailed explanations below. + +The `A`, `B`, `C`, and `D` show the ordering of the stages of bootstrapping. +Blue nodes are +downloaded, yellow +nodes are built with the `stage0` compiler, and green nodes are built with the `stage1` +compiler. + +[rustconf22-talk]: https://www.youtube.com/watch?v=oUIjG-y4zaA + +```mermaid +graph TD + s0c["stage0 compiler (1.63)"]:::downloaded -->|A| s0l("stage0 std (1.64)"):::with-s0c; + s0c & s0l --- stepb[ ]:::empty; + stepb -->|B| s0ca["stage0 compiler artifacts (1.64)"]:::with-s0c; + s0ca -->|copy| s1c["stage1 compiler (1.64)"]:::with-s0c; + s1c -->|C| s1l("stage1 std (1.64)"):::with-s1c; + s1c & s1l --- stepd[ ]:::empty; + stepd -->|D| s1ca["stage1 compiler artifacts (1.64)"]:::with-s1c; + s1ca -->|copy| s2c["stage2 compiler"]:::with-s1c; + + classDef empty width:0px,height:0px; + classDef downloaded fill: lightblue; + classDef with-s0c fill: yellow; + classDef with-s1c fill: lightgreen; +``` + +### Stage 0: the pre-compiled compiler + +The stage0 compiler is usually the current _beta_ `rustc` compiler and its +associated dynamic libraries, which `./x.py` will download for you. (You can +also configure `./x.py` to use something else.) + +The stage0 compiler is then used only to compile [`src/bootstrap`], +[`library/std`], and [`compiler/rustc`]. When assembling the libraries and +binaries that will become the stage1 `rustc` compiler, the freshly compiled +`std` and `rustc` are used. There are two concepts at play here: a compiler +(with its set of dependencies) and its 'target' or 'object' libraries (`std` and +`rustc`). Both are staged, but in a staggered manner. + +[`compiler/rustc`]: https://github.com/rust-lang/rust/tree/master/compiler/rustc +[`library/std`]: https://github.com/rust-lang/rust/tree/master/library/std +[`src/bootstrap`]: https://github.com/rust-lang/rust/tree/master/src/bootstrap + +### Stage 1: from current code, by an earlier compiler + +The rustc source code is then compiled with the `stage0` compiler to produce the +`stage1` compiler. + +### Stage 2: the truly current compiler + +We then rebuild our `stage1` compiler with itself to produce the `stage2` +compiler. + +In theory, the `stage1` compiler is functionally identical to the `stage2` +compiler, but in practice there are subtle differences. In particular, the +`stage1` compiler itself was built by `stage0` and hence not by the source in +your working directory. This means that the ABI generated by the `stage0` +compiler may not match the ABI that would have been made by the `stage1` +compiler, which can cause problems for dynamic libraries, tests, and tools using +`rustc_private`. + +Note that the `proc_macro` crate avoids this issue with a `C` FFI layer called +`proc_macro::bridge`, allowing it to be used with `stage1`. + +The `stage2` compiler is the one distributed with `rustup` and all other install +methods. However, it takes a very long time to build because one must first +build the new compiler with an older compiler and then use that to build the new +compiler with itself. For development, you usually only want the `stage1` +compiler, which you can build with `./x build library`. See [Building the +compiler](../how-to-build-and-run.html#building-the-compiler). + +### Stage 3: the same-result test + +Stage 3 is optional. To sanity check our new compiler we can build the libraries +with the `stage2` compiler. The result ought to be identical to before, unless +something has broken. + +### Building the stages + +The script [`./x`] tries to be helpful and pick the stage you most likely meant +for each subcommand. These defaults are as follows: + +- `check`: `--stage 0` +- `doc`: `--stage 0` +- `build`: `--stage 1` +- `test`: `--stage 1` +- `dist`: `--stage 2` +- `install`: `--stage 2` +- `bench`: `--stage 2` + +You can always override the stage by passing `--stage N` explicitly. + +For more information about stages, [see +below](#understanding-stages-of-bootstrap). + +[`./x`]: https://github.com/rust-lang/rust/blob/master/x + +## Complications of bootstrapping + +Since the build system uses the current beta compiler to build a `stage1` +bootstrapping compiler, the compiler source code can't use some features until +they reach beta (because otherwise the beta compiler doesn't support them). On +the other hand, for [compiler intrinsics][intrinsics] and internal features, the +features _have_ to be used. Additionally, the compiler makes heavy use of +`nightly` features (`#![feature(...)]`). How can we resolve this problem? + +There are two methods used: + +1. The build system sets `--cfg bootstrap` when building with `stage0`, so we + can use `cfg(not(bootstrap))` to only use features when built with `stage1`. + Setting `--cfg bootstrap` in this way is used for features that were just + stabilized, which require `#![feature(...)]` when built with `stage0`, but + not for `stage1`. +2. The build system sets `RUSTC_BOOTSTRAP=1`. This special variable means to + _break the stability guarantees_ of Rust: allowing use of `#![feature(...)]` + with a compiler that's not `nightly`. _Setting `RUSTC_BOOTSTRAP=1` should + never be used except when bootstrapping the compiler._ + +[boot]: https://en.wikipedia.org/wiki/Bootstrapping_(compilers) +[intrinsics]: ../../appendix/glossary.md#intrinsic +[ocaml-compiler]: https://github.com/rust-lang/rust/tree/ef75860a0a72f79f97216f8aaa5b388d98da6480/src/boot + +## Understanding stages of bootstrap + +### Overview + +This is a detailed look into the separate bootstrap stages. + +The convention `./x` uses is that: + +- A `--stage N` flag means to run the stage N compiler (`stageN/rustc`). +- A "stage N artifact" is a build artifact that is _produced_ by the stage N + compiler. +- The stage N+1 compiler is assembled from stage N *artifacts*. This process is + called _uplifting_. + +#### Build artifacts + +Anything you can build with `./x` is a _build artifact_. Build artifacts +include, but are not limited to: + +- binaries, like `stage0-rustc/rustc-main` +- shared objects, like `stage0-sysroot/rustlib/libstd-6fae108520cf72fe.so` +- [rlib] files, like `stage0-sysroot/rustlib/libstd-6fae108520cf72fe.rlib` +- HTML files generated by rustdoc, like `doc/std` + +[rlib]: ../../serialization.md + +#### Examples + +- `./x test tests/ui` means to build the `stage1` compiler and run `compiletest` + on it. If you're working on the compiler, this is normally the test command + you want. +- `./x test --stage 0 library/std` means to run tests on the standard library + without building `rustc` from source ('build with `stage0`, then test the + artifacts'). If you're working on the standard library, this is normally the + test command you want. +- `./x build --stage 0` means to build with the beta `rustc`. +- `./x doc --stage 0` means to document using the beta `rustdoc`. + +#### Examples of what *not* to do + +- `./x test --stage 0 tests/ui` is not useful: it runs tests on the _beta_ + compiler and doesn't build `rustc` from source. Use `test tests/ui` instead, + which builds `stage1` from source. +- `./x test --stage 0 compiler/rustc` builds the compiler but runs no tests: + it's running `cargo test -p rustc`, but `cargo` doesn't understand Rust's + tests. You shouldn't need to use this, use `test` instead (without arguments). +- `./x build --stage 0 compiler/rustc` builds the compiler, but does not build + `libstd` or even `libcore`. Most of the time, you'll want `./x build library` + instead, which allows compiling programs without needing to define lang items. + +### Building vs. running + +Note that `build --stage N compiler/rustc` **does not** build the stage N +compiler: instead it builds the stage N+1 compiler _using_ the stage N compiler. + +In short, _stage 0 uses the `stage0` compiler to create `stage0` artifacts which +will later be uplifted to be the stage1 compiler_. + +In each stage, two major steps are performed: + +1. `std` is compiled by the stage N compiler. +2. That `std` is linked to programs built by the stage N compiler, including the + stage N artifacts (stage N+1 compiler). + +This is somewhat intuitive if one thinks of the stage N artifacts as "just" +another program we are building with the stage N compiler: `build --stage N +compiler/rustc` is linking the stage N artifacts to the `std` built by the stage +N compiler. + +### Stages and `std` + +Note that there are two `std` libraries in play here: + +1. The library _linked_ to `stageN/rustc`, which was built by stage N-1 (stage + N-1 `std`) +2. The library _used to compile programs_ with `stageN/rustc`, which was built + by stage N (stage N `std`). + +Stage N `std` is pretty much necessary for any useful work with the stage N +compiler. Without it, you can only compile programs with `#![no_core]` -- not +terribly useful! + +The reason these need to be different is because they aren't necessarily +ABI-compatible: there could be new layout optimizations, changes to `MIR`, or +other changes to Rust metadata on `nightly` that aren't present in beta. + +This is also where `--keep-stage 1 library/std` comes into play. Since most +changes to the compiler don't actually change the ABI, once you've produced a +`std` in `stage1`, you can probably just reuse it with a different compiler. If +the ABI hasn't changed, you're good to go, no need to spend time recompiling +that `std`. The flag `--keep-stage` simply instructs the build script to assumes +the previous compile is fine and copies those artifacts into the appropriate +place, skipping the `cargo` invocation. + +### Cross-compiling rustc + +*Cross-compiling* is the process of compiling code that will run on another +architecture. For instance, you might want to build an ARM version of rustc +using an x86 machine. Building `stage2` `std` is different when you are +cross-compiling. + +This is because `./x` uses the following logic: if `HOST` and `TARGET` are the +same, it will reuse `stage1` `std` for `stage2`! This is sound because `stage1` +`std` was compiled with the `stage1` compiler, i.e. a compiler using the source +code you currently have checked out. So it should be identical (and therefore +ABI-compatible) to the `std` that `stage2/rustc` would compile. + +However, when cross-compiling, `stage1` `std` will only run on the host. So the +`stage2` compiler has to recompile `std` for the target. + +(See in the table how `stage2` only builds non-host `std` targets). + +### Why does only libstd use `cfg(bootstrap)`? + +For docs on `cfg(bootstrap)` itself, see [Complications of +Bootstrapping](#complications-of-bootstrapping). + +The `rustc` generated by the `stage0` compiler is linked to the freshly-built +`std`, which means that for the most part only `std` needs to be `cfg`-gated, so +that `rustc` can use features added to `std` immediately after their addition, +without need for them to get into the downloaded `beta` compiler. + +Note this is different from any other Rust program: `stage1` `rustc` is built by +the _beta_ compiler, but using the _master_ version of `libstd`! + +The only time `rustc` uses `cfg(bootstrap)` is when it adds internal lints that +use diagnostic items, or when it uses unstable library features that were +recently changed. + +### What is a 'sysroot'? + +When you build a project with `cargo`, the build artifacts for dependencies are +normally stored in `target/debug/deps`. This only contains dependencies `cargo` +knows about; in particular, it doesn't have the standard library. Where do `std` +or `proc_macro` come from? They come from the **sysroot**, the root of a number +of directories where the compiler loads build artifacts at runtime. The +`sysroot` doesn't just store the standard library, though - it includes anything +that needs to be loaded at runtime. That includes (but is not limited to): + +- Libraries `libstd`/`libtest`/`libproc_macro`. +- Compiler crates themselves, when using `rustc_private`. In-tree these are + always present; out of tree, you need to install `rustc-dev` with `rustup`. +- Shared object file `libLLVM.so` for the LLVM project. In-tree this is either + built from source or downloaded from CI; out-of-tree, you need to install + `llvm-tools-preview` with `rustup`. + +All the artifacts listed so far are *compiler* runtime dependencies. You can see +them with `rustc --print sysroot`: + +``` +$ ls $(rustc --print sysroot)/lib +libchalk_derive-0685d79833dc9b2b.so libstd-25c6acf8063a3802.so +libLLVM-11-rust-1.50.0-nightly.so libtest-57470d2aa8f7aa83.so +librustc_driver-4f0cc9f50e53f0ba.so libtracing_attributes-e4be92c35ab2a33b.so +librustc_macros-5f0ec4a119c6ac86.so rustlib +``` + +There are also runtime dependencies for the standard library! These are in +`lib/rustlib/`, not `lib/` directly. + +``` +$ ls $(rustc --print sysroot)/lib/rustlib/x86_64-unknown-linux-gnu/lib | head -n 5 +libaddr2line-6c8e02b8fedc1e5f.rlib +libadler-9ef2480568df55af.rlib +liballoc-9c4002b5f79ba0e1.rlib +libcfg_if-512eb53291f6de7e.rlib +libcompiler_builtins-ef2408da76957905.rlib +``` + +Directory `lib/rustlib/` includes libraries like `hashbrown` and `cfg_if`, which +are not part of the public API of the standard library, but are used to +implement it. Also `lib/rustlib/` is part of the search path for linkers, but +`lib` will never be part of the search path. + +#### `-Z force-unstable-if-unmarked` + +Since `lib/rustlib/` is part of the search path we have to be careful about +which crates are included in it. In particular, all crates except for the +standard library are built with the flag `-Z force-unstable-if-unmarked`, which +means that you have to use `#![feature(rustc_private)]` in order to load it (as +opposed to the standard library, which is always available). + +The `-Z force-unstable-if-unmarked` flag has a variety of purposes to help +enforce that the correct crates are marked as `unstable`. It was introduced +primarily to allow rustc and the standard library to link to arbitrary crates on +crates.io which do not themselves use `staged_api`. `rustc` also relies on this +flag to mark all of its crates as `unstable` with the `rustc_private` feature so +that each crate does not need to be carefully marked with `unstable`. + +This flag is automatically applied to all of `rustc` and the standard library by +the bootstrap scripts. This is needed because the compiler and all of its +dependencies are shipped in `sysroot` to all users. + +This flag has the following effects: + +- Marks the crate as "`unstable`" with the `rustc_private` feature if it is not + itself marked as `stable` or `unstable`. +- Allows these crates to access other forced-unstable crates without any need + for attributes. Normally a crate would need a `#![feature(rustc_private)]` + attribute to use other `unstable` crates. However, that would make it + impossible for a crate from crates.io to access its own dependencies since + that crate won't have a `feature(rustc_private)` attribute, but *everything* + is compiled with `-Z force-unstable-if-unmarked`. + +Code which does not use `-Z force-unstable-if-unmarked` should include the +`#![feature(rustc_private)]` crate attribute to access these forced-unstable +crates. This is needed for things which link `rustc` its self, such as `MIRI` or +`clippy`. + +You can find more discussion about sysroots in: +- The [rustdoc PR] explaining why it uses `extern crate` for dependencies loaded + from `sysroot` +- [Discussions about sysroot on + Zulip](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/deps.20in.20sysroot/) +- [Discussions about building rustdoc out of + tree](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/How.20to.20create.20an.20executable.20accessing.20.60rustc_private.60.3F) + +[rustdoc PR]: https://github.com/rust-lang/rust/pull/76728 + +## Passing flags to commands invoked by `bootstrap` + +Conveniently `./x` allows you to pass stage-specific flags to `rustc` and +`cargo` when bootstrapping. The `RUSTFLAGS_BOOTSTRAP` environment variable is +passed as `RUSTFLAGS` to the bootstrap stage (`stage0`), and +`RUSTFLAGS_NOT_BOOTSTRAP` is passed when building artifacts for later stages. +`RUSTFLAGS` will work, but also affects the build of `bootstrap` itself, so it +will be rare to want to use it. Finally, `MAGIC_EXTRA_RUSTFLAGS` bypasses the +`cargo` cache to pass flags to rustc without recompiling all dependencies. + +- `RUSTDOCFLAGS`, `RUSTDOCFLAGS_BOOTSTRAP` and `RUSTDOCFLAGS_NOT_BOOTSTRAP` are + analogous to `RUSTFLAGS`, but for `rustdoc`. +- `CARGOFLAGS` will pass arguments to cargo itself (e.g. `--timings`). + `CARGOFLAGS_BOOTSTRAP` and `CARGOFLAGS_NOT_BOOTSTRAP` work analogously to + `RUSTFLAGS_BOOTSTRAP`. +- `--test-args` will pass arguments through to the test runner. For `tests/ui`, + this is `compiletest`. For unit tests and doc tests this is the `libtest` + runner. + +Most test runner accept `--help`, which you can use to find out the options +accepted by the runner. + +## Environment Variables + +During bootstrapping, there are a bunch of compiler-internal environment +variables that are used. If you are trying to run an intermediate version of +`rustc`, sometimes you may need to set some of these environment variables +manually. Otherwise, you get an error like the following: + +```text +thread 'main' panicked at 'RUSTC_STAGE was not set: NotPresent', library/core/src/result.rs:1165:5 +``` + +If `./stageN/bin/rustc` gives an error about environment variables, that usually +means something is quite wrong -- such as you're trying to compile `rustc` or +`std` or something which depends on environment variables. In the unlikely case +that you actually need to invoke `rustc` in such a situation, you can tell the +bootstrap shim to print all `env` variables by adding `-vvv` to your `x` +command. + +Finally, bootstrap makes use of the [cc-rs crate] which has [its own +method][env-vars] of configuring `C` compilers and `C` flags via environment +variables. + +[cc-rs crate]: https://github.com/rust-lang/cc-rs +[env-vars]: https://docs.rs/cc/latest/cc/#external-configuration-via-environment-variables + +## Clarification of build command's `stdout` + +In this part, we will investigate the build command's `stdout` in an action +(similar, but more detailed and complete documentation compare to topic above). +When you execute `x build --dry-run` command, the build output will be something +like the following: + +```text +Building stage0 library artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) +Copying stage0 library from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu) +Building stage0 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) +Copying stage0 rustc from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu) +Assembling stage1 compiler (x86_64-unknown-linux-gnu) +Building stage1 library artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) +Copying stage1 library from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu) +Building stage1 tool rust-analyzer-proc-macro-srv (x86_64-unknown-linux-gnu) +Building rustdoc for stage1 (x86_64-unknown-linux-gnu) +``` + +### Building stage0 {std,compiler} artifacts + +These steps use the provided (downloaded, usually) compiler to compile the local +Rust source into libraries we can use. + +### Copying stage0 \{std,rustc\} + +This copies the library and compiler artifacts from `cargo` into +`stage0-sysroot/lib/rustlib/{target-triple}/lib` + +### Assembling stage1 compiler + +This copies the libraries we built in "building `stage0` ... artifacts" into the +`stage1` compiler's `lib/` directory. These are the host libraries that the +compiler itself uses to run. These aren't actually used by artifacts the new +compiler generates. This step also copies the `rustc` and `rustdoc` binaries we +generated into `build/$HOST/stage/bin`. + +The `stage1/bin/rustc` is a fully functional compiler, but it doesn't yet have +any libraries to link built binaries or libraries to. The next 3 steps will +provide those libraries for it; they are mostly equivalent to constructing the +`stage1/bin` compiler so we don't go through them individually here. diff --git a/src/doc/rustc-dev-guide/src/building/build-install-distribution-artifacts.md b/src/doc/rustc-dev-guide/src/building/build-install-distribution-artifacts.md new file mode 100644 index 000000000000..9e7acda8fa5c --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/build-install-distribution-artifacts.md @@ -0,0 +1,31 @@ +# Build distribution artifacts + +You might want to build and package up the compiler for distribution. +You’ll want to run this command to do it: + +```bash +./x dist +``` + +# Install from source + +You might want to prefer installing Rust (and tools configured in your configuration) +by building from source. If so, you want to run this command: + +```bash +./x install +``` + + Note: If you are testing out a modification to a compiler, you might + want to build the compiler (with `./x build`) then create a toolchain as + discussed in [here][create-rustup-toolchain]. + + For example, if the toolchain you created is called "foo", you would then + invoke it with `rustc +foo ...` (where ... represents the rest of the arguments). + +Instead of installing Rust (and tools in your config file) globally, you can set `DESTDIR` +environment variable to change the installation path. If you want to set installation paths +more dynamically, you should prefer [install options] in your config file to achieve that. + +[create-rustup-toolchain]: ./how-to-build-and-run.md#creating-a-rustup-toolchain +[install options]: https://github.com/rust-lang/rust/blob/f7c8928f035370be33463bb7f1cd1aeca2c5f898/config.example.toml#L422-L442 \ No newline at end of file diff --git a/src/doc/rustc-dev-guide/src/building/compiler-documenting.md b/src/doc/rustc-dev-guide/src/building/compiler-documenting.md new file mode 100644 index 000000000000..948571ce82ee --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/compiler-documenting.md @@ -0,0 +1,51 @@ +# Building documentation + +This chapter describes how to build documentation of toolchain components, +like the standard library (std) or the compiler (rustc). + +- Document everything + + This uses `rustdoc` from the beta toolchain, + so will produce (slightly) different output to stage 1 rustdoc, + as rustdoc is under active development: + + ```bash + ./x doc + ``` + + If you want to be sure the documentation looks the same as on CI: + + ```bash + ./x doc --stage 1 + ``` + + This ensures that (current) rustdoc gets built, + then that is used to document the components. + +- Much like running individual tests or building specific components, + you can build just the documentation you want: + + ```bash + ./x doc src/doc/book + ./x doc src/doc/nomicon + ./x doc compiler library + ``` + + See [the nightly docs index page](https://doc.rust-lang.org/nightly/) for a full list of books. + +- Document internal rustc items + + Compiler documentation is not built by default. + To create it by default with `x doc`, modify `config.toml`: + + ```toml + [build] + compiler-docs = true + ``` + + Note that when enabled, + documentation for internal compiler items will also be built. + + NOTE: The documentation for the compiler is found at [this link]. + +[this link]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ diff --git a/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md b/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md new file mode 100644 index 000000000000..f9a089c23f26 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md @@ -0,0 +1,404 @@ +# How to build and run the compiler + + + +The compiler is built using a tool called `x.py`. You will need to +have Python installed to run it. + +## Quick Start + +For a less in-depth quick-start of getting the compiler running, see [quickstart](./quickstart.md). + + +## Get the source code + +The main repository is [`rust-lang/rust`][repo]. This contains the compiler, +the standard library (including `core`, `alloc`, `test`, `proc_macro`, etc), +and a bunch of tools (e.g. `rustdoc`, the bootstrapping infrastructure, etc). + +[repo]: https://github.com/rust-lang/rust + +The very first step to work on `rustc` is to clone the repository: + +```bash +git clone https://github.com/rust-lang/rust.git +cd rust +``` + +### Partial clone the repository + +Due to the size of the repository, cloning on a slower internet connection can take a long time, +and requires disk space to store the full history of every file and directory. +Instead, it is possible to tell git to perform a _partial clone_, which will only fully retrieve +the current file contents, but will automatically retrieve further file contents when you, e.g., +jump back in the history. +All git commands will continue to work as usual, at the price of requiring an internet connection +to visit not-yet-loaded points in history. + +```bash +git clone --filter='blob:none' https://github.com/rust-lang/rust.git +cd rust +``` + +> **NOTE**: [This link](https://github.blog/open-source/git/get-up-to-speed-with-partial-clone-and-shallow-clone/) +> describes this type of checkout in more detail, and also compares it to other modes, such as +> shallow cloning. + +### Shallow clone the repository + +An older alternative to partial clones is to use shallow clone the repository instead. +To do so, you can use the `--depth N` option with the `git clone` command. +This instructs `git` to perform a "shallow clone", cloning the repository but truncating it to +the last `N` commits. + +Passing `--depth 1` tells `git` to clone the repository but truncate the history to the latest +commit that is on the `master` branch, which is usually fine for browsing the source code or +building the compiler. + +```bash +git clone --depth 1 https://github.com/rust-lang/rust.git +cd rust +``` + +> **NOTE**: A shallow clone limits which `git` commands can be run. +> If you intend to work on and contribute to the compiler, it is +> generally recommended to fully clone the repository [as shown above](#get-the-source-code), +> or to perform a [partial clone](#shallow-clone-the-repository) instead. +> +> For example, `git bisect` and `git blame` require access to the commit history, +> so they don't work if the repository was cloned with `--depth 1`. + +## What is `x.py`? + +`x.py` is the build tool for the `rust` repository. It can build docs, run tests, and compile the +compiler and standard library. + +This chapter focuses on the basics to be productive, but +if you want to learn more about `x.py`, [read this chapter][bootstrap]. + +[bootstrap]: ./bootstrapping/intro.md + +Also, using `x` rather than `x.py` is recommended as: + +> `./x` is the most likely to work on every system (on Unix it runs the shell script +> that does python version detection, on Windows it will probably run the +> powershell script - certainly less likely to break than `./x.py` which often just +> opens the file in an editor).[^1] + +(You can find the platform related scripts around the `x.py`, like `x.ps1`) + +Notice that this is not absolute. For instance, using Nushell in VSCode on Win10, +typing `x` or `./x` still opens `x.py` in an editor rather than invoking the program. :) + +In the rest of this guide, we use `x` rather than `x.py` directly. The following +command: + +```bash +./x check +``` + +could be replaced by: + +```bash +./x.py check +``` + +### Running `x.py` + +The `x.py` command can be run directly on most Unix systems in the following format: + +```sh +./x [flags] +``` + +This is how the documentation and examples assume you are running `x.py`. +Some alternative ways are: + +```sh +# On a Unix shell if you don't have the necessary `python3` command +./x [flags] + +# In Windows Powershell (if powershell is configured to run scripts) +./x [flags] +./x.ps1 [flags] + +# On the Windows Command Prompt (if .py files are configured to run Python) +x.py [flags] + +# You can also run Python yourself, e.g.: +python x.py [flags] +``` + +On Windows, the Powershell commands may give you an error that looks like this: +``` +PS C:\Users\vboxuser\rust> ./x +./x : File C:\Users\vboxuser\rust\x.ps1 cannot be loaded because running scripts is disabled on this system. For more +information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. +At line:1 char:1 ++ ./x ++ ~~~ + + CategoryInfo : SecurityError: (:) [], PSSecurityException + + FullyQualifiedErrorId : UnauthorizedAccess +``` + +You can avoid this error by allowing powershell to run local scripts: +``` +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +``` + +#### Running `x.py` slightly more conveniently + +There is a binary that wraps `x.py` called `x` in `src/tools/x`. All it does is +run `x.py`, but it can be installed system-wide and run from any subdirectory +of a checkout. It also looks up the appropriate version of `python` to use. + +You can install it with `cargo install --path src/tools/x`. + +To clarify that this is another global installed binary util, which is +similar to the one declared in section [What is `x.py`](#what-is-xpy), but +it works as an independent process to execute the `x.py` rather than calling the +shell to run the platform related scripts. + +## Create a `config.toml` + +To start, run `./x setup` and select the `compiler` defaults. This will do some initialization +and create a `config.toml` for you with reasonable defaults. If you use a different default (which +you'll likely want to do if you want to contribute to an area of rust other than the compiler, such +as rustdoc), make sure to read information about that default (located in `src/bootstrap/defaults`) +as the build process may be different for other defaults. + +Alternatively, you can write `config.toml` by hand. See `config.example.toml` for all the available +settings and explanations of them. See `src/bootstrap/defaults` for common settings to change. + +If you have already built `rustc` and you change settings related to LLVM, then you may have to +execute `rm -rf build` for subsequent configuration changes to take effect. Note that `./x +clean` will not cause a rebuild of LLVM. + +## Common `x` commands + +Here are the basic invocations of the `x` commands most commonly used when +working on `rustc`, `std`, `rustdoc`, and other tools. + +| Command | When to use it | +| ----------- | ------------------------------------------------------------------------------------------------------------ | +| `./x check` | Quick check to see if most things compile; [rust-analyzer can run this automatically for you][rust-analyzer] | +| `./x build` | Builds `rustc`, `std`, and `rustdoc` | +| `./x test` | Runs all tests | +| `./x fmt` | Formats all code | + +As written, these commands are reasonable starting points. However, there are +additional options and arguments for each of them that are worth learning for +serious development work. In particular, `./x build` and `./x test` +provide many ways to compile or test a subset of the code, which can save a lot +of time. + +Also, note that `x` supports all kinds of path suffixes for `compiler`, `library`, +and `src/tools` directories. So, you can simply run `x test tidy` instead of +`x test src/tools/tidy`. Or, `x build std` instead of `x build library/std`. + +[rust-analyzer]: suggested.html#configuring-rust-analyzer-for-rustc + +See the chapters on +[testing](../tests/running.md) and [rustdoc](../rustdoc.md) for more details. + +### Building the compiler + +Note that building will require a relatively large amount of storage space. +You may want to have upwards of 10 or 15 gigabytes available to build the compiler. + +Once you've created a `config.toml`, you are now ready to run +`x`. There are a lot of options here, but let's start with what is +probably the best "go to" command for building a local compiler: + +```bash +./x build library +``` + +This may *look* like it only builds the standard library, but that is not the case. +What this command does is the following: + +- Build `std` using the stage0 compiler +- Build `rustc` using the stage0 compiler + - This produces the stage1 compiler +- Build `std` using the stage1 compiler + +This final product (stage1 compiler + libs built using that compiler) +is what you need to build other Rust programs (unless you use `#![no_std]` or +`#![no_core]`). + +You will probably find that building the stage1 `std` is a bottleneck for you, +but fear not, there is a (hacky) workaround... +see [the section on avoiding rebuilds for std][keep-stage]. + +[keep-stage]: ./suggested.md#faster-builds-with---keep-stage + +Sometimes you don't need a full build. When doing some kind of +"type-based refactoring", like renaming a method, or changing the +signature of some function, you can use `./x check` instead for a much faster build. + +Note that this whole command just gives you a subset of the full `rustc` +build. The **full** `rustc` build (what you get with `./x build +--stage 2 compiler/rustc`) has quite a few more steps: + +- Build `rustc` with the stage1 compiler. + - The resulting compiler here is called the "stage2" compiler. +- Build `std` with stage2 compiler. +- Build `librustdoc` and a bunch of other things with the stage2 compiler. + +You almost never need to do this. + +### Build specific components + +If you are working on the standard library, you probably don't need to build +the compiler unless you are planning to use a recently added nightly feature. +Instead, you can just build using the bootstrap compiler. + +```bash +./x build --stage 0 library +``` + +If you choose the `library` profile when running `x setup`, you can omit `--stage 0` (it's the +default). + +## Creating a rustup toolchain + +Once you have successfully built `rustc`, you will have created a bunch +of files in your `build` directory. In order to actually run the +resulting `rustc`, we recommend creating rustup toolchains. The first +one will run the stage1 compiler (which we built above). The second +will execute the stage2 compiler (which we did not build, but which +you will likely need to build at some point; for example, if you want +to run the entire test suite). + +```bash +rustup toolchain link stage0 build/host/stage0-sysroot # beta compiler + stage0 std +rustup toolchain link stage1 build/host/stage1 +rustup toolchain link stage2 build/host/stage2 +``` + +Now you can run the `rustc` you built with. If you run with `-vV`, you +should see a version number ending in `-dev`, indicating a build from +your local environment: + +```bash +$ rustc +stage1 -vV +rustc 1.48.0-dev +binary: rustc +commit-hash: unknown +commit-date: unknown +host: x86_64-unknown-linux-gnu +release: 1.48.0-dev +LLVM version: 11.0 +``` + +The rustup toolchain points to the specified toolchain compiled in your `build` directory, +so the rustup toolchain will be updated whenever `x build` or `x test` are run for +that toolchain/stage. + +**Note:** the toolchain we've built does not include `cargo`. In this case, `rustup` will +fall back to using `cargo` from the installed `nightly`, `beta`, or `stable` toolchain +(in that order). If you need to use unstable `cargo` flags, be sure to run +`rustup install nightly` if you haven't already. See the +[rustup documentation on custom toolchains](https://rust-lang.github.io/rustup/concepts/toolchains.html#custom-toolchains). + +**Note:** rust-analyzer and IntelliJ Rust plugin use a component called +`rust-analyzer-proc-macro-srv` to work with proc macros. If you intend to use a +custom toolchain for a project (e.g. via `rustup override set stage1`) you may +want to build this component: + +```bash +./x build proc-macro-srv-cli +``` + +## Building targets for cross-compilation + +To produce a compiler that can cross-compile for other targets, +pass any number of `target` flags to `x build`. +For example, if your host platform is `x86_64-unknown-linux-gnu` +and your cross-compilation target is `wasm32-wasip1`, you can build with: + +```bash +./x build --target x86_64-unknown-linux-gnu,wasm32-wasip1 +``` + +Note that if you want the resulting compiler to be able to build crates that +involve proc macros or build scripts, you must be sure to explicitly build target support for the +host platform (in this case, `x86_64-unknown-linux-gnu`). + +If you want to always build for other targets without needing to pass flags to `x build`, +you can configure this in the `[build]` section of your `config.toml` like so: + +```toml +[build] +target = ["x86_64-unknown-linux-gnu", "wasm32-wasip1"] +``` + +Note that building for some targets requires having external dependencies installed +(e.g. building musl targets requires a local copy of musl). +Any target-specific configuration (e.g. the path to a local copy of musl) +will need to be provided by your `config.toml`. +Please see `config.example.toml` for information on target-specific configuration keys. + +For examples of the complete configuration necessary to build a target, please visit +[the rustc book](https://doc.rust-lang.org/rustc/platform-support.html), +select any target under the "Platform Support" heading on the left, +and see the section related to building a compiler for that target. +For targets without a corresponding page in the rustc book, +it may be useful to [inspect the Dockerfiles](../tests/docker.md) +that the Rust infrastructure itself uses to set up and configure cross-compilation. + +If you have followed the directions from the prior section on creating a rustup toolchain, +then once you have built your compiler you will be able to use it to cross-compile like so: + +```bash +cargo +stage1 build --target wasm32-wasip1 +``` + +## Other `x` commands + +Here are a few other useful `x` commands. We'll cover some of them in detail +in other sections: + +- Building things: + - `./x build` – builds everything using the stage 1 compiler, + not just up to `std` + - `./x build --stage 2` – builds everything with the stage 2 compiler including + `rustdoc` +- Running tests (see the [section on running tests](../tests/running.html) for + more details): + - `./x test library/std` – runs the unit tests and integration tests from `std` + - `./x test tests/ui` – runs the `ui` test suite + - `./x test tests/ui/const-generics` - runs all the tests in + the `const-generics/` subdirectory of the `ui` test suite + - `./x test tests/ui/const-generics/const-types.rs` - runs + the single test `const-types.rs` from the `ui` test suite + +### Cleaning out build directories + +Sometimes you need to start fresh, but this is normally not the case. +If you need to run this then bootstrap is most likely not acting right and +you should file a bug as to what is going wrong. If you do need to clean +everything up then you only need to run one command! + +```bash +./x clean +``` + +`rm -rf build` works too, but then you have to rebuild LLVM, which can take +a long time even on fast computers. + +## Remarks on disk space + +Building the compiler (especially if beyond stage 1) can require significant amounts of free disk +space, possibly around 100GB. This is compounded if you have a separate build directory for +rust-analyzer (e.g. `build-rust-analyzer`). This is easy to hit with dev-desktops which have a [set +disk +quota](https://github.com/rust-lang/simpleinfra/blob/8a59e4faeb75a09b072671c74a7cb70160ebef50/ansible/roles/dev-desktop/defaults/main.yml#L7) +for each user, but this also applies to local development as well. Occasionally, you may need to: + +- Remove `build/` directory. +- Remove `build-rust-analyzer/` directory (if you have a separate rust-analyzer build directory). +- Uninstall unnecessary toolchains if you use `cargo-bisect-rustc`. You can check which toolchains + are installed with `rustup toolchain list`. + +[^1]: issue[#1707](https://github.com/rust-lang/rustc-dev-guide/issues/1707) diff --git a/src/doc/rustc-dev-guide/src/building/new-target.md b/src/doc/rustc-dev-guide/src/building/new-target.md new file mode 100644 index 000000000000..1d9fa1b52d59 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/new-target.md @@ -0,0 +1,179 @@ +# Adding a new target + +These are a set of steps to add support for a new target. There are +numerous end states and paths to get there, so not all sections may be +relevant to your desired goal. + + + +## Specifying a new LLVM + +For very new targets, you may need to use a different fork of LLVM +than what is currently shipped with Rust. In that case, navigate to +the `src/llvm-project` git submodule (you might need to run `./x +check` at least once so the submodule is updated), check out the +appropriate commit for your fork, then commit that new submodule +reference in the main Rust repository. + +An example would be: + +``` +cd src/llvm-project +git remote add my-target-llvm some-llvm-repository +git checkout my-target-llvm/my-branch +cd .. +git add llvm-project +git commit -m 'Use my custom LLVM' +``` + +### Using pre-built LLVM + +If you have a local LLVM checkout that is already built, you may be +able to configure Rust to treat your build as the system LLVM to avoid +redundant builds. + +You can tell Rust to use a pre-built version of LLVM using the `target` section +of `config.toml`: + +```toml +[target.x86_64-unknown-linux-gnu] +llvm-config = "/path/to/llvm/llvm-7.0.1/bin/llvm-config" +``` + +If you are attempting to use a system LLVM, we have observed the following paths +before, though they may be different from your system: + +- `/usr/bin/llvm-config-8` +- `/usr/lib/llvm-8/bin/llvm-config` + +Note that you need to have the LLVM `FileCheck` tool installed, which is used +for codegen tests. This tool is normally built with LLVM, but if you use your +own preinstalled LLVM, you will need to provide `FileCheck` in some other way. +On Debian-based systems, you can install the `llvm-N-tools` package (where `N` +is the LLVM version number, e.g. `llvm-8-tools`). Alternately, you can specify +the path to `FileCheck` with the `llvm-filecheck` config item in `config.toml` +or you can disable codegen test with the `codegen-tests` item in `config.toml`. + +## Creating a target specification + +You should start with a target JSON file. You can see the specification +for an existing target using `--print target-spec-json`: + +``` +rustc -Z unstable-options --target=wasm32-unknown-unknown --print target-spec-json +``` + +Save that JSON to a file and modify it as appropriate for your target. + +### Adding a target specification + +Once you have filled out a JSON specification and been able to compile +somewhat successfully, you can copy the specification into the +compiler itself. + +You will need to add a line to the big table inside of the +`supported_targets` macro in the `rustc_target::spec` module. You +will then add a corresponding file for your new target containing a +`target` function. + +Look for existing targets to use as examples. + +After adding your target to the `rustc_target` crate you may want to add +`core`, `std`, ... with support for your new target. In that case you will +probably need access to some `target_*` cfg. Unfortunately when building with +stage0 (the beta compiler), you'll get an error that the target cfg is +unexpected because stage0 doesn't know about the new target specification and +we pass `--check-cfg` in order to tell it to check. + +To fix the errors you will need to manually add the unexpected value to the +different `Cargo.toml` in `library/{std,alloc,core}/Cargo.toml`. Here is an +example for adding `NEW_TARGET_ARCH` as `target_arch`: + +*`library/std/Cargo.toml`*: +```diff + [lints.rust.unexpected_cfgs] + level = "warn" + check-cfg = [ + 'cfg(bootstrap)', +- 'cfg(target_arch, values("xtensa"))', ++ # #[cfg(bootstrap)] NEW_TARGET_ARCH ++ 'cfg(target_arch, values("xtensa", "NEW_TARGET_ARCH"))', +``` + +To use this target in bootstrap, we need to explicitly add the target triple to the `STAGE0_MISSING_TARGETS` +list in `src/bootstrap/src/core/sanity.rs`. This is necessary because the default compiler bootstrap uses does +not recognize the new target we just added. Therefore, it should be added to `STAGE0_MISSING_TARGETS` so that the +bootstrap is aware that this target is not yet supported by the stage0 compiler. + +```diff +const STAGE0_MISSING_TARGETS: &[&str] = &[ ++ "NEW_TARGET_TRIPLE" +]; +``` + +## Patching crates + +You may need to make changes to crates that the compiler depends on, +such as [`libc`][] or [`cc`][]. If so, you can use Cargo's +[`[patch]`][patch] ability. For example, if you want to use an +unreleased version of `libc`, you can add it to the top-level +`Cargo.toml` file: + +```diff +diff --git a/Cargo.toml b/Cargo.toml +index 1e83f05e0ca..4d0172071c1 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -113,6 +113,8 @@ cargo-util = { path = "src/tools/cargo/crates/cargo-util" } + [patch.crates-io] ++libc = { git = "https://github.com/rust-lang/libc", rev = "0bf7ce340699dcbacabdf5f16a242d2219a49ee0" } + + # See comments in `src/tools/rustc-workspace-hack/README.md` for what's going on + # here + rustc-workspace-hack = { path = 'src/tools/rustc-workspace-hack' } +``` + +After this, run `cargo update -p libc` to update the lockfiles. + +Beware that if you patch to a local `path` dependency, this will enable +warnings for that dependency. Some dependencies are not warning-free, and due +to the `deny-warnings` setting in `config.toml`, the build may suddenly start +to fail. +To work around warnings, you may want to: +- Modify the dependency to remove the warnings +- Or for local development purposes, suppress the warnings by setting deny-warnings = false in config.toml. + +```toml +# config.toml +[rust] +deny-warnings = false +``` + +[`libc`]: https://crates.io/crates/libc +[`cc`]: https://crates.io/crates/cc +[patch]: https://doc.rust-lang.org/stable/cargo/reference/overriding-dependencies.html#the-patch-section + +## Cross-compiling + +Once you have a target specification in JSON and in the code, you can +cross-compile `rustc`: + +``` +DESTDIR=/path/to/install/in \ +./x install -i --stage 1 --host aarch64-apple-darwin.json --target aarch64-apple-darwin \ +compiler/rustc library/std +``` + +If your target specification is already available in the bootstrap +compiler, you can use it instead of the JSON file for both arguments. + +## Promoting a target from tier 2 (target) to tier 2 (host) + +There are two levels of tier 2 targets: + a) Targets that are only cross-compiled (`rustup target add`) + b) Targets that [have a native toolchain][tier2-native] (`rustup toolchain install`) + +[tier2-native]: https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html#tier-2-with-host-tools + +For an example of promoting a target from cross-compiled to native, +see [#75914](https://github.com/rust-lang/rust/pull/75914). diff --git a/src/doc/rustc-dev-guide/src/building/optimized-build.md b/src/doc/rustc-dev-guide/src/building/optimized-build.md new file mode 100644 index 000000000000..3080dc6bf5d3 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/optimized-build.md @@ -0,0 +1,129 @@ +# Optimized build of the compiler + + + +There are multiple additional build configuration options and techniques that can be used to compile a +build of `rustc` that is as optimized as possible (for example when building `rustc` for a Linux +distribution). The status of these configuration options for various Rust targets is tracked [here]. +This page describes how you can use these approaches when building `rustc` yourself. + +[here]: https://github.com/rust-lang/rust/issues/103595 + +## Link-time optimization + +Link-time optimization is a powerful compiler technique that can increase program performance. To +enable (Thin-)LTO when building `rustc`, set the `rust.lto` config option to `"thin"` +in `config.toml`: + +```toml +[rust] +lto = "thin" +``` + +> Note that LTO for `rustc` is currently supported and tested only for +> the `x86_64-unknown-linux-gnu` target. Other targets *may* work, but no guarantees are provided. +> Notably, LTO-optimized `rustc` currently produces [miscompilations] on Windows. + +[miscompilations]: https://github.com/rust-lang/rust/issues/109114 + +Enabling LTO on Linux has [produced] speed-ups by up to 10%. + +[produced]: https://github.com/rust-lang/rust/pull/101403#issuecomment-1288190019 + +## Memory allocator + +Using a different memory allocator for `rustc` can provide significant performance benefits. If you +want to enable the `jemalloc` allocator, you can set the `rust.jemalloc` option to `true` +in `config.toml`: + +```toml +[rust] +jemalloc = true +``` + +> Note that this option is currently only supported for Linux and macOS targets. + +## Codegen units + +Reducing the amount of codegen units per `rustc` crate can produce a faster build of the compiler. +You can modify the number of codegen units for `rustc` and `libstd` in `config.toml` with the +following options: + +```toml +[rust] +codegen-units = 1 +codegen-units-std = 1 +``` + +## Instruction set + +By default, `rustc` is compiled for a generic (and conservative) instruction set architecture +(depending on the selected target), to make it support as many CPUs as possible. If you want to +compile `rustc` for a specific instruction set architecture, you can set the `target_cpu` compiler +option in `RUSTFLAGS`: + +```bash +RUSTFLAGS="-C target_cpu=x86-64-v3" ./x build ... +``` + +If you also want to compile LLVM for a specific instruction set, you can set `llvm` flags +in `config.toml`: + +```toml +[llvm] +cxxflags = "-march=x86-64-v3" +cflags = "-march=x86-64-v3" +``` + +## Profile-guided optimization + +Applying profile-guided optimizations (or more generally, feedback-directed optimizations) can +produce a large increase to `rustc` performance, by up to 15% ([1], [2]). However, these techniques +are not simply enabled by a configuration option, but rather they require a complex build workflow +that compiles `rustc` multiple times and profiles it on selected benchmarks. + +There is a tool called `opt-dist` that is used to optimize `rustc` with [PGO] (profile-guided +optimizations) and [BOLT] (a post-link binary optimizer) for builds distributed to end users. You +can examine the tool, which is located in `src/tools/opt-dist`, and build a custom PGO build +workflow based on it, or try to use it directly. Note that the tool is currently quite hardcoded to +the way we use it in Rust's continuous integration workflows, and it might require some custom +changes to make it work in a different environment. + +[1]: https://blog.rust-lang.org/inside-rust/2020/11/11/exploring-pgo-for-the-rust-compiler.html#final-numbers-and-a-benchmarking-plot-twist +[2]: https://github.com/rust-lang/rust/pull/96978 + +[PGO]: https://doc.rust-lang.org/rustc/profile-guided-optimization.html + +[BOLT]: https://github.com/llvm/llvm-project/blob/main/bolt/README.md + +To use the tool, you will need to provide some external dependencies: + +- A Python3 interpreter (for executing `x.py`). +- Compiled LLVM toolchain, with the `llvm-profdata` binary. Optionally, if you want to use BOLT, + the `llvm-bolt` and + `merge-fdata` binaries have to be available in the toolchain. + +These dependencies are provided to `opt-dist` by an implementation of the [`Environment`] struct. +It specifies directories where will the PGO/BOLT pipeline take place, and also external dependencies +like Python or LLVM. + +Here is an example of how can `opt-dist` be used locally (outside of CI): + +1. Build the tool with the following command: + ```bash + ./x build tools/opt-dist + ``` +2. Run the tool with the `local` mode and provide necessary parameters: + ```bash + ./build/host/stage0-tools-bin/opt-dist local \ + --target-triple \ # select target, e.g. "x86_64-unknown-linux-gnu" + --checkout-dir \ # path to rust checkout, e.g. "." + --llvm-dir \ # path to built LLVM toolchain, e.g. "/foo/bar/llvm/install" + -- python3 x.py dist # pass the actual build command + ``` + You can run `--help` to see further parameters that you can modify. + +[`Environment`]: https://github.com/rust-lang/rust/blob/ee451f8faccf3050c76cdcd82543c917b40c7962/src/tools/opt-dist/src/environment.rs#L5 + +> Note: if you want to run the actual CI pipeline, instead of running `opt-dist` locally, +> you can execute `DEPLOY=1 src/ci/docker/run.sh dist-x86_64-linux`. diff --git a/src/doc/rustc-dev-guide/src/building/prerequisites.md b/src/doc/rustc-dev-guide/src/building/prerequisites.md new file mode 100644 index 000000000000..f49f6bb05278 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/prerequisites.md @@ -0,0 +1,41 @@ +# Prerequisites + +## Dependencies + +See [the `rust-lang/rust` INSTALL](https://github.com/rust-lang/rust/blob/master/INSTALL.md#dependencies). + +## Hardware + +You will need an internet connection to build. The bootstrapping process +involves updating git submodules and downloading a beta compiler. It doesn't +need to be super fast, but that can help. + +There are no strict hardware requirements, but building the compiler is +computationally expensive, so a beefier machine will help, and I wouldn't +recommend trying to build on a Raspberry Pi! We recommend the following. +* 30GB+ of free disk space. Otherwise, you will have to keep + clearing incremental caches. More space is better, the compiler is a bit of a + hog; it's a problem we are aware of. +* 8GB+ RAM +* 2+ cores. Having more cores really helps. 10 or 20 or more is not too many! + +Beefier machines will lead to much faster builds. If your machine is not very +powerful, a common strategy is to only use `./x check` on your local machine +and let the CI build test your changes when you push to a PR branch. + +Building the compiler takes more than half an hour on my moderately powerful +laptop. We suggest downloading LLVM from CI so you don't have to build it from source +([see here][config]). + +Like `cargo`, the build system will use as many cores as possible. Sometimes +this can cause you to run low on memory. You can use `-j` to adjust the number +of concurrent jobs. If a full build takes more than ~45 minutes to an hour, you +are probably spending most of the time swapping memory in and out; try using +`-j1`. + +If you don't have too much free disk space, you may want to turn off +incremental compilation ([see here][config]). This will make compilation take +longer (especially after a rebase), but will save a ton of space from the +incremental caches. + +[config]: ./how-to-build-and-run.md#create-a-configtoml diff --git a/src/doc/rustc-dev-guide/src/building/quickstart.md b/src/doc/rustc-dev-guide/src/building/quickstart.md new file mode 100644 index 000000000000..9a8ab353e029 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/quickstart.md @@ -0,0 +1,74 @@ +# Quickstart + +This is a quickstart guide about getting the compiler running. For more +information on the individual steps, see the other pages in this chapter. + +First, clone the repository: + +```sh +git clone https://github.com/rust-lang/rust.git +cd rust +``` + +When building the compiler, we don't use `cargo` directly, instead we use a +wrapper called "x". It is invoked with `./x`. + +We need to create a configuration for the build. Use `./x setup` to create a +good default. + +```sh +./x setup +``` + +Then, we can build the compiler. Use `./x build` to build the compiler, standard +library and a few tools. You can also `./x check` to just check it. All these +commands can take specific components/paths as arguments, for example `./x check +compiler` to just check the compiler. + +```sh +./x build +``` + +> When doing a change to the compiler that does not affect the way it compiles +the standard library (so for example, a change to an error message), use +`--keep-stage-std 1` to avoid recompiling it. + +After building the compiler and standard library, you now have a working +compiler toolchain. You can use it with rustup by linking it. + +```sh +rustup toolchain link stage1 build/host/stage1 +``` + +Now you have a toolchain called `stage1` linked to your build. You can use it to +test the compiler. + +```sh +rustc +stage1 testfile.rs +``` + +After doing a change, you can run the compiler test suite with `./x test`. + +`./x test` runs the full test suite, which is slow and rarely what you want. +Usually, `./x test tests/ui` is what you want after a compiler change, testing +all [UI tests](../tests/ui.md) that invoke the compiler on a specific test file +and check the output. + +```sh +./x test tests/ui +``` + +Use `--bless` if you've made a change and want to update the `.stderr` files +with the new output. + +> `./x suggest` can also be helpful for suggesting which tests to run after a +> change. + +Congrats, you are now ready to make a change to the compiler! If you have more +questions, [the full chapter](./how-to-build-and-run.md) might contain the +answers, and if it doesn't, feel free to ask for help on +[Zulip](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp). + +If you use VSCode, Vim, Emacs or Helix, `./x setup` will ask you if you want to +set up the editor config. For more information, check out [suggested +workflows](./suggested.md). diff --git a/src/doc/rustc-dev-guide/src/building/suggested.md b/src/doc/rustc-dev-guide/src/building/suggested.md new file mode 100644 index 000000000000..bf5ffbc00afd --- /dev/null +++ b/src/doc/rustc-dev-guide/src/building/suggested.md @@ -0,0 +1,391 @@ +# Suggested Workflows + +The full bootstrapping process takes quite a while. Here are some suggestions to +make your life easier. + + + +## Installing a pre-push hook + +CI will automatically fail your build if it doesn't pass `tidy`, our internal +tool for ensuring code quality. If you'd like, you can install a [Git +hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) that will +automatically run `./x test tidy` on each push, to ensure your code is up to +par. If the hook fails then run `./x test tidy --bless` and commit the changes. +If you decide later that the pre-push behavior is undesirable, you can delete +the `pre-push` file in `.git/hooks`. + +A prebuilt git hook lives at [`src/etc/pre-push.sh`]. It can be copied into +your `.git/hooks` folder as `pre-push` (without the `.sh` extension!). + +You can also install the hook as a step of running `./x setup`! + +## Configuring `rust-analyzer` for `rustc` + +### Project-local rust-analyzer setup + +`rust-analyzer` can help you check and format your code whenever you save a +file. By default, `rust-analyzer` runs the `cargo check` and `rustfmt` commands, +but you can override these commands to use more adapted versions of these tools +when hacking on `rustc`. With custom setup, `rust-analyzer` can use `./x check` +to check the sources, and the stage 0 rustfmt to format them. + +The default `rust-analyzer.check.overrideCommand` command line will check all +the crates and tools in the repository. If you are working on a specific part, +you can override the command to only check the part you are working on to save +checking time. For example, if you are working on the compiler, you can override +the command to `x check compiler --json-output` to only check the compiler part. +You can run `x check --help --verbose` to see the available parts. + +Running `./x setup editor` will prompt you to create a project-local LSP config +file for one of the supported editors. You can also create the config file as a +step of running `./x setup`. + +### Using a separate build directory for rust-analyzer + +By default, when rust-analyzer runs a check or format command, it will share +the same build directory as manual command-line builds. This can be inconvenient +for two reasons: +- Each build will lock the build directory and force the other to wait, so it + becomes impossible to run command-line builds while rust-analyzer is running + commands in the background. +- There is an increased risk of one of the builds deleting previously-built + artifacts due to conflicting compiler flags or other settings, forcing + additional rebuilds in some cases. + +To avoid these problems: +- Add `--build-dir=build-rust-analyzer` to all of the custom `x` commands in + your editor's rust-analyzer configuration. + (Feel free to choose a different directory name if desired.) +- Modify the `rust-analyzer.rustfmt.overrideCommand` setting so that it points + to the copy of `rustfmt` in that other build directory. +- Modify the `rust-analyzer.procMacro.server` setting so that it points to the + copy of `rust-analyzer-proc-macro-srv` in that other build directory. + +Using separate build directories for command-line builds and rust-analyzer +requires extra disk space, and also means that running `./x clean` on the +command-line will not clean out the separate build directory. To clean the +separate build directory, run `./x clean --build-dir=build-rust-analyzer` +instead. + +### Visual Studio Code + +Selecting `vscode` in `./x setup editor` will prompt you to create a +`.vscode/settings.json` file which will configure Visual Studio code. The +recommended `rust-analyzer` settings live at +[`src/etc/rust_analyzer_settings.json`]. + +If running `./x check` on save is inconvenient, in VS Code you can use a [Build +Task] instead: + +```JSON +// .vscode/tasks.json +{ + "version": "2.0.0", + "tasks": [ + { + "label": "./x check", + "command": "./x check", + "type": "shell", + "problemMatcher": "$rustc", + "presentation": { "clear": true }, + "group": { "kind": "build", "isDefault": true } + } + ] +} +``` + +[Build Task]: https://code.visualstudio.com/docs/editor/tasks + + +### Neovim + +For Neovim users there are several options for configuring for rustc. The +easiest way is by using [neoconf.nvim](https://github.com/folke/neoconf.nvim/), +which allows for project-local configuration files with the native LSP. The +steps for how to use it are below. Note that they require rust-analyzer to +already be configured with Neovim. Steps for this can be [found +here](https://rust-analyzer.github.io/manual.html#nvim-lsp). + +1. First install the plugin. This can be done by following the steps in the + README. +2. Run `./x setup editor`, and select `vscode` to create a + `.vscode/settings.json` file. `neoconf` is able to read and update + rust-analyzer settings automatically when the project is opened when this + file is detected. + +If you're using `coc.nvim`, you can run `./x setup editor` and select `vim` to +create a `.vim/coc-settings.json`. The settings can be edited with +`:CocLocalConfig`. The recommended settings live at +[`src/etc/rust_analyzer_settings.json`]. + +Another way is without a plugin, and creating your own logic in your +configuration. To do this you must translate the JSON to Lua yourself. The +translation is 1:1 and fairly straight-forward. It must be put in the +`["rust-analyzer"]` key of the setup table, which is [shown +here](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer). + +If you would like to use the build task that is described above, you may either +make your own command in your config, or you can install a plugin such as +[overseer.nvim](https://github.com/stevearc/overseer.nvim) that can [read +VSCode's `task.json` +files](https://github.com/stevearc/overseer.nvim/blob/master/doc/guides.md#vs-code-tasks), +and follow the same instructions as above. + +### Emacs + +Emacs provides support for rust-analyzer with project-local configuration +through [Eglot](https://www.gnu.org/software/emacs/manual/html_node/eglot/). +Steps for setting up Eglot with rust-analyzer can be [found +here](https://rust-analyzer.github.io/manual.html#eglot). +Having set up Emacs & Eglot for Rust development in general, you can run +`./x setup editor` and select `emacs`, which will prompt you to create +`.dir-locals.el` with the recommended configuration for Eglot. +The recommended settings live at [`src/etc/rust_analyzer_eglot.el`]. +For more information on project-specific Eglot configuration, consult [the +manual](https://www.gnu.org/software/emacs/manual/html_node/eglot/Project_002dspecific-configuration.html). + +### Helix + +Helix comes with built-in LSP and rust-analyzer support. +It can be configured through `languages.toml`, as described +[here](https://docs.helix-editor.com/languages.html). +You can run `./x setup editor` and select `helix`, which will prompt you to +create `languages.toml` with the recommended configuration for Helix. The +recommended settings live at [`src/etc/rust_analyzer_helix.toml`]. + +## Check, check, and check again + +When doing simple refactoring, it can be useful to run `./x check` +continuously. If you set up `rust-analyzer` as described above, this will be +done for you every time you save a file. Here you are just checking that the +compiler can **build**, but often that is all you need (e.g., when renaming a +method). You can then run `./x build` when you actually need to run tests. + +In fact, it is sometimes useful to put off tests even when you are not 100% sure +the code will work. You can then keep building up refactoring commits and only +run the tests at some later time. You can then use `git bisect` to track down +**precisely** which commit caused the problem. A nice side-effect of this style +is that you are left with a fairly fine-grained set of commits at the end, all +of which build and pass tests. This often helps reviewing. + +## `x suggest` + +The `x suggest` subcommand suggests (and runs) a subset of the extensive +`rust-lang/rust` tests based on files you have changed. This is especially +useful for new contributors who have not mastered the arcane `x` flags yet and +more experienced contributors as a shorthand for reducing mental effort. In all +cases it is useful not to run the full tests (which can take on the order of +tens of minutes) and just run a subset which are relevant to your changes. For +example, running `tidy` and `linkchecker` is useful when editing Markdown files, +whereas UI tests are much less likely to be helpful. While `x suggest` is a +useful tool, it does not guarantee perfect coverage (just as PR CI isn't a +substitute for bors). See the [dedicated chapter](../tests/suggest-tests.md) for +more information and contribution instructions. + +Please note that `x suggest` is in a beta state currently and the tests that it +will suggest are limited. + +## Configuring `rustup` to use nightly + +Some parts of the bootstrap process uses pinned, nightly versions of tools like +rustfmt. To make things like `cargo fmt` work correctly in your repo, run + +```console +cd +rustup override set nightly +``` + +after [installing a nightly toolchain] with `rustup`. Don't forget to do this +for all directories you have [setup a worktree for]. You may need to use the +pinned nightly version from `src/stage0`, but often the normal `nightly` channel +will work. + +**Note** see [the section on vscode] for how to configure it with this real +rustfmt `x` uses, and [the section on rustup] for how to setup `rustup` +toolchain for your bootstrapped compiler + +**Note** This does _not_ allow you to build `rustc` with cargo directly. You +still have to use `x` to work on the compiler or standard library, this just +lets you use `cargo fmt`. + +[installing a nightly toolchain]: https://rust-lang.github.io/rustup/concepts/channels.html?highlight=nightl#working-with-nightly-rust +[setup a worktree for]: ./suggested.md#working-on-multiple-branches-at-the-same-time +[the section on vscode]: suggested.md#configuring-rust-analyzer-for-rustc +[the section on rustup]: how-to-build-and-run.md?highlight=rustup#creating-a-rustup-toolchain + +## Faster builds with `--keep-stage`. + +Sometimes just checking whether the compiler builds is not enough. A common +example is that you need to add a `debug!` statement to inspect the value of +some state or better understand the problem. In that case, you don't really need +a full build. By bypassing bootstrap's cache invalidation, you can often get +these builds to complete very fast (e.g., around 30 seconds). The only catch is +this requires a bit of fudging and may produce compilers that don't work (but +that is easily detected and fixed). + +The sequence of commands you want is as follows: + +- Initial build: `./x build library` + - As [documented previously], this will build a functional stage1 compiler as + part of running all stage0 commands (which include building a `std` + compatible with the stage1 compiler) as well as the first few steps of the + "stage 1 actions" up to "stage1 (sysroot stage1) builds std". +- Subsequent builds: `./x build library --keep-stage 1` + - Note that we added the `--keep-stage 1` flag here + +[documented previously]: ./how-to-build-and-run.md#building-the-compiler + +As mentioned, the effect of `--keep-stage 1` is that we just _assume_ that the +old standard library can be re-used. If you are editing the compiler, this is +almost always true: you haven't changed the standard library, after all. But +sometimes, it's not true: for example, if you are editing the "metadata" part of +the compiler, which controls how the compiler encodes types and other states +into the `rlib` files, or if you are editing things that wind up in the metadata +(such as the definition of the MIR). + +**The TL;DR is that you might get weird behavior from a compile when using +`--keep-stage 1`** -- for example, strange [ICEs](../appendix/glossary.html#ice) +or other panics. In that case, you should simply remove the `--keep-stage 1` +from the command and rebuild. That ought to fix the problem. + +You can also use `--keep-stage 1` when running tests. Something like this: + +- Initial test run: `./x test tests/ui` +- Subsequent test run: `./x test tests/ui --keep-stage 1` + +### Iterating the standard library with `--keep-stage` + +If you are making changes to the standard library, you can use `./x build +--keep-stage 0 library` to iteratively rebuild the standard library without +rebuilding the compiler. + +## Using incremental compilation + +You can further enable the `--incremental` flag to save additional time in +subsequent rebuilds: + +```bash +./x test tests/ui --incremental --test-args issue-1234 +``` + +If you don't want to include the flag with every command, you can enable it in +the `config.toml`: + +```toml +[rust] +incremental = true +``` + +Note that incremental compilation will use more disk space than usual. If disk +space is a concern for you, you might want to check the size of the `build` +directory from time to time. + +## Fine-tuning optimizations + +Setting `optimize = false` makes the compiler too slow for tests. However, to +improve the test cycle, you can disable optimizations selectively only for the +crates you'll have to rebuild +([source](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/incremental.20compilation.20question/near/202712165)). +For example, when working on `rustc_mir_build`, the `rustc_mir_build` and +`rustc_driver` crates take the most time to incrementally rebuild. You could +therefore set the following in the root `Cargo.toml`: + +```toml +[profile.release.package.rustc_mir_build] +opt-level = 0 +[profile.release.package.rustc_driver] +opt-level = 0 +``` + +## Working on multiple branches at the same time + +Working on multiple branches in parallel can be a little annoying, since +building the compiler on one branch will cause the old build and the incremental +compilation cache to be overwritten. One solution would be to have multiple +clones of the repository, but that would mean storing the Git metadata multiple +times, and having to update each clone individually. + +Fortunately, Git has a better solution called [worktrees]. This lets you create +multiple "working trees", which all share the same Git database. Moreover, +because all of the worktrees share the same object database, if you update a +branch (e.g. master) in any of them, you can use the new commits from any of the +worktrees. One caveat, though, is that submodules do not get shared. They will +still be cloned multiple times. + +[worktrees]: https://git-scm.com/docs/git-worktree + +Given you are inside the root directory for your Rust repository, you can create +a "linked working tree" in a new "rust2" directory by running the following +command: + +```bash +git worktree add ../rust2 +``` + +Creating a new worktree for a new branch based on `master` looks like: + +```bash +git worktree add -b my-feature ../rust2 master +``` + +You can then use that rust2 folder as a separate workspace for modifying and +building `rustc`! + +## Using nix-shell + +If you're using nix, you can use the following nix-shell to work on Rust: + +```nix +{ pkgs ? import {} }: +pkgs.mkShell { + name = "rustc"; + nativeBuildInputs = with pkgs; [ + binutils cmake ninja pkg-config python3 git curl cacert patchelf nix + ]; + buildInputs = with pkgs; [ + openssl glibc.out glibc.static + ]; + # Avoid creating text files for ICEs. + RUSTC_ICE = "0"; + # Provide `libstdc++.so.6` for the self-contained lld. + LD_LIBRARY_PATH = "${with pkgs; lib.makeLibraryPath [ + stdenv.cc.cc.lib + ]}"; +} +``` + +Note that when using nix on a not-NixOS distribution, it may be necessary to set +**`patch-binaries-for-nix = true` in `config.toml`**. Bootstrap tries to detect +whether it's running in nix and enable patching automatically, but this +detection can have false negatives. + +You can also use your nix shell to manage `config.toml`: + +```nix +let + config = pkgs.writeText "rustc-config" '' + # Your config.toml content goes here + '' +pkgs.mkShell { + /* ... */ + # This environment variable tells bootstrap where our config.toml is. + RUST_BOOTSTRAP_CONFIG = config; +} +``` + +## Shell Completions + +If you use Bash, Zsh, Fish or PowerShell, you can find automatically-generated shell +completion scripts for `x.py` in +[`src/etc/completions`](https://github.com/rust-lang/rust/tree/master/src/etc/completions). + +You can use `source ./src/etc/completions/x.py.` to load completions +for your shell of choice, or `& .\src\etc\completions\x.py.ps1` for PowerShell. +Adding this to your shell's startup script (e.g. `.bashrc`) will automatically +load this completion. + +[`src/etc/rust_analyzer_settings.json`]: https://github.com/rust-lang/rust/blob/master/src/etc/rust_analyzer_settings.json +[`src/etc/rust_analyzer_eglot.el`]: https://github.com/rust-lang/rust/blob/master/src/etc/rust_analyzer_eglot.el +[`src/etc/rust_analyzer_helix.toml`]: https://github.com/rust-lang/rust/blob/master/src/etc/rust_analyzer_helix.toml +[`src/etc/pre-push.sh`]: https://github.com/rust-lang/rust/blob/master/src/etc/pre-push.sh diff --git a/src/doc/rustc-dev-guide/src/cli.md b/src/doc/rustc-dev-guide/src/cli.md new file mode 100644 index 000000000000..408ae2070043 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/cli.md @@ -0,0 +1,33 @@ +# Command-line Arguments + +Command-line flags are documented in the [rustc book][cli-docs]. All *stable* +flags should be documented there. Unstable flags should be documented in the +[unstable book]. + +See the [forge guide for new options] for details on the *procedure* for +adding a new command-line argument. + +## Guidelines + +- Flags should be orthogonal to each other. For example, if we'd have a + json-emitting variant of multiple actions `foo` and `bar`, an additional + `--json` flag is better than adding `--foo-json` and `--bar-json`. +- Avoid flags with the `no-` prefix. Instead, use the [`parse_bool`] function, + such as `-C embed-bitcode=no`. +- Consider the behavior if the flag is passed multiple times. In some + situations, the values should be accumulated (in order!). In other + situations, subsequent flags should override previous flags (for example, + the lint-level flags). And some flags (like `-o`) should generate an error + if it is too ambiguous what multiple flags would mean. +- Always give options a long descriptive name, if only for more understandable + compiler scripts. +- The `--verbose` flag is for adding verbose information to `rustc` + output. For example, using it with the `--version` + flag gives information about the hashes of the compiler code. +- Experimental flags and options must be guarded behind the `-Z + unstable-options` flag. + +[cli-docs]: https://doc.rust-lang.org/rustc/command-line-arguments.html +[forge guide for new options]: https://forge.rust-lang.org/compiler/new_option.html +[unstable book]: https://doc.rust-lang.org/nightly/unstable-book/ +[`parse_bool`]: https://github.com/rust-lang/rust/blob/e5335592e78354e33d798d20c04bcd677c1df62d/src/librustc_session/options.rs#L307-L313 diff --git a/src/doc/rustc-dev-guide/src/closure.md b/src/doc/rustc-dev-guide/src/closure.md new file mode 100644 index 000000000000..718a0e5d78b1 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/closure.md @@ -0,0 +1,215 @@ +# Closure Capture Inference + +This section describes how rustc handles closures. Closures in Rust are +effectively "desugared" into structs that contain the values they use (or +references to the values they use) from their creator's stack frame. rustc has +the job of figuring out which values a closure uses and how, so it can decide +whether to capture a given variable by shared reference, mutable reference, or +by move. rustc also has to figure out which of the closure traits ([`Fn`][fn], +[`FnMut`][fn_mut], or [`FnOnce`][fn_once]) a closure is capable of +implementing. + +[fn]: https://doc.rust-lang.org/std/ops/trait.Fn.html +[fn_mut]:https://doc.rust-lang.org/std/ops/trait.FnMut.html +[fn_once]: https://doc.rust-lang.org/std/ops/trait.FnOnce.html + +Let's start with a few examples: + +### Example 1 + +To start, let's take a look at how the closure in the following example is desugared: + +```rust +fn closure(f: impl Fn()) { + f(); +} + +fn main() { + let x: i32 = 10; + closure(|| println!("Hi {}", x)); // The closure just reads x. + println!("Value of x after return {}", x); +} +``` + +Let's say the above is the content of a file called `immut.rs`. If we compile +`immut.rs` using the following command. The [`-Z dump-mir=all`][dump-mir] flag will cause +`rustc` to generate and dump the [MIR][mir] to a directory called `mir_dump`. +```console +> rustc +stage1 immut.rs -Z dump-mir=all +``` + +[mir]: ./mir/index.md +[dump-mir]: ./mir/passes.md + +After we run this command, we will see a newly generated directory in our +current working directory called `mir_dump`, which will contain several files. +If we look at file `rustc.main.-------.mir_map.0.mir`, we will find, among +other things, it also contains this line: + +```rust,ignore +_4 = &_1; +_3 = [closure@immut.rs:7:13: 7:36] { x: move _4 }; +``` + +Note that in the MIR examples in this chapter, `_1` is `x`. + +Here in first line `_4 = &_1;`, the `mir_dump` tells us that `x` was borrowed +as an immutable reference. This is what we would hope as our closure just +reads `x`. + +### Example 2 + +Here is another example: + +```rust +fn closure(mut f: impl FnMut()) { + f(); +} + +fn main() { + let mut x: i32 = 10; + closure(|| { + x += 10; // The closure mutates the value of x + println!("Hi {}", x) + }); + println!("Value of x after return {}", x); +} +``` + +```rust,ignore +_4 = &mut _1; +_3 = [closure@mut.rs:7:13: 10:6] { x: move _4 }; +``` +This time along, in the line `_4 = &mut _1;`, we see that the borrow is changed to mutable borrow. +Fair enough! The closure increments `x` by 10. + +### Example 3 + +One more example: + +```rust +fn closure(f: impl FnOnce()) { + f(); +} + +fn main() { + let x = vec![21]; + closure(|| { + drop(x); // Makes x unusable after the fact. + }); + // println!("Value of x after return {:?}", x); +} +``` + +```rust,ignore +_6 = [closure@move.rs:7:13: 9:6] { x: move _1 }; // bb16[3]: scope 1 at move.rs:7:13: 9:6 +``` +Here, `x` is directly moved into the closure and the access to it will not be permitted after the +closure. + +## Inferences in the compiler + +Now let's dive into rustc code and see how all these inferences are done by the compiler. + +Let's start with defining a term that we will be using quite a bit in the rest of the discussion - +*upvar*. An **upvar** is a variable that is local to the function where the closure is defined. So, +in the above examples, **x** will be an upvar to the closure. They are also sometimes referred to as +the *free variables* meaning they are not bound to the context of the closure. +[`compiler/rustc_passes/src/upvars.rs`][upvars] defines a query called *upvars_mentioned* +for this purpose. + +[upvars]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_passes/upvars/index.html + +Other than lazy invocation, one other thing that distinguishes a closure from a +normal function is that it can use the upvars. It borrows these upvars from its surrounding +context; therefore the compiler has to determine the upvar's borrow type. The compiler starts with +assigning an immutable borrow type and lowers the restriction (that is, changes it from +**immutable** to **mutable** to **move**) as needed, based on the usage. In the Example 1 above, the +closure only uses the variable for printing but does not modify it in any way and therefore, in the +`mir_dump`, we find the borrow type for the upvar `x` to be immutable. In example 2, however, the +closure modifies `x` and increments it by some value. Because of this mutation, the compiler, which +started off assigning `x` as an immutable reference type, has to adjust it as a mutable reference. +Likewise in the third example, the closure drops the vector and therefore this requires the variable +`x` to be moved into the closure. Depending on the borrow kind, the closure has to implement the +appropriate trait: `Fn` trait for immutable borrow, `FnMut` for mutable borrow, +and `FnOnce` for move semantics. + +Most of the code related to the closure is in the +[`compiler/rustc_hir_typeck/src/upvar.rs`][upvar] file and the data structures are +declared in the file [`compiler/rustc_middle/src/ty/mod.rs`][ty]. + +[upvar]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/upvar/index.html +[ty]:https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/index.html + +Before we go any further, let's discuss how we can examine the flow of control through the rustc +codebase. For closures specifically, set the `RUSTC_LOG` env variable as below and collect the +output in a file: + +```console +> RUSTC_LOG=rustc_hir_typeck::upvar rustc +stage1 -Z dump-mir=all \ + <.rs file to compile> 2> +``` + +This uses the stage1 compiler and enables `debug!` logging for the +`rustc_hir_typeck::upvar` module. + +The other option is to step through the code using lldb or gdb. + +1. `rust-lldb build/host/stage1/bin/rustc test.rs` +2. In lldb: + 1. `b upvar.rs:134` // Setting the breakpoint on a certain line in the upvar.rs file` + 2. `r` // Run the program until it hits the breakpoint + +Let's start with [`upvar.rs`][upvar]. This file has something called +the [`euv::ExprUseVisitor`] which walks the source of the closure and +invokes a callback for each upvar that is borrowed, mutated, or moved. + +[`euv::ExprUseVisitor`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/expr_use_visitor/struct.ExprUseVisitor.html + +```rust +fn main() { + let mut x = vec![21]; + let _cl = || { + let y = x[0]; // 1. + x[0] += 1; // 2. + }; +} +``` + +In the above example, our visitor will be called twice, for the lines marked 1 and 2, once for a +shared borrow and another one for a mutable borrow. It will also tell us what was borrowed. + +The callbacks are defined by implementing the [`Delegate`] trait. The +[`InferBorrowKind`][ibk] type implements `Delegate` and keeps a map that +records for each upvar which mode of capture was required. The modes of capture +can be `ByValue` (moved) or `ByRef` (borrowed). For `ByRef` borrows, the possible +[`BorrowKind`]s are `ImmBorrow`, `UniqueImmBorrow`, `MutBorrow` as defined in the +[`compiler/rustc_middle/src/ty/mod.rs`][middle_ty]. + +[`BorrowKind`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/enum.BorrowKind.html +[middle_ty]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/index.html + +`Delegate` defines a few different methods (the different callbacks): +**consume** for *move* of a variable, **borrow** for a *borrow* of some kind +(shared or mutable), and **mutate** when we see an *assignment* of something. + +All of these callbacks have a common argument *cmt* which stands for Category, +Mutability and Type and is defined in +[`compiler/rustc_hir_typeck/src/expr_use_visitor.rs`][cmt]. Borrowing from the code +comments, "`cmt` is a complete categorization of a value indicating where it +originated and how it is located, as well as the mutability of the memory in +which the value is stored". Based on the callback (consume, borrow etc.), we +will call the relevant `adjust_upvar_borrow_kind_for_` and pass the +`cmt` along. Once the borrow type is adjusted, we store it in the table, which +basically says what borrows were made for each closure. + +```rust,ignore +self.tables + .borrow_mut() + .upvar_capture_map + .extend(delegate.adjust_upvar_captures); +``` + +[`Delegate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/expr_use_visitor/trait.Delegate.html +[ibk]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/upvar/struct.InferBorrowKind.html +[cmt]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/expr_use_visitor/index.html diff --git a/src/doc/rustc-dev-guide/src/coherence.md b/src/doc/rustc-dev-guide/src/coherence.md new file mode 100644 index 000000000000..b3af101fb876 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/coherence.md @@ -0,0 +1,95 @@ + +# Coherence + +> NOTE: this is based on [notes by @lcnr](https://github.com/rust-lang/rust/pull/121848) + +Coherence checking is what detects both of trait impls and inherent impls overlapping with others. +(reminder: [inherent impls](https://doc.rust-lang.org/reference/items/implementations.html#inherent-implementations) are impls of concrete types like `impl MyStruct {}`) + +Overlapping trait impls always produce an error, +while overlapping inherent impls result in an error only if they have methods with the same name. + +Checking for overlaps is split in two parts. First there's the [overlap check(s)](#overlap-checks), +which finds overlaps between traits and inherent implementations that the compiler currently knows about. + +However, Coherence also results in an error if any other impls **could** exist, +even if they are currently unknown. +This affects impls which may get added to upstream crates in a backwards compatible way, +and impls from downstream crates. +This is called the Orphan check. + +## Overlap checks + +Overlap checks are performed for both inherent impls, and for trait impls. +This uses the same overlap checking code, really done as two separate analyses. +Overlap checks always consider pairs of implementations, comparing them to each other. + +Overlap checking for inherent impl blocks is done through `fn check_item` (in coherence/inherent_impls_overlap.rs), +where you can very clearly see that (at least for small `n`), the check really performs `n^2` +comparisons between impls. + +In the case of traits, this check is currently done as part of building the [specialization graph](traits/specialization.md), +to handle specializing impls overlapping with their parent, but this may change in the future. + +In both cases, all pairs of impls are checked for overlap. + +Overlapping is sometimes partially allowed: + +1. for marker traits +2. under [specialization](traits/specialization.md) + +but normally isn't. + +The overlap check has various modes (see [`OverlapMode`]). +Importantly, there's the explicit negative impl check, and the implicit negative impl check. +Both try to prove that an overlap is definitely impossible. + +[`OverlapMode`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_middle/traits/specialization_graph/enum.OverlapMode.html + +### The explicit negative impl check + +This check is done in [`impl_intersection_has_negative_obligation`]. + +This check tries to find a negative trait implementation. +For example: + +```rust +struct MyCustomErrorType; + +// both in your own crate +impl From<&str> for MyCustomErrorType {} +impl From for MyCustomErrorType where E: Error {} +``` + +In this example, we'd get: +`MyCustomErrorType: From<&str>` and `MyCustomErrorType: From`, giving `?E = &str`. + +And thus, these two implementations would overlap. +However, libstd provides `&str: !Error`, and therefore guarantees that there +will never be a positive implementation of `&str: Error`, and thus there is no overlap. + +Note that for this kind of negative impl check, we must have explicit negative implementations provided. +This is not currently stable. + +[`impl_intersection_has_negative_obligation`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_trait_selection/traits/coherence/fn.impl_intersection_has_negative_obligation.html + +### The implicit negative impl check + +This check is done in [`impl_intersection_has_impossible_obligation`], +and does not rely on negative trait implementations and is stable. + +Let's say there's a +```rust +impl From for Box {} // in your own crate +impl From for Box where E: Error {} // in std +``` + +This would give: `Box: From`, and `Box: From`, +giving `?E = MyLocalType`. + +In your crate there's no `MyLocalType: Error`, downstream crates cannot implement `Error` (a remote trait) for `MyLocalType` (a remote type). +Therefore, these two impls do not overlap. +Importantly, this works even if there isn't a `impl !Error for MyLocalType`. + +[`impl_intersection_has_impossible_obligation`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_trait_selection/traits/coherence/fn.impl_intersection_has_impossible_obligation.html + diff --git a/src/doc/rustc-dev-guide/src/compiler-debugging.md b/src/doc/rustc-dev-guide/src/compiler-debugging.md new file mode 100644 index 000000000000..a2a6c8085df5 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/compiler-debugging.md @@ -0,0 +1,405 @@ +# Debugging the compiler + + + +This chapter contains a few tips to debug the compiler. These tips aim to be +useful no matter what you are working on. Some of the other chapters have +advice about specific parts of the compiler (e.g. the [Queries Debugging and +Testing chapter](./incrcomp-debugging.html) or the [LLVM Debugging +chapter](./backend/debugging.md)). + +## Configuring the compiler + +By default, rustc is built without most debug information. To enable debug info, +set `debug = true` in your config.toml. + +Setting `debug = true` turns on many different debug options (e.g., `debug-assertions`, +`debug-logging`, etc.) which can be individually tweaked if you want to, but many people +simply set `debug = true`. + +If you want to use GDB to debug rustc, please set `config.toml` with options: + +```toml +[rust] +debug = true +debuginfo-level = 2 +``` + +> NOTE: +> This will use a lot of disk space +> (upwards of 35GB), +> and will take a lot more compile time. +> With `debuginfo-level = 1` (the default when `debug = true`), +> you will be able to track the execution path, +> but will lose the symbol information for debugging. + +The default configuration will enable `symbol-mangling-version` v0. +This requires at least GDB v10.2, +otherwise you need to disable new symbol-mangling-version in `config.toml`. + +```toml +[rust] +new-symbol-mangling = false +``` + +> See the comments in `config.example.toml` for more info. + +You will need to rebuild the compiler after changing any configuration option. + +## Suppressing the ICE file + +By default, if rustc encounters an Internal Compiler Error (ICE) it will dump the ICE contents to an +ICE file within the current working directory named `rustc-ice--.txt`. If this is +not desirable, you can prevent the ICE file from being created with `RUSTC_ICE=0`. + +## Getting a backtrace +[getting-a-backtrace]: #getting-a-backtrace + +When you have an ICE (panic in the compiler), you can set +`RUST_BACKTRACE=1` to get the stack trace of the `panic!` like in +normal Rust programs. IIRC backtraces **don't work** on MinGW, +sorry. If you have trouble or the backtraces are full of `unknown`, +you might want to find some way to use Linux, Mac, or MSVC on Windows. + +In the default configuration (without `debug` set to `true`), you don't have line numbers +enabled, so the backtrace looks like this: + +```text +stack backtrace: + 0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace + 1: std::sys_common::backtrace::_print + 2: std::panicking::default_hook::{{closure}} + 3: std::panicking::default_hook + 4: std::panicking::rust_panic_with_hook + 5: std::panicking::begin_panic + (~~~~ LINES REMOVED BY ME FOR BREVITY ~~~~) + 32: rustc_typeck::check_crate + 33: >::with + 34: >::with + 35: rustc::ty::context::TyCtxt::create_and_enter + 36: rustc_driver::driver::compile_input + 37: rustc_driver::run_compiler +``` + +If you set `debug = true`, you will get line numbers for the stack trace. +Then the backtrace will look like this: + +```text +stack backtrace: + (~~~~ LINES REMOVED BY ME FOR BREVITY ~~~~) + at /home/user/rust/compiler/rustc_typeck/src/check/cast.rs:110 + 7: rustc_typeck::check::cast::CastCheck::check + at /home/user/rust/compiler/rustc_typeck/src/check/cast.rs:572 + at /home/user/rust/compiler/rustc_typeck/src/check/cast.rs:460 + at /home/user/rust/compiler/rustc_typeck/src/check/cast.rs:370 + (~~~~ LINES REMOVED BY ME FOR BREVITY ~~~~) + 33: rustc_driver::driver::compile_input + at /home/user/rust/compiler/rustc_driver/src/driver.rs:1010 + at /home/user/rust/compiler/rustc_driver/src/driver.rs:212 + 34: rustc_driver::run_compiler + at /home/user/rust/compiler/rustc_driver/src/lib.rs:253 +``` + +## `-Z` flags + +The compiler has a bunch of `-Z *` flags. These are unstable flags that are only +enabled on nightly. Many of them are useful for debugging. To get a full listing +of `-Z` flags, use `-Z help`. + +One useful flag is `-Z verbose-internals`, which generally enables printing more +info that could be useful for debugging. + +Right below you can find elaborate explainers on a selected few. + +### Getting a backtrace for errors +[getting-a-backtrace-for-errors]: #getting-a-backtrace-for-errors + +If you want to get a backtrace to the point where the compiler emits an +error message, you can pass the `-Z treat-err-as-bug=n`, which will make +the compiler panic on the `nth` error. If you leave off `=n`, the compiler will +assume `1` for `n` and thus panic on the first error it encounters. + +For example: + +```bash +$ cat error.rs +``` + +```rust +fn main() { + 1 + (); +} +``` + +``` +$ rustc +stage1 error.rs +error[E0277]: cannot add `()` to `{integer}` + --> error.rs:2:7 + | +2 | 1 + (); + | ^ no implementation for `{integer} + ()` + | + = help: the trait `Add<()>` is not implemented for `{integer}` + +error: aborting due to previous error +``` + +Now, where does the error above come from? + +``` +$ RUST_BACKTRACE=1 rustc +stage1 error.rs -Z treat-err-as-bug +error[E0277]: the trait bound `{integer}: std::ops::Add<()>` is not satisfied + --> error.rs:2:7 + | +2 | 1 + (); + | ^ no implementation for `{integer} + ()` + | + = help: the trait `std::ops::Add<()>` is not implemented for `{integer}` + +error: internal compiler error: unexpected panic + +note: the compiler unexpectedly panicked. this is a bug. + +note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports + +note: rustc 1.24.0-dev running on x86_64-unknown-linux-gnu + +note: run with `RUST_BACKTRACE=1` for a backtrace + +thread 'rustc' panicked at 'encountered error with `-Z treat_err_as_bug', +/home/user/rust/compiler/rustc_errors/src/lib.rs:411:12 +note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose +backtrace. +stack backtrace: + (~~~ IRRELEVANT PART OF BACKTRACE REMOVED BY ME ~~~) + 7: rustc::traits::error_reporting::> + ::report_selection_error + at /home/user/rust/compiler/rustc_middle/src/traits/error_reporting.rs:823 + 8: rustc::traits::error_reporting::> + ::report_fulfillment_errors + at /home/user/rust/compiler/rustc_middle/src/traits/error_reporting.rs:160 + at /home/user/rust/compiler/rustc_middle/src/traits/error_reporting.rs:112 + 9: rustc_typeck::check::FnCtxt::select_obligations_where_possible + at /home/user/rust/compiler/rustc_typeck/src/check/mod.rs:2192 + (~~~ IRRELEVANT PART OF BACKTRACE REMOVED BY ME ~~~) + 36: rustc_driver::run_compiler + at /home/user/rust/compiler/rustc_driver/src/lib.rs:253 +``` + +Cool, now I have a backtrace for the error! + +### Debugging delayed bugs + +The `-Z eagerly-emit-delayed-bugs` option makes it easy to debug delayed bugs. +It turns them into normal errors, i.e. makes them visible. This can be used in +combination with `-Z treat-err-as-bug` to stop at a particular delayed bug and +get a backtrace. + +### Getting the error creation location + +`-Z track-diagnostics` can help figure out where errors are emitted. It uses `#[track_caller]` +for this and prints its location alongside the error: + +``` +$ RUST_BACKTRACE=1 rustc +stage1 error.rs -Z track-diagnostics +error[E0277]: cannot add `()` to `{integer}` + --> src\error.rs:2:7 + | +2 | 1 + (); + | ^ no implementation for `{integer} + ()` +-Ztrack-diagnostics: created at compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs:638:39 + | + = help: the trait `Add<()>` is not implemented for `{integer}` + = help: the following other types implement trait `Add`: + <&'a f32 as Add> + <&'a f64 as Add> + <&'a i128 as Add> + <&'a i16 as Add> + <&'a i32 as Add> + <&'a i64 as Add> + <&'a i8 as Add> + <&'a isize as Add> + and 48 others + +For more information about this error, try `rustc --explain E0277`. +``` + +This is similar but different to `-Z treat-err-as-bug`: +- it will print the locations for all errors emitted +- it does not require a compiler built with debug symbols +- you don't have to read through a big stack trace. + +## Getting logging output + +The compiler uses the [`tracing`] crate for logging. + +[`tracing`]: https://docs.rs/tracing + +For details see [the guide section on tracing](./tracing.md) + +## Narrowing (Bisecting) Regressions + +The [cargo-bisect-rustc][bisect] tool can be used as a quick and easy way to +find exactly which PR caused a change in `rustc` behavior. It automatically +downloads `rustc` PR artifacts and tests them against a project you provide +until it finds the regression. You can then look at the PR to get more context +on *why* it was changed. See [this tutorial][bisect-tutorial] on how to use +it. + +[bisect]: https://github.com/rust-lang/cargo-bisect-rustc +[bisect-tutorial]: https://rust-lang.github.io/cargo-bisect-rustc/tutorial.html + +## Downloading Artifacts from Rust's CI + +The [rustup-toolchain-install-master][rtim] tool by kennytm can be used to +download the artifacts produced by Rust's CI for a specific SHA1 -- this +basically corresponds to the successful landing of some PR -- and then sets +them up for your local use. This also works for artifacts produced by `@bors +try`. This is helpful when you want to examine the resulting build of a PR +without doing the build yourself. + +[rtim]: https://github.com/kennytm/rustup-toolchain-install-master + +## `#[rustc_*]` TEST attributes + +The compiler defines a whole lot of internal (perma-unstable) attributes some of which are useful +for debugging by dumping extra compiler-internal information. These are prefixed with `rustc_` and +are gated behind the internal feature `rustc_attrs` (enabled via e.g. `#![feature(rustc_attrs)]`). + +For a complete and up to date list, see [`builtin_attrs`]. More specifically, the ones marked `TEST`. +Here are some notable ones: + +| Attribute | Description | +|----------------|-------------| +| `rustc_def_path` | Dumps the [`def_path_str`] of an item. | +| `rustc_dump_def_parents` | Dumps the chain of `DefId` parents of certain definitions. | +| `rustc_dump_item_bounds` | Dumps the [`item_bounds`] of an item. | +| `rustc_dump_predicates` | Dumps the [`predicates_of`] an item. | +| `rustc_dump_vtable` | | +| `rustc_hidden_type_of_opaques` | Dumps the [hidden type of each opaque types][opaq] in the crate. | +| `rustc_layout` | [See this section](#debugging-type-layouts). | +| `rustc_object_lifetime_default` | Dumps the [object lifetime defaults] of an item. | +| `rustc_outlives` | Dumps implied bounds of an item. More precisely, the [`inferred_outlives_of`] an item. | +| `rustc_regions` | Dumps NLL closure region requirements. | +| `rustc_symbol_name` | Dumps the mangled & demangled [`symbol_name`] of an item. | +| `rustc_variances` | Dumps the [variances] of an item. | + +Right below you can find elaborate explainers on a selected few. + +[`builtin_attrs`]: https://github.com/rust-lang/rust/blob/master/compiler/rustc_feature/src/builtin_attrs.rs +[`def_path_str`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.def_path_str +[`inferred_outlives_of`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.inferred_outlives_of +[`item_bounds`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.item_bounds +[`predicates_of`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.predicates_of +[`symbol_name`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.symbol_name +[object lifetime defaults]: https://doc.rust-lang.org/reference/lifetime-elision.html#default-trait-object-lifetimes +[opaq]: ./opaque-types-impl-trait-inference.md +[variances]: ./variance.md + +### Formatting Graphviz output (.dot files) +[formatting-graphviz-output]: #formatting-graphviz-output + +Some compiler options for debugging specific features yield graphviz graphs - +e.g. the `#[rustc_mir(borrowck_graphviz_postflow="suffix.dot")]` attribute +dumps various borrow-checker dataflow graphs. + +These all produce `.dot` files. To view these files, install graphviz (e.g. +`apt-get install graphviz`) and then run the following commands: + +```bash +$ dot -T pdf maybe_init_suffix.dot > maybe_init_suffix.pdf +$ firefox maybe_init_suffix.pdf # Or your favorite pdf viewer +``` + +### Debugging type layouts + +The internal attribute `#[rustc_layout]` can be used to dump the [`Layout`] of +the type it is attached to. For example: + +```rust +#![feature(rustc_attrs)] + +#[rustc_layout(debug)] +type T<'a> = &'a u32; +``` + +Will emit the following: + +```text +error: layout_of(&'a u32) = Layout { + fields: Primitive, + variants: Single { + index: 0, + }, + abi: Scalar( + Scalar { + value: Pointer, + valid_range: 1..=18446744073709551615, + }, + ), + largest_niche: Some( + Niche { + offset: Size { + raw: 0, + }, + scalar: Scalar { + value: Pointer, + valid_range: 1..=18446744073709551615, + }, + }, + ), + align: AbiAndPrefAlign { + abi: Align { + pow2: 3, + }, + pref: Align { + pow2: 3, + }, + }, + size: Size { + raw: 8, + }, +} + --> src/lib.rs:4:1 + | +4 | type T<'a> = &'a u32; + | ^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error +``` + +[`Layout`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_target/abi/struct.Layout.html + + +## Configuring CodeLLDB for debugging `rustc` + +If you are using VSCode, and have edited your `config.toml` to request debugging +level 1 or 2 for the parts of the code you're interested in, then you should be +able to use the [CodeLLDB] extension in VSCode to debug it. + +Here is a sample `launch.json` file, being used to run a stage 1 compiler direct +from the directory where it is built (does not have to be "installed"): + +```javascript +// .vscode/launch.json +{ + "version": "0.2.0", + "configurations": [ + { + "type": "lldb", + "request": "launch", + "name": "Launch", + "args": [], // array of string command-line arguments to pass to compiler + "program": "${workspaceFolder}/build/host/stage1/bin/rustc", + "windows": { // applicable if using windows + "program": "${workspaceFolder}/build/host/stage1/bin/rustc.exe" + }, + "cwd": "${workspaceFolder}", // current working directory at program start + "stopOnEntry": false, + "sourceLanguages": ["rust"] + } + ] + } +``` + +[CodeLLDB]: https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb diff --git a/src/doc/rustc-dev-guide/src/compiler-src.md b/src/doc/rustc-dev-guide/src/compiler-src.md new file mode 100644 index 000000000000..c538fc8b788d --- /dev/null +++ b/src/doc/rustc-dev-guide/src/compiler-src.md @@ -0,0 +1,215 @@ +# High-level overview of the compiler source + + + +Now that we have [seen what the compiler does][orgch], +let's take a look at the structure of the [`rust-lang/rust`] repository, +where the rustc source code lives. + +[`rust-lang/rust`]: https://github.com/rust-lang/rust + +> You may find it helpful to read the ["Overview of the compiler"][orgch] +> chapter, which introduces how the compiler works, before this one. + +[orgch]: ./overview.md + +## Workspace structure + +The [`rust-lang/rust`] repository consists of a single large cargo workspace +containing the compiler, the standard libraries ([`core`], [`alloc`], [`std`], +[`proc_macro`], [`etc`]), and [`rustdoc`], along with the build system and a +bunch of tools and submodules for building a full Rust distribution. + +The repository consists of three main directories: + +- [`compiler/`] contains the source code for `rustc`. It consists of many crates + that together make up the compiler. + +- [`library/`] contains the standard libraries ([`core`], [`alloc`], [`std`], + [`proc_macro`], [`test`]), as well as the Rust runtime ([`backtrace`], [`rtstartup`], + [`lang_start`]). + +- [`tests/`] contains the compiler tests. + +- [`src/`] contains the source code for [`rustdoc`], [`clippy`], [`cargo`], the build system, + language docs, etc. + +[`alloc`]: https://github.com/rust-lang/rust/tree/master/library/alloc +[`backtrace`]: https://github.com/rust-lang/backtrace-rs/ +[`cargo`]: https://github.com/rust-lang/cargo +[`clippy`]: https://github.com/rust-lang/rust/tree/master/src/tools/clippy +[`compiler/`]: https://github.com/rust-lang/rust/tree/master/compiler +[`core`]: https://github.com/rust-lang/rust/tree/master/library/core +[`etc`]: https://github.com/rust-lang/rust/tree/master/src/etc +[`lang_start`]: https://github.com/rust-lang/rust/blob/master/library/std/src/rt.rs +[`library/`]: https://github.com/rust-lang/rust/tree/master/library +[`proc_macro`]: https://github.com/rust-lang/rust/tree/master/library/proc_macro +[`rtstartup`]: https://github.com/rust-lang/rust/tree/master/library/rtstartup +[`rust-lang/rust`]: https://github.com/rust-lang/rust +[`rustdoc`]: https://github.com/rust-lang/rust/tree/master/src/tools/rustdoc +[`src/`]: https://github.com/rust-lang/rust/tree/master/src +[`std`]: https://github.com/rust-lang/rust/tree/master/library/std +[`test`]: https://github.com/rust-lang/rust/tree/master/library/test +[`tests/`]: https://github.com/rust-lang/rust/tree/master/tests + +## Compiler + +The compiler is implemented in the various [`compiler/`] crates. +The [`compiler/`] crates all have names starting with `rustc_*`. These are a +collection of around 50 interdependent crates ranging in size from tiny to +huge. There is also the `rustc` crate which is the actual binary (i.e. the +`main` function); it doesn't actually do anything besides calling the +[`rustc_driver`] crate, which drives the various parts of compilation in other +crates. + +The dependency structure of these crates is complex, but roughly it is +something like this: + +- `rustc` (the binary) calls [`rustc_driver::main`][main]. + - [`rustc_driver`] depends on a lot of other crates, but the main one is + [`rustc_interface`]. + - [`rustc_interface`] depends on most of the other compiler crates. It + is a fairly generic interface for driving the whole compilation. + - Most of the other `rustc_*` crates depend on [`rustc_middle`], + which defines a lot of central data structures in the compiler. + - [`rustc_middle`] and most of the other crates depend on a + handful of crates representing the early parts of the + compiler (e.g. the parser), fundamental data structures (e.g. + [`Span`]), or error reporting: [`rustc_data_structures`], + [`rustc_span`], [`rustc_errors`], etc. + +[`rustc_data_structures`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/index.html +[`rustc_driver`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/index.html +[`rustc_errors`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/index.html +[`rustc_interface`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/index.html +[`rustc_middle`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/index.html +[`rustc_span`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/index.html +[`Span`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.Span.html +[main]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/fn.main.html + +You can see the exact dependencies by reading the [`Cargo.toml`] for the various +crates, just like a normal Rust crate. + +One final thing: [`src/llvm-project`] is a submodule for our fork of LLVM. +During bootstrapping, LLVM is built and the [`compiler/rustc_llvm`] crate +contains Rust wrappers around LLVM (which is written in C++), so that the +compiler can interface with it. + +Most of this book is about the compiler, so we won't have any further +explanation of these crates here. + +[`compiler/rustc_llvm`]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_llvm +[`src/llvm-project`]: https://github.com/rust-lang/rust/tree/master/src/ +[`Cargo.toml`]: https://github.com/rust-lang/rust/blob/master/Cargo.toml + +### Big picture + +The dependency structure of the compiler is influenced by two main factors: + +1. Organization. The compiler is a _huge_ codebase; it would be an impossibly + large crate. In part, the dependency structure reflects the code structure + of the compiler. +2. Compile-time. By breaking the compiler into multiple crates, we can take + better advantage of incremental/parallel compilation using cargo. In + particular, we try to have as few dependencies between crates as possible so + that we don't have to rebuild as many crates if you change one. + +At the very bottom of the dependency tree are a handful of crates that are used +by the whole compiler (e.g. [`rustc_span`]). The very early parts of the +compilation process (e.g. [parsing and the Abstract Syntax Tree (`AST`)][parser]) +depend on only these. + +After the [`AST`][parser] is constructed and other early analysis is done, the +compiler's [query system][query] gets set up. The query system is set up in a +clever way using function pointers. This allows us to break dependencies +between crates, allowing more parallel compilation. The query system is defined +in [`rustc_middle`], so nearly all subsequent parts of the compiler depend on +this crate. It is a really large crate, leading to long compile times. Some +efforts have been made to move stuff out of it with varying success. Another +side-effect is that sometimes related functionality gets scattered across +different crates. For example, linting functionality is found across earlier +parts of the crate, [`rustc_lint`], [`rustc_middle`], and other places. + +Ideally there would be fewer, more cohesive crates, with incremental and +parallel compilation making sure compile times stay reasonable. However, +incremental and parallel compilation haven't gotten good enough for that yet, +so breaking things into separate crates has been our solution so far. + +At the top of the dependency tree is [`rustc_driver`] and [`rustc_interface`] +which is an unstable wrapper around the query system helping drive various +stages of compilation. Other consumers of the compiler may use this interface +in different ways (e.g. [`rustdoc`] or maybe eventually `rust-analyzer`). The +[`rustc_driver`] crate first parses command line arguments and then uses +[`rustc_interface`] to drive the compilation to completion. + +[parser]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html +[`rustc_lint`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/index.html +[query]: ./query.md + +## rustdoc + +The bulk of [`rustdoc`] is in [`librustdoc`]. However, the [`rustdoc`] binary +itself is [`src/tools/rustdoc`], which does nothing except call [`rustdoc::main`]. + +There is also `JavaScript` and `CSS` for the docs in [`src/tools/rustdoc-js`] +and [`src/tools/rustdoc-themes`]. + +You can read more about [`rustdoc`] in [this chapter][rustdoc-chapter]. + +[`librustdoc`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/index.html +[`rustdoc::main`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/fn.main.html +[`src/tools/rustdoc-js`]: https://github.com/rust-lang/rust/tree/master/src/tools/rustdoc-js +[`src/tools/rustdoc-themes`]: https://github.com/rust-lang/rust/tree/master/src/tools/rustdoc-themes +[`src/tools/rustdoc`]: https://github.com/rust-lang/rust/tree/master/src/tools/rustdoc +[rustdoc-chapter]: ./rustdoc.md + +## Tests + +The test suite for all of the above is in [`tests/`]. You can read more +about the test suite [in this chapter][testsch]. + +The test harness is in [`src/tools/compiletest/`][`compiletest/`]. + +[`tests/`]: https://github.com/rust-lang/rust/tree/master/tests +[testsch]: ./tests/intro.md + +## Build System + +There are a number of tools in the repository just for building the compiler, +standard library, [`rustdoc`], etc, along with testing, building a full Rust +distribution, etc. + +One of the primary tools is [`src/bootstrap/`]. You can read more about +bootstrapping [in this chapter][bootstch]. The process may also use other tools +from [`src/tools/`], such as [`tidy/`] or [`compiletest/`]. + +[`compiletest/`]: https://github.com/rust-lang/rust/tree/master/src/tools/compiletest +[`src/bootstrap/`]: https://github.com/rust-lang/rust/tree/master/src/bootstrap +[`src/tools/`]: https://github.com/rust-lang/rust/tree/master/src/tools +[`tidy/`]: https://github.com/rust-lang/rust/tree/master/src/tools/tidy +[bootstch]: ./building/bootstrapping/intro.md + +## Standard library + +This code is fairly similar to most other Rust crates except that it must be +built in a special way because it can use unstable ([`nightly`]) features. +The standard library is sometimes referred to as [`libstd or the "standard facade"`]. + +[`libstd or the "standard facade"`]: https://rust-lang.github.io/rfcs/0040-libstd-facade.html +[`nightly`]: https://doc.rust-lang.org/nightly/nightly-rustc/ + +## Other + +There are a lot of other things in the `rust-lang/rust` repo that are related +to building a full Rust distribution. Most of the time you don't need to worry about them. + +These include: +- [`src/ci`]: The CI configuration. This actually quite extensive because we + run a lot of tests on a lot of platforms. +- [`src/doc`]: Various documentation, including submodules for a few books. +- [`src/etc`]: Miscellaneous utilities. +- And more... + +[`src/ci`]: https://github.com/rust-lang/rust/tree/master/src/ci +[`src/doc`]: https://github.com/rust-lang/rust/tree/master/src/doc +[`src/etc`]: https://github.com/rust-lang/rust/tree/master/src/etc diff --git a/src/doc/rustc-dev-guide/src/compiler-team.md b/src/doc/rustc-dev-guide/src/compiler-team.md new file mode 100644 index 000000000000..9922ee7ddf23 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/compiler-team.md @@ -0,0 +1,141 @@ +# About the compiler team + +rustc is maintained by the [Rust compiler team][team]. The people who belong to +this team collectively work to track regressions and implement new features. +Members of the Rust compiler team are people who have made significant +contributions to rustc and its design. + +[team]: https://www.rust-lang.org/governance/teams/compiler + +## Discussion + +Currently the compiler team chats in Zulip: + +- Team chat occurs in the [`t-compiler`][zulip-t-compiler] stream on the Zulip instance +- There are also a number of other associated Zulip streams, + such as [`t-compiler/help`][zulip-help], where people can ask for help + with rustc development, or [`t-compiler/meetings`][zulip-meetings], + where the team holds their weekly triage and steering meetings. + +## Reviewers + +If you're interested in figuring out who can answer questions about a +particular part of the compiler, or you'd just like to know who works on what, +check out [triagebot.toml's assign section][map]. +It contains a listing of the various parts of the compiler and a list of people +who are reviewers of each part. + +[map]: https://github.com/rust-lang/rust/blob/master/triagebot.toml + +## Rust compiler meeting + +The compiler team has a weekly meeting where we do triage and try to +generally stay on top of new bugs, regressions, and discuss important +things in general. +They are held on [Zulip][zulip-meetings]. It works roughly as follows: + +- **Announcements, MCPs/FCPs, and WG-check-ins:** We share some + announcements with the rest of the team about important things we want + everyone to be aware of. We also share the status of MCPs and FCPs and we + use the opportunity to have a couple of WGs giving us an update about + their work. +- **Check for beta and stable nominations:** These are nominations of things to + backport to beta and stable respectively. + We then look for new cases where the compiler broke previously working + code in the wild. Regressions are important issues to fix, so it's + likely that they are tagged as P-critical or P-high; the major + exception would be bug fixes (though even there we often [aim to give + warnings first][procedure]). +- **Review P-critical and P-high bugs:** P-critical and P-high bugs are + those that are sufficiently important for us to actively track + progress. P-critical and P-high bugs should ideally always have an + assignee. +- **Check S-waiting-on-team and I-nominated issues:** These are issues where feedback from + the team is desired. +- **Look over the performance triage report:** We check for PRs that made the + performance worse and try to decide if it's worth reverting the performance regression or if + the regression can be addressed in a future PR. + +The meeting currently takes place on Thursdays at 10am Boston time +(UTC-4 typically, but daylight savings time sometimes makes things +complicated). + +[procedure]: ./bug-fix-procedure.md +[zulip-t-compiler]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler +[zulip-help]: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp +[zulip-meetings]: https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings + +## Team membership + +Membership in the Rust team is typically offered when someone has been +making significant contributions to the compiler for some +time. Membership is both a recognition but also an obligation: +compiler team members are generally expected to help with upkeep as +well as doing reviews and other work. + +If you are interested in becoming a compiler team member, the first +thing to do is to start fixing some bugs, or get involved in a working +group. One good way to find bugs is to look for +[open issues tagged with E-easy](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy) +or +[E-mentor](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-mentor). + +You can also dig through the graveyard of PRs that were +[closed due to inactivity](https://github.com/rust-lang/rust/pulls?q=is%3Apr+label%3AS-inactive), +some of them may contain work that is still useful - refer to the +associated issues, if any - and only needs some finishing touches +for which the original author didn't have time. + +### r+ rights + +Once you have made a number of individual PRs to rustc, we will often +offer r+ privileges. This means that you have the right to instruct +"bors" (the robot that manages which PRs get landed into rustc) to +merge a PR +([here are some instructions for how to talk to bors][homu-guide]). + +[homu-guide]: https://bors.rust-lang.org/ + +The guidelines for reviewers are as follows: + +- You are always welcome to review any PR, regardless of who it is + assigned to. However, do not r+ PRs unless: + - You are confident in that part of the code. + - You are confident that nobody else wants to review it first. + - For example, sometimes people will express a desire to review a + PR before it lands, perhaps because it touches a particularly + sensitive part of the code. +- Always be polite when reviewing: you are a representative of the + Rust project, so it is expected that you will go above and beyond + when it comes to the [Code of Conduct]. + +[Code of Conduct]: https://www.rust-lang.org/policies/code-of-conduct + +### Reviewer rotation + +Once you have r+ rights, you can also be added to the [reviewer rotation]. +[triagebot] is the bot that [automatically assigns] incoming PRs to reviewers. +If you are added, you will be randomly selected to review +PRs. If you find you are assigned a PR that you don't feel comfortable +reviewing, you can also leave a comment like `r? @so-and-so` to assign +to someone else — if you don't know who to request, just write `r? +@nikomatsakis for reassignment` and @nikomatsakis will pick someone +for you. + +[reviewer rotation]: https://github.com/rust-lang/rust/blob/36285c5de8915ecc00d91ae0baa79a87ed5858d5/triagebot.toml#L528-L577 +[triagebot]: https://github.com/rust-lang/triagebot/ +[automatically assigns]: https://forge.rust-lang.org/triagebot/pr-assignment.html + +Getting on the reviewer rotation is much appreciated as it lowers the +review burden for all of us! However, if you don't have time to give +people timely feedback on their PRs, it may be better that you don't +get on the list. + +### Full team membership + +Full team membership is typically extended once someone made many +contributions to the Rust compiler over time, ideally (but not +necessarily) to multiple areas. Sometimes this might be implementing a +new feature, but it is also important — perhaps more important! — to +have time and willingness to help out with general upkeep such as +bugfixes, tracking regressions, and other less glamorous work. diff --git a/src/doc/rustc-dev-guide/src/const-eval.md b/src/doc/rustc-dev-guide/src/const-eval.md new file mode 100644 index 000000000000..ee0269601af1 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/const-eval.md @@ -0,0 +1,50 @@ +# Constant Evaluation + +Constant evaluation is the process of computing values at compile time. For a +specific item (constant/static/array length) this happens after the MIR for the +item is borrow-checked and optimized. In many cases trying to const evaluate an +item will trigger the computation of its MIR for the first time. + +Prominent examples are: + +* The initializer of a `static` +* Array length + * needs to be known to reserve stack or heap space +* Enum variant discriminants + * needs to be known to prevent two variants from having the same + discriminant +* Patterns + * need to be known to check for overlapping patterns + +Additionally constant evaluation can be used to reduce the workload or binary +size at runtime by precomputing complex operations at compiletime and only +storing the result. + +All uses of constant evaluation can either be categorized as "influencing the type system" +(array lengths, enum variant discriminants, const generic parameters), or as solely being +done to precompute expressions to be used at runtime. + +Constant evaluation can be done by calling the `const_eval_*` functions of `TyCtxt`. +They're the wrappers of the `const_eval` query. + +* `const_eval_global_id_for_typeck` evaluates a constant to a valtree, + so the result value can be further inspected by the compiler. +* `const_eval_global_id` evaluate a constant to an "opaque blob" containing its final value; + this is only useful for codegen backends and the CTFE evaluator engine itself. +* `eval_static_initializer` specifically computes the initial values of a static. + Statics are special; all other functions do not represent statics correctly + and have thus assertions preventing their use on statics. + +The `const_eval_*` functions use a [`ParamEnv`](./param_env/param_env_summary.html) of environment +in which the constant is evaluated (e.g. the function within which the constant is used) +and a [`GlobalId`]. The `GlobalId` is made up of an `Instance` referring to a constant +or static or of an `Instance` of a function and an index into the function's `Promoted` table. + +Constant evaluation returns an [`EvalToValTreeResult`] for type system constants +or [`EvalToConstValueResult`] with either the error, or a representation of the +evaluated constant: a [valtree](mir/index.md#valtrees) or a [MIR constant +value](mir/index.md#mir-constant-values), respectively. + +[`GlobalId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/interpret/struct.GlobalId.html +[`EvalToConstValueResult`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/interpret/error/type.EvalToConstValueResult.html +[`EvalToValTreeResult`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/interpret/error/type.EvalToValTreeResult.html diff --git a/src/doc/rustc-dev-guide/src/const-eval/interpret.md b/src/doc/rustc-dev-guide/src/const-eval/interpret.md new file mode 100644 index 000000000000..51a539de5cb6 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/const-eval/interpret.md @@ -0,0 +1,238 @@ +# Interpreter + + + +The interpreter is a virtual machine for executing MIR without compiling to +machine code. It is usually invoked via `tcx.const_eval_*` functions. The +interpreter is shared between the compiler (for compile-time function +evaluation, CTFE) and the tool [Miri](https://github.com/rust-lang/miri/), which +uses the same virtual machine to detect Undefined Behavior in (unsafe) Rust +code. + +If you start out with a constant: + +```rust +const FOO: usize = 1 << 12; +``` + +rustc doesn't actually invoke anything until the constant is either used or +placed into metadata. + +Once you have a use-site like: + +```rust,ignore +type Foo = [u8; FOO - 42]; +``` + +The compiler needs to figure out the length of the array before being able to +create items that use the type (locals, constants, function arguments, ...). + +To obtain the (in this case empty) parameter environment, one can call +`let param_env = tcx.param_env(length_def_id);`. The `GlobalId` needed is + +```rust,ignore +let gid = GlobalId { + promoted: None, + instance: Instance::mono(length_def_id), +}; +``` + +Invoking `tcx.const_eval(param_env.and(gid))` will now trigger the creation of +the MIR of the array length expression. The MIR will look something like this: + +```mir +Foo::{{constant}}#0: usize = { + let mut _0: usize; + let mut _1: (usize, bool); + + bb0: { + _1 = CheckedSub(const FOO, const 42usize); + assert(!move (_1.1: bool), "attempt to subtract with overflow") -> bb1; + } + + bb1: { + _0 = move (_1.0: usize); + return; + } +} +``` + +Before the evaluation, a virtual memory location (in this case essentially a +`vec![u8; 4]` or `vec![u8; 8]`) is created for storing the evaluation result. + +At the start of the evaluation, `_0` and `_1` are +`Operand::Immediate(Immediate::Scalar(ScalarMaybeUndef::Undef))`. This is quite +a mouthful: [`Operand`] can represent either data stored somewhere in the +[interpreter memory](#memory) (`Operand::Indirect`), or (as an optimization) +immediate data stored in-line. And [`Immediate`] can either be a single +(potentially uninitialized) [scalar value][`Scalar`] (integer or thin pointer), +or a pair of two of them. In our case, the single scalar value is *not* (yet) +initialized. + +When the initialization of `_1` is invoked, the value of the `FOO` constant is +required, and triggers another call to `tcx.const_eval_*`, which will not be shown +here. If the evaluation of FOO is successful, `42` will be subtracted from its +value `4096` and the result stored in `_1` as +`Operand::Immediate(Immediate::ScalarPair(Scalar::Raw { data: 4054, .. }, +Scalar::Raw { data: 0, .. })`. The first part of the pair is the computed value, +the second part is a bool that's true if an overflow happened. A `Scalar::Raw` +also stores the size (in bytes) of this scalar value; we are eliding that here. + +The next statement asserts that said boolean is `0`. In case the assertion +fails, its error message is used for reporting a compile-time error. + +Since it does not fail, `Operand::Immediate(Immediate::Scalar(Scalar::Raw { +data: 4054, .. }))` is stored in the virtual memory it was allocated before the +evaluation. `_0` always refers to that location directly. + +After the evaluation is done, the return value is converted from [`Operand`] to +[`ConstValue`] by [`op_to_const`]: the former representation is geared towards +what is needed *during* const evaluation, while [`ConstValue`] is shaped by the +needs of the remaining parts of the compiler that consume the results of const +evaluation. As part of this conversion, for types with scalar values, even if +the resulting [`Operand`] is `Indirect`, it will return an immediate +`ConstValue::Scalar(computed_value)` (instead of the usual `ConstValue::ByRef`). +This makes using the result much more efficient and also more convenient, as no +further queries need to be executed in order to get at something as simple as a +`usize`. + +Future evaluations of the same constants will not actually invoke +the interpreter, but just use the cached result. + +[`Operand`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/operand/enum.Operand.html +[`Immediate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/enum.Immediate.html +[`ConstValue`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/consts/enum.ConstValue.html +[`Scalar`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/interpret/enum.Scalar.html +[`op_to_const`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/const_eval/eval_queries/fn.op_to_const.html + +## Datastructures + +The interpreter's outside-facing datastructures can be found in +[rustc_middle/src/mir/interpret](https://github.com/rust-lang/rust/blob/master/compiler/rustc_middle/src/mir/interpret). +This is mainly the error enum and the [`ConstValue`] and [`Scalar`] types. A +`ConstValue` can be either `Scalar` (a single `Scalar`, i.e., integer or thin +pointer), `Slice` (to represent byte slices and strings, as needed for pattern +matching) or `ByRef`, which is used for anything else and refers to a virtual +allocation. These allocations can be accessed via the methods on +`tcx.interpret_interner`. A `Scalar` is either some `Raw` integer or a pointer; +see [the next section](#memory) for more on that. + +If you are expecting a numeric result, you can use `eval_usize` (panics on +anything that can't be represented as a `u64`) or `try_eval_usize` which results +in an `Option` yielding the `Scalar` if possible. + +## Memory + +To support any kind of pointers, the interpreter needs to have a "virtual memory" that the +pointers can point to. This is implemented in the [`Memory`] type. In the +simplest model, every global variable, stack variable and every dynamic +allocation corresponds to an [`Allocation`] in that memory. (Actually using an +allocation for every MIR stack variable would be very inefficient; that's why we +have `Operand::Immediate` for stack variables that are both small and never have +their address taken. But that is purely an optimization.) + +Such an `Allocation` is basically just a sequence of `u8` storing the value of +each byte in this allocation. (Plus some extra data, see below.) Every +`Allocation` has a globally unique `AllocId` assigned in `Memory`. With that, a +[`Pointer`] consists of a pair of an `AllocId` (indicating the allocation) and +an offset into the allocation (indicating which byte of the allocation the +pointer points to). It may seem odd that a `Pointer` is not just an integer +address, but remember that during const evaluation, we cannot know at which +actual integer address the allocation will end up -- so we use `AllocId` as +symbolic base addresses, which means we need a separate offset. (As an aside, +it turns out that pointers at run-time are +[more than just integers, too](https://rust-lang.github.io/unsafe-code-guidelines/glossary.html#pointer-provenance).) + +These allocations exist so that references and raw pointers have something to +point to. There is no global linear heap in which things are allocated, but each +allocation (be it for a local variable, a static or a (future) heap allocation) +gets its own little memory with exactly the required size. So if you have a +pointer to an allocation for a local variable `a`, there is no possible (no +matter how unsafe) operation that you can do that would ever change said pointer +to a pointer to a different local variable `b`. +Pointer arithmetic on `a` will only ever change its offset; the `AllocId` stays the same. + +This, however, causes a problem when we want to store a `Pointer` into an +`Allocation`: we cannot turn it into a sequence of `u8` of the right length! +`AllocId` and offset together are twice as big as a pointer "seems" to be. This +is what the `relocation` field of `Allocation` is for: the byte offset of the +`Pointer` gets stored as a bunch of `u8`, while its `AllocId` gets stored +out-of-band. The two are reassembled when the `Pointer` is read from memory. +The other bit of extra data an `Allocation` needs is `undef_mask` for keeping +track of which of its bytes are initialized. + +### Global memory and exotic allocations + +`Memory` exists only during evaluation; it gets destroyed when the +final value of the constant is computed. In case that constant contains any +pointers, those get "interned" and moved to a global "const eval memory" that is +part of `TyCtxt`. These allocations stay around for the remaining computation +and get serialized into the final output (so that dependent crates can use +them). + +Moreover, to also support function pointers, the global memory in `TyCtxt` can +also contain "virtual allocations": instead of an `Allocation`, these contain an +`Instance`. That allows a `Pointer` to point to either normal data or a +function, which is needed to be able to evaluate casts from function pointers to +raw pointers. + +Finally, the [`GlobalAlloc`] type used in the global memory also contains a +variant `Static` that points to a particular `const` or `static` item. This is +needed to support circular statics, where we need to have a `Pointer` to a +`static` for which we cannot yet have an `Allocation` as we do not know the +bytes of its value. + +[`Memory`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/interpret/struct.Memory.html +[`Allocation`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/interpret/struct.Allocation.html +[`Pointer`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/interpret/struct.Pointer.html +[`GlobalAlloc`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/interpret/enum.GlobalAlloc.html + +### Pointer values vs Pointer types + +One common cause of confusion in the interpreter is that being a pointer *value* and having +a pointer *type* are entirely independent properties. By "pointer value", we +refer to a `Scalar::Ptr` containing a `Pointer` and thus pointing somewhere into +the interpreter's virtual memory. This is in contrast to `Scalar::Raw`, which is just some +concrete integer. + +However, a variable of pointer or reference *type*, such as `*const T` or `&T`, +does not have to have a pointer *value*: it could be obtained by casting or +transmuting an integer to a pointer. +And similarly, when casting or transmuting a reference to some +actual allocation to an integer, we end up with a pointer *value* +(`Scalar::Ptr`) at integer *type* (`usize`). This is a problem because we +cannot meaningfully perform integer operations such as division on pointer +values. + +## Interpretation + +Although the main entry point to constant evaluation is the `tcx.const_eval_*` +functions, there are additional functions in +[rustc_const_eval/src/const_eval](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_const_eval/index.html) +that allow accessing the fields of a `ConstValue` (`ByRef` or otherwise). You should +never have to access an `Allocation` directly except for translating it to the +compilation target (at the moment just LLVM). + +The interpreter starts by creating a virtual stack frame for the current constant that is +being evaluated. There's essentially no difference between a constant and a +function with no arguments, except that constants do not allow local (named) +variables at the time of writing this guide. + +A stack frame is defined by the `Frame` type in +[rustc_const_eval/src/interpret/eval_context.rs](https://github.com/rust-lang/rust/blob/master/compiler/rustc_const_eval/src/interpret/eval_context.rs) +and contains all the local +variables memory (`None` at the start of evaluation). Each frame refers to the +evaluation of either the root constant or subsequent calls to `const fn`. The +evaluation of another constant simply calls `tcx.const_eval_*`, which produce an +entirely new and independent stack frame. + +The frames are just a `Vec`, there's no way to actually refer to a +`Frame`'s memory even if horrible shenanigans are done via unsafe code. The only +memory that can be referred to are `Allocation`s. + +The interpreter now calls the `step` method (in +[rustc_const_eval/src/interpret/step.rs](https://github.com/rust-lang/rust/blob/master/compiler/rustc_const_eval/src/interpret/step.rs) +) until it either returns an error or has no further statements to execute. Each +statement will now initialize or modify the locals or the virtual memory +referred to by a local. This might require evaluating other constants or +statics, which just recursively invokes `tcx.const_eval_*`. diff --git a/src/doc/rustc-dev-guide/src/contributing.md b/src/doc/rustc-dev-guide/src/contributing.md new file mode 100644 index 000000000000..ad1d33265c55 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/contributing.md @@ -0,0 +1,544 @@ +# Contribution Procedures + + + +## Bug reports + +While bugs are unfortunate, they're a reality in software. We can't fix what we +don't know about, so please report liberally. If you're not sure if something +is a bug or not, feel free to file a bug anyway. + +**If you believe reporting your bug publicly represents a security risk to Rust users, +please follow our [instructions for reporting security vulnerabilities][vuln]**. + +[vuln]: https://www.rust-lang.org/policies/security + +If you're using the nightly channel, please check if the bug exists in the +latest toolchain before filing your bug. It might be fixed already. + +If you have the chance, before reporting a bug, please [search existing issues], +as it's possible that someone else has already reported your error. This doesn't +always work, and sometimes it's hard to know what to search for, so consider this +extra credit. We won't mind if you accidentally file a duplicate report. + +Similarly, to help others who encountered the bug find your issue, consider +filing an issue with a descriptive title, which contains information that might +be unique to it. This can be the language or compiler feature used, the +conditions that trigger the bug, or part of the error message if there is any. +An example could be: **"impossible case reached" on lifetime inference for impl +Trait in return position**. + +Opening an issue is as easy as following [this +link](https://github.com/rust-lang/rust/issues/new/choose) and filling out the fields +in the appropriate provided template. + +## Bug fixes or "normal" code changes + +For most PRs, no special procedures are needed. You can just [open a PR], and it +will be reviewed, approved, and merged. This includes most bug fixes, +refactorings, and other user-invisible changes. The next few sections talk +about exceptions to this rule. + +Also, note that it is perfectly acceptable to open WIP PRs or GitHub [Draft PRs]. +Some people prefer to do this so they can get feedback along the +way or share their code with a collaborator. Others do this so they can utilize +the CI to build and test their PR (e.g. when developing on a slow machine). + +[open a PR]: #pull-requests +[Draft PRs]: https://github.blog/2019-02-14-introducing-draft-pull-requests/ + +## New features + +Rust has strong backwards-compatibility guarantees. Thus, new features can't +just be implemented directly in stable Rust. Instead, we have 3 release +channels: stable, beta, and nightly. + +- **Stable**: this is the latest stable release for general usage. +- **Beta**: this is the next release (will be stable within 6 weeks). +- **Nightly**: follows the `master` branch of the repo. This is the only + channel where unstable, incomplete, or experimental features are usable with + feature gates. + +See [this chapter on implementing new features](./implementing_new_features.md) for more +information. + +### Breaking changes + +Breaking changes have a [dedicated section][Breaking Changes] in the dev-guide. + +### Major changes + +The compiler team has a special process for large changes, whether or not they +cause breakage. This process is called a Major Change Proposal (MCP). MCP is a +relatively lightweight mechanism for getting feedback on large changes to the +compiler (as opposed to a full RFC or a design meeting with the team). + +Example of things that might require MCPs include major refactorings, changes +to important types, or important changes to how the compiler does something, or +smaller user-facing changes. + +**When in doubt, ask on [zulip]. It would be a shame to put a lot of work +into a PR that ends up not getting merged!** [See this document][mcpinfo] for +more info on MCPs. + +[mcpinfo]: https://forge.rust-lang.org/compiler/mcp.html +[zulip]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler + +### Performance + +Compiler performance is important. We have put a lot of effort over the last +few years into [gradually improving it][perfdash]. + +[perfdash]: https://perf.rust-lang.org/dashboard.html + +If you suspect that your change may cause a performance regression (or +improvement), you can request a "perf run" (and your reviewer may also request one +before approving). This is yet another bot that will compile a collection of +benchmarks on a compiler with your changes. The numbers are reported +[here][perf], and you can see a comparison of your changes against the latest +master. + +> For an introduction to the performance of Rust code in general +> which would also be useful in rustc development, see [The Rust Performance Book]. + +[perf]: https://perf.rust-lang.org +[The Rust Performance Book]: https://nnethercote.github.io/perf-book/ + +## Pull requests + +Pull requests (or PRs for short) are the primary mechanism we use to change Rust. +GitHub itself has some [great documentation][about-pull-requests] on using the +Pull Request feature. We use the "fork and pull" model [described here][development-models], +where contributors push changes to their personal fork and create pull requests to +bring those changes into the source repository. We have more info about how to use git +when contributing to Rust under [the git section](./git.md). + +> **Advice for potentially large, complex, cross-cutting and/or very domain-specific changes** +> +> The compiler reviewers on rotation usually each have areas of the compiler that they know well, +> but also have areas that they are not very familiar with. If your PR contains changes that are +> large, complex, cross-cutting and/or highly domain-specific, it becomes very difficult to find a +> suitable reviewer who is comfortable in reviewing all of the changes in such a PR. This is also +> true if the changes are not only compiler-specific but also contains changes which fall under the +> purview of reviewers from other teams, like the standard library team. [There's a bot][triagebot] +> which notifies the relevant teams and pings people who have setup specific alerts based on the +> files modified. +> +> Before making such changes, you are strongly encouraged to **discuss your proposed changes with +> the compiler team beforehand** (and with other teams that the changes would require approval +> from), and work with the compiler team to see if we can help you **break down a large potentially +> unreviewable PR into a series of smaller more individually reviewable PRs**. +> +> You can communicate with the compiler team by creating a [#t-compiler thread on zulip][t-compiler] +> to discuss your proposed changes. +> +> Communicating with the compiler team beforehand helps in several ways: +> +> 1. It increases the likelihood of your PRs being reviewed in a timely manner. +> - We can help you identify suitable reviewers *before* you open actual PRs, or help find +> advisors and liaisons to help you navigate the change procedures, or help with running +> try-jobs, perf runs and crater runs as suitable. +> 2. It helps the compiler team track your changes. +> 3. The compiler team can perform vibe checks on your changes early and often, to see if the +> direction of the changes align with what the compiler team prefers to see. +> 4. Helps to avoid situations where you may have invested significant time and effort into large +> changes that the compiler team might not be willing to accept, or finding out very late that the +> changes are in a direction that the compiler team disagrees with. + +[about-pull-requests]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests +[development-models]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models#fork-and-pull-model +[t-compiler]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler +[triagebot]: https://github.com/rust-lang/rust/blob/master/triagebot.toml + +### r? + +All pull requests are reviewed by another person. We have a bot, +[@rustbot], that will automatically assign a random person +to review your request based on which files you changed. + +If you want to request that a specific person reviews your pull request, you +can add an `r?` to the pull request description or in a comment. For example, +if you want to ask a review to @awesome-reviewer, add + + r? @awesome-reviewer + +to the end of the pull request description, and [@rustbot] will assign +them instead of a random person. This is entirely optional. + +You can also assign a random reviewer from a specific team by writing `r? rust-lang/groupname`. +As an example, +if you were making a diagnostics change, +then you could get a reviewer from the diagnostics team by adding: + + r? rust-lang/diagnostics + +For a full list of possible `groupname`s, +check the `adhoc_groups` section at the [triagebot.toml config file], +or the list of teams in the [rust-lang teams database]. + +### Waiting for reviews + +> NOTE +> +> Pull request reviewers are often working at capacity, +> and many of them are contributing on a volunteer basis. +> In order to minimize review delays, +> pull request authors and assigned reviewers should ensure that the review label +> (`S-waiting-on-review` and `S-waiting-on-author`) stays updated, +> invoking these commands when appropriate: +> +> - `@rustbot author`: +> the review is finished, +> and PR author should check the comments and take action accordingly. +> +> - `@rustbot review`: +> the author is ready for a review, +> and this PR will be queued again in the reviewer's queue. + +Please note that the reviewers are humans, who for the most part work on `rustc` +in their free time. This means that they can take some time to respond and review +your PR. It also means that reviewers can miss some PRs that are assigned to them. + +To try to move PRs forward, the Triage WG regularly goes through all PRs that +are waiting for review and haven't been discussed for at least 2 weeks. If you +don't get a review within 2 weeks, feel free to ask the Triage WG on +Zulip ([#t-release/triage]). They have knowledge of when to ping, who might be +on vacation, etc. + +The reviewer may request some changes using the GitHub code review interface. +They may also request special procedures for some PRs. +See [Crater] and [Breaking Changes] chapters for some examples of such procedures. + +[r?]: https://github.com/rust-lang/rust/pull/78133#issuecomment-712692371 +[#t-release/triage]: https://rust-lang.zulipchat.com/#narrow/stream/242269-t-release.2Ftriage +[Crater]: tests/crater.md + +### CI + +In addition to being reviewed by a human, pull requests are automatically tested, +thanks to continuous integration (CI). Basically, every time you open and update +a pull request, CI builds the compiler and tests it against the +[compiler test suite], and also performs other tests such as checking that +your pull request is in compliance with Rust's style guidelines. + +Running continuous integration tests allows PR authors to catch mistakes early +without going through a first review cycle, and also helps reviewers stay aware +of the status of a particular pull request. + +Rust has plenty of CI capacity, and you should never have to worry about wasting +computational resources each time you push a change. It is also perfectly fine +(and even encouraged!) to use the CI to test your changes if it can help your +productivity. In particular, we don't recommend running the full `./x test` suite locally, +since it takes a very long time to execute. + +### r+ + +After someone has reviewed your pull request, they will leave an annotation +on the pull request with an `r+`. It will look something like this: + + @bors r+ + +This tells [@bors], our lovable integration bot, that your pull request has +been approved. The PR then enters the [merge queue], where [@bors] +will run *all* the tests on *every* platform we support. If it all works out, +[@bors] will merge your code into `master` and close the pull request. + +Depending on the scale of the change, you may see a slightly different form of `r+`: + + @bors r+ rollup + +The additional `rollup` tells [@bors] that this change should always be "rolled up". +Changes that are rolled up are tested and merged alongside other PRs, to +speed the process up. Typically only small changes that are expected not to conflict +with one another are marked as "always roll up". + +Be patient; this can take a while and the queue can sometimes be long. PRs are never merged by hand. + +[@rustbot]: https://github.com/rustbot +[@bors]: https://github.com/bors + +### Opening a PR + +You are now ready to file a pull request? Great! Here are a few points you +should be aware of. + +All pull requests should be filed against the `master` branch, +unless you know for sure that you should target a different branch. + +Make sure your pull request is in compliance with Rust's style guidelines by running + + $ ./x test tidy --bless + +We recommend to make this check before every pull request (and every new commit +in a pull request); you can add [git hooks] +before every push to make sure you never forget to make this check. +The CI will also run tidy and will fail if tidy fails. + +Rust follows a _no merge-commit policy_, meaning, when you encounter merge +conflicts you are expected to always rebase instead of merging. E.g. always use +rebase when bringing the latest changes from the master branch to your feature +branch. If your PR contains merge commits, it will get marked as `has-merge-commits`. +Once you have removed the merge commits, e.g., through an interactive rebase, you +should remove the label again: + + @rustbot label -has-merge-commits + +See [this chapter][labeling] for more details. + +If you encounter merge conflicts or when a reviewer asks you to perform some +changes, your PR will get marked as `S-waiting-on-author`. When you resolve +them, you should use `@rustbot` to mark it as `S-waiting-on-review`: + + @rustbot ready + +GitHub allows [closing issues using keywords][closing-keywords]. This feature +should be used to keep the issue tracker tidy. However, it is generally preferred +to put the "closes #123" text in the PR description rather than the issue commit; +particularly during rebasing, citing the issue number in the commit can "spam" +the issue in question. + +However, if your PR fixes a stable-to-beta or stable-to-stable regression and has +been accepted for a beta and/or stable backport (i.e., it is marked `beta-accepted` +and/or `stable-accepted`), please do *not* use any such keywords since we don't +want the corresponding issue to get auto-closed once the fix lands on master. +Please update the PR description while still mentioning the issue somewhere. +For example, you could write `Fixes (after beta backport) #NNN.`. + +As for further actions, please keep a sharp look-out for a PR whose title begins with +`[beta]` or `[stable]` and which backports the PR in question. When that one gets +merged, the relevant issue can be closed. The closing comment should mention all +PRs that were involved. If you don't have the permissions to close the issue, please +leave a comment on the original PR asking the reviewer to close it for you. + +[labeling]: ./rustbot.md#issue-relabeling +[closing-keywords]: https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue + +### Reverting a PR + +When a PR leads to miscompile, significant performance regressions, or other critical issues, we may +want to revert that PR with a regression test case. You can also check out the [revert policy] on +Forge docs (which is mainly targeted for reviewers, but contains useful info for PR authors too). + +If the PR contains huge changes, it can be challenging to revert, making it harder to review +incremental fixes in subsequent updates. Or if certain code in that PR is heavily depended upon by +subsequent PRs, reverting it can become difficult. + +In such cases, we can identify the problematic code and disable it for some input, as shown in [#128271][#128271]. + +For MIR optimizations, we can also use the `-Zunsound-mir-opt` option to gate the mir-opt, as shown +in [#132356][#132356]. + +[revert policy]: https://forge.rust-lang.org/compiler/reviews.html?highlight=revert#reverts +[#128271]: https://github.com/rust-lang/rust/pull/128271 +[#132356]: https://github.com/rust-lang/rust/pull/132356 + +## External dependencies + +This section has moved to ["Using External Repositories"](./external-repos.md). + +## Writing documentation + +Documentation improvements are very welcome. The source of `doc.rust-lang.org` +is located in [`src/doc`] in the tree, and standard API documentation is generated +from the source code itself (e.g. [`library/std/src/lib.rs`][std-root]). Documentation pull requests +function in the same way as other pull requests. + +[`src/doc`]: https://github.com/rust-lang/rust/tree/master/src/doc +[std-root]: https://github.com/rust-lang/rust/blob/master/library/std/src/lib.rs#L1 + +To find documentation-related issues, sort by the [A-docs label]. + +You can find documentation style guidelines in [RFC 1574]. + +To build the standard library documentation, use `x doc --stage 0 library --open`. +To build the documentation for a book (e.g. the unstable book), use `x doc src/doc/unstable-book.` +Results should appear in `build/host/doc`, as well as automatically open in your default browser. +See [Building Documentation](./building/compiler-documenting.md#building-documentation) for more +information. + +You can also use `rustdoc` directly to check small fixes. For example, +`rustdoc src/doc/reference.md` will render reference to `doc/reference.html`. +The CSS might be messed up, but you can verify that the HTML is right. + +### Contributing to rustc-dev-guide + +Contributions to the [rustc-dev-guide] are always welcome, and can be made directly at +[the rust-lang/rustc-dev-guide repo][rdgrepo]. +The issue tracker in that repo is also a great way to find things that need doing. +There are issues for beginners and advanced compiler devs alike! + +Just a few things to keep in mind: + +- Please try to avoid overly long lines and use semantic line breaks (where you break the line after each sentence). + There is no strict limit on line lengths; let the sentence or part of the sentence flow to its proper end on the same line. + +- When contributing text to the guide, please contextualize the information with some time period + and/or a reason so that the reader knows how much to trust or mistrust the information. + Aim to provide a reasonable amount of context, possibly including but not limited to: + + - A reason for why the data may be out of date other than "change", + as change is a constant across the project. + + - The date the comment was added, e.g. instead of writing _"Currently, ..."_ + or _"As of now, ..."_, + consider adding the date, in one of the following formats: + - Jan 2021 + - January 2021 + - jan 2021 + - january 2021 + + There is a CI action (in `~/.github/workflows/date-check.yml`) + that generates a monthly showing those that are over 6 months old + ([example](https://github.com/rust-lang/rustc-dev-guide/issues/2052)). + + For the action to pick the date, + add a special annotation before specifying the date: + + ```md + Sep 2024 + ``` + + Example: + + ```md + As of Sep 2024, the foo did the bar. + ``` + + For cases where the date should not be part of the visible rendered output, + use the following instead: + + ```md + + ``` + + - A link to a relevant WG, tracking issue, `rustc` rustdoc page, or similar, that may provide + further explanation for the change process or a way to verify that the information is not + outdated. + +- If a text grows rather long (more than a few page scrolls) or complicated (more than four + subsections), + it might benefit from having a Table of Contents at the beginning, + which you can auto-generate by including the `` marker at the top. + +## Issue triage + +Sometimes, an issue will stay open, even though the bug has been fixed. +And sometimes, the original bug may go stale because something has changed in the meantime. + +It can be helpful to go through older bug reports and make sure that they are still valid. +Load up an older issue, double check that it's still true, +and leave a comment letting us know if it is or is not. +The [least recently updated sort][lru] is good for finding issues like this. + +[Thanks to `@rustbot`][rustbot], anyone can help triage issues by adding +appropriate labels to issues that haven't been triaged yet: + +[lru]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-asc +[rustbot]: ./rustbot.md + + + +| Labels | Color | Description | +|--------|-------|-------------| +| [A-] |  Yellow | The **area** of the project an issue relates to. | +| [B-] |  Magenta | Issues which are **blockers**. | +| [beta-] |  Dark Blue | Tracks changes which need to be [backported to beta][beta-backport] | +| [C-] |  Light Purple | The **category** of an issue. | +| [D-] |  Mossy Green | Issues for **diagnostics**. | +| [E-] |  Green | The **experience** level necessary to fix an issue. | +| [F-] |  Peach | Issues for **nightly features**. | +| [I-] |  Red | The **importance** of the issue. | +| [I-\*-nominated] |  Red | The issue has been nominated for discussion at the next meeting of the corresponding team. | +| [I-prioritize] |  Red | The issue has been nominated for prioritization by the team tagged with a **T**-prefixed label. | +| [L-] |  Teal | The relevant **lint**. | +| [metabug] |  Purple | Bugs that collect other bugs. | +| [O-] |  Purple Grey | The **operating system** or platform that the issue is specific to. | +| [P-] |  Orange | The issue **priority**. These labels can be assigned by anyone that understand the issue and is able to prioritize it, and remove the [I-prioritize] label. | +| [regression-] |  Pink | Tracks regressions from a stable release. | +| [relnotes] |  Light Orange | Changes that should be documented in the release notes of the next release. | +| [S-] |  Gray | Tracks the **status** of pull requests. | +| [S-tracking-] |  Steel Blue | Tracks the **status** of [tracking issues]. | +| [stable-] |  Dark Blue | Tracks changes which need to be [backported to stable][stable-backport] in anticipation of a point release. | +| [T-] |  Blue | Denotes which **team** the issue belongs to. | +| [WG-] |  Green | Denotes which **working group** the issue belongs to. | + + +[A-]: https://github.com/rust-lang/rust/labels?q=A +[B-]: https://github.com/rust-lang/rust/labels?q=B +[C-]: https://github.com/rust-lang/rust/labels?q=C +[D-]: https://github.com/rust-lang/rust/labels?q=D +[E-]: https://github.com/rust-lang/rust/labels?q=E +[F-]: https://github.com/rust-lang/rust/labels?q=F +[I-]: https://github.com/rust-lang/rust/labels?q=I +[L-]: https://github.com/rust-lang/rust/labels?q=L +[O-]: https://github.com/rust-lang/rust/labels?q=O +[P-]: https://github.com/rust-lang/rust/labels?q=P +[S-]: https://github.com/rust-lang/rust/labels?q=S +[T-]: https://github.com/rust-lang/rust/labels?q=T +[WG-]: https://github.com/rust-lang/rust/labels?q=WG +[stable-]: https://github.com/rust-lang/rust/labels?q=stable +[beta-]: https://github.com/rust-lang/rust/labels?q=beta +[I-\*-nominated]: https://github.com/rust-lang/rust/labels?q=nominated +[I-prioritize]: https://github.com/rust-lang/rust/labels/I-prioritize +[tracking issues]: https://github.com/rust-lang/rust/labels/C-tracking-issue +[beta-backport]: https://forge.rust-lang.org/release/backporting.html#beta-backporting-in-rust-langrust +[stable-backport]: https://forge.rust-lang.org/release/backporting.html#stable-backporting-in-rust-langrust +[metabug]: https://github.com/rust-lang/rust/labels/metabug +[regression-]: https://github.com/rust-lang/rust/labels?q=regression +[relnotes]: https://github.com/rust-lang/rust/labels/relnotes +[S-tracking-]: https://github.com/rust-lang/rust/labels?q=s-tracking + +### Rfcbot labels + +[rfcbot] uses its own labels for tracking the process of coordinating +asynchronous decisions, such as approving or rejecting a change. +This is used for [RFCs], issues, and pull requests. + +| Labels | Color | Description | +|--------|-------|-------------| +| [proposed-final-comment-period] |  Gray | Currently awaiting signoff of all team members in order to enter the final comment period. | +| [disposition-merge] |  Green | Indicates the intent is to merge the change. | +| [disposition-close] |  Red | Indicates the intent is to not accept the change and close it. | +| [disposition-postpone] |  Gray | Indicates the intent is to not accept the change at this time and postpone it to a later date. | +| [final-comment-period] |  Blue | Currently soliciting final comments before merging or closing. | +| [finished-final-comment-period] |  Light Yellow | The final comment period has concluded, and the issue will be merged or closed. | +| [postponed] |  Yellow | The issue has been postponed. | +| [closed] |  Red | The issue has been rejected. | +| [to-announce] |  Gray | Issues that have finished their final-comment-period and should be publicly announced. Note: the rust-lang/rust repository uses this label differently, to announce issues at the triage meetings. | + +[disposition-merge]: https://github.com/rust-lang/rust/labels/disposition-merge +[disposition-close]: https://github.com/rust-lang/rust/labels/disposition-close +[disposition-postpone]: https://github.com/rust-lang/rust/labels/disposition-postpone +[proposed-final-comment-period]: https://github.com/rust-lang/rust/labels/proposed-final-comment-period +[final-comment-period]: https://github.com/rust-lang/rust/labels/final-comment-period +[finished-final-comment-period]: https://github.com/rust-lang/rust/labels/finished-final-comment-period +[postponed]: https://github.com/rust-lang/rfcs/labels/postponed +[closed]: https://github.com/rust-lang/rfcs/labels/closed +[to-announce]: https://github.com/rust-lang/rfcs/labels/to-announce +[rfcbot]: https://github.com/anp/rfcbot-rs/ +[RFCs]: https://github.com/rust-lang/rfcs + +## Helpful links and information + +This section has moved to the ["About this guide"] chapter. + +["About this guide"]: about-this-guide.md#other-places-to-find-information +[search existing issues]: https://github.com/rust-lang/rust/issues?q=is%3Aissue +[Breaking Changes]: bug-fix-procedure.md +[triagebot.toml config file]: https://github.com/rust-lang/rust/blob/HEAD/triagebot.toml +[rust-lang teams database]: https://github.com/rust-lang/team/tree/HEAD/teams +[compiler test suite]: tests/intro.md +[merge queue]: https://bors.rust-lang.org/queue/rust +[git hooks]: https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks +[A-docs label]: https://github.com/rust-lang/rust/issues?q=is%3Aopen%20is%3Aissue%20label%3AA-docs +[RFC 1574]: https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md#appendix-a-full-conventions-text +[rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/ +[rdgrepo]: https://github.com/rust-lang/rustc-dev-guide diff --git a/src/doc/rustc-dev-guide/src/conventions.md b/src/doc/rustc-dev-guide/src/conventions.md new file mode 100644 index 000000000000..37af8121cd1d --- /dev/null +++ b/src/doc/rustc-dev-guide/src/conventions.md @@ -0,0 +1,168 @@ +This file offers some tips on the coding conventions for rustc. This +chapter covers [formatting](#formatting), [coding for correctness](#cc), +[using crates from crates.io](#cio), and some tips on +[structuring your PR for easy review](#er). + + + +# Formatting and the tidy script + +rustc is moving towards the [Rust standard coding style][fmt]. + +However, for now we don't use stable `rustfmt`; we use a pinned version with a +special config, so this may result in different style from normal [`rustfmt`]. +Therefore, formatting this repository using `cargo fmt` is not recommended. + +Instead, formatting should be done using `./x fmt`. It's a good habit to run +`./x fmt` before every commit, as this reduces conflicts later. + +Formatting is checked by the `tidy` script. It runs automatically when you do +`./x test` and can be run in isolation with `./x fmt --check`. + +If you want to use format-on-save in your editor, the pinned version of +`rustfmt` is built under `build//stage0/bin/rustfmt`. You'll have to +pass the `--edition=2021` argument yourself when calling +`rustfmt` directly. + +[fmt]: https://github.com/rust-dev-tools/fmt-rfcs +[`rustfmt`]:https://github.com/rust-lang/rustfmt + +## Formatting C++ code + +The compiler contains some C++ code for interfacing with parts of LLVM that +don't have a stable C API. +When modifying that code, use this command to format it: + +```sh +./x test tidy --extra-checks=cpp:fmt --bless +``` + +This uses a pinned version of `clang-format`, to avoid relying on the local +environment. + + + + + +## Copyright notice + + +In the past, files began with a copyright and license notice. Please **omit** +this notice for new files licensed under the standard terms (dual +MIT/Apache-2.0). + +All of the copyright notices should be gone by now, but if you come across one +in the rust-lang/rust repo, feel free to open a PR to remove it. + +## Line length + +Lines should be at most 100 characters. It's even better if you can +keep things to 80. + +**Ignoring the line length limit.** Sometimes – in particular for +tests – it can be necessary to exempt yourself from this limit. In +that case, you can add a comment towards the top of the file like so: + +```rust +// ignore-tidy-linelength +``` + +## Tabs vs spaces + +Prefer 4-space indent. + + + +# Coding for correctness + +Beyond formatting, there are a few other tips that are worth +following. + +## Prefer exhaustive matches + +Using `_` in a match is convenient, but it means that when new +variants are added to the enum, they may not get handled correctly. +Ask yourself: if a new variant were added to this enum, what's the +chance that it would want to use the `_` code, versus having some +other treatment? Unless the answer is "low", then prefer an +exhaustive match. (The same advice applies to `if let` and `while +let`, which are effectively tests for a single variant.) + +## Use "TODO" comments for things you don't want to forget + +As a useful tool to yourself, you can insert a `// TODO` comment +for something that you want to get back to before you land your PR: + +```rust,ignore +fn do_something() { + if something_else { + unimplemented!(); // TODO write this + } +} +``` + +The tidy script will report an error for a `// TODO` comment, so this +code would not be able to land until the TODO is fixed (or removed). + +This can also be useful in a PR as a way to signal from one commit that you are +leaving a bug that a later commit will fix: + +```rust,ignore +if foo { + return true; // TODO wrong, but will be fixed in a later commit +} +``` + + + +# Using crates from crates.io + +See the [crates.io dependencies][crates] section. + + + +# How to structure your PR + +How you prepare the commits in your PR can make a big difference for the +reviewer. Here are some tips. + +**Isolate "pure refactorings" into their own commit.** For example, if +you rename a method, then put that rename into its own commit, along +with the renames of all the uses. + +**More commits is usually better.** If you are doing a large change, +it's almost always better to break it up into smaller steps that can +be independently understood. The one thing to be aware of is that if +you introduce some code following one strategy, then change it +dramatically (versus adding to it) in a later commit, that +'back-and-forth' can be confusing. + +**Format liberally.** While only the final commit of a PR must be correctly +formatted, it is both easier to review and less noisy to format each commit +individually using `./x fmt`. + +**No merges.** We do not allow merge commits into our history, other +than those by bors. If you get a merge conflict, rebase instead via a +command like `git rebase -i rust-lang/master` (presuming you use the +name `rust-lang` for your remote). + +**Individual commits do not have to build (but it's nice).** We do not +require that every intermediate commit successfully builds – we only +expect to be able to bisect at a PR level. However, if you *can* make +individual commits build, that is always helpful. + +# Naming conventions + +Apart from normal Rust style/naming conventions, there are also some specific +to the compiler. + +- `cx` tends to be short for "context" and is often used as a suffix. For + example, `tcx` is a common name for the [Typing Context][tcx]. + +- [`'tcx`][tcx] is used as the lifetime name for the Typing Context. + +- Because `crate` is a keyword, if you need a variable to represent something + crate-related, often the spelling is changed to `krate`. + +[tcx]: ./ty.md +[crates]: ./crates-io.md diff --git a/src/doc/rustc-dev-guide/src/coroutine-closures.md b/src/doc/rustc-dev-guide/src/coroutine-closures.md new file mode 100644 index 000000000000..04742d03c50d --- /dev/null +++ b/src/doc/rustc-dev-guide/src/coroutine-closures.md @@ -0,0 +1,293 @@ +Please read [RFC 3668](https://rust-lang.github.io/rfcs/3668-async-closures.html) to understand the general motivation of the feature. This is a very technical and somewhat "vertical" chapter; ideally we'd split this and sprinkle it across all the relevant chapters, but for the purposes of understanding async closures *holistically*, I've put this together all here in one chapter. + +# Coroutine-closures -- a technical deep dive + +Coroutine-closures are a generalization of async closures, being special syntax for closure expressions which return a coroutine, notably one that is allowed to capture from the closure's upvars. + +For now, the only usable kind of coroutine-closure is the async closure, and supporting async closures is the extent of this PR. We may eventually support `gen || {}`, etc., and most of the problems and curiosities described in this document apply to all coroutine-closures in general. + +As a consequence of the code being somewhat general, this document may flip between calling them "async closures" and "coroutine-closures". The future that is returned by the async closure will generally be called the "coroutine" or the "child coroutine". + +## HIR + +Async closures (and in the future, other coroutine flavors such as `gen`) are represented in HIR as a `hir::Closure` whose closure-kind is `ClosureKind::CoroutineClosure(_)`[^k1], which wraps an async block, which is also represented in HIR as a `hir::Closure`) and whose closure-kind is `ClosureKind::Closure(CoroutineKind::Desugared(_, CoroutineSource::Closure))`[^k2]. + +[^k1]: + +[^k2]: + +Like `async fn`, when lowering an async closure's body, we need to unconditionally move all of the closures arguments into the body so they are captured. This is handled by `lower_coroutine_body_with_moved_arguments`[^l1]. The only notable quirk with this function is that the async block we end up generating as a capture kind of `CaptureBy::ByRef`[^l2]. We later force all of the *closure args* to be captured by-value[^l3], but we don't want the *whole* async block to act as if it were an `async move`, since that would defeat the purpose of the self-borrowing of an async closure. + +[^l1]: + +[^l2]: + +[^l3]: + +## `rustc_middle::ty` Representation + +For the purposes of keeping the implementation mostly future-compatible (i.e. with gen `|| {}` and `async gen || {}`), most of this section calls async closures "coroutine-closures". + +The main thing that this PR introduces is a new `TyKind` called `CoroutineClosure`[^t1] and corresponding variants on other relevant enums in typeck and borrowck (`UpvarArgs`, `DefiningTy`, `AggregateKind`). + +[^t1]: + +We introduce a new `TyKind` instead of generalizing the existing `TyKind::Closure` due to major representational differences in the type. The major differences between `CoroutineClosure`s can be explored by first inspecting the `CoroutineClosureArgsParts`, which is the "unpacked" representation of the coroutine-closure's generics. + +#### Similarities to closures + +Like a closure, we have `parent_args`, a `closure_kind_ty`, and a `tupled_upvars_ty`. These represent the same thing as their closure counterparts; namely: the generics inherited from the body that the closure is defined in, the maximum "calling capability" of the closure (i.e. must it be consumed to be called, like `FnOnce`, or can it be called by-ref), and the captured upvars of the closure itself. + +#### The signature + +A traditional closure has a `fn_sig_as_fn_ptr_ty` which it uses to represent the signature of the closure. In contrast, we store the signature of a coroutine closure in a somewhat "exploded" way, since coroutine-closures have *two* signatures depending on what `AsyncFn*` trait you call it with (see below sections). + +Conceptually, the coroutine-closure may be thought as containing several different signature types depending on whether it is being called by-ref or by-move. + +To conveniently recreate both of these signatures, the `signature_parts_ty` stores all of the relevant parts of the coroutine returned by this coroutine-closure. This signature parts type will have the general shape of `fn(tupled_inputs, resume_ty) -> (return_ty, yield_ty)`, where `resume_ty`, `return_ty`, and `yield_ty` are the respective types for the *coroutine* returned by the coroutine-closure[^c1]. + +[^c1]: + +The compiler mainly deals with the `CoroutineClosureSignature` type[^c2], which is created by extracting the relevant types out of the `fn()` ptr type described above, and which exposes methods that can be used to construct the *coroutine* that the coroutine-closure ultimately returns. + +[^c2]: + +#### The data we need to carry along to construct a `Coroutine` return type + +Along with the data stored in the signature, to construct a `TyKind::Coroutine` to return, we also need to store the "witness" of the coroutine. + +So what about the upvars of the `Coroutine` that is returned? Well, for `AsyncFnOnce` (i.e. call-by-move), this is simply the same upvars that the coroutine returns. But for `AsyncFnMut`/`AsyncFn`, the coroutine that is returned from the coroutine-closure borrows data from the coroutine-closure with a given "environment" lifetime[^c3]. This corresponds to the `&self` lifetime[^c4] on the `AsyncFnMut`/`AsyncFn` call signature, and the GAT lifetime of the `ByRef`[^c5]. + +[^c3]: + +[^c4]: + +[^c5]: + +#### Actually getting the coroutine return type(s) + +To most easily construct the `Coroutine` that a coroutine-closure returns, you can use the `to_coroutine_given_kind_and_upvars`[^helper] helper on `CoroutineClosureSignature`, which can be acquired from the `CoroutineClosureArgs`. + +[^helper]: + +Most of the args to that function will be components that you can get out of the `CoroutineArgs`, except for the `goal_kind: ClosureKind` which controls which flavor of coroutine to return based off of the `ClosureKind` passed in -- i.e. it will prepare the by-ref coroutine if `ClosureKind::Fn | ClosureKind::FnMut`, and the by-move coroutine if `ClosureKind::FnOnce`. + +## Trait Hierarchy + +We introduce a parallel hierarchy of `Fn*` traits that are implemented for . The motivation for the introduction was covered in a blog post: [Async Closures](https://hackmd.io/@compiler-errors/async-closures). + +All currently-stable callable types (i.e., closures, function items, function pointers, and `dyn Fn*` trait objects) automatically implement `AsyncFn*() -> T` if they implement `Fn*() -> Fut` for some output type `Fut`, and `Fut` implements `Future`[^tr1]. + +[^tr1]: + +Async closures implement `AsyncFn*` as their bodies permit; i.e. if they end up using upvars in a way that is compatible (i.e. if they consume or mutate their upvars, it may affect whether they implement `AsyncFn` and `AsyncFnMut`...) + +#### Lending + +We may in the future move `AsyncFn*` onto a more general set of `LendingFn*` traits; however, there are some concrete technical implementation details that limit our ability to use `LendingFn` ergonomically in the compiler today. These have to do with: + +- Closure signature inference. +- Limitations around higher-ranked trait bounds. +- Shortcomings with error messages. + +These limitations, plus the fact that the underlying trait should have no effect on the user experience of async closures and async `Fn` trait bounds, leads us to `AsyncFn*` for now. To ensure we can eventually move to these more general traits, the precise `AsyncFn*` trait definitions (including the associated types) are left as an implementation detail. + +#### When do async closures implement the regular `Fn*` traits? + +We mention above that "regular" callable types can implement `AsyncFn*`, but the reverse question exists of "can async closures implement `Fn*` too"? The short answer is "when it's valid", i.e. when the coroutine that would have been returned from `AsyncFn`/`AsyncFnMut` does not actually have any upvars that are "lent" from the parent coroutine-closure. + +See the "follow-up: when do..." section below for an elaborated answer. The full answer describes a pretty interesting and hopefully thorough heuristic that is used to ensure that most async closures "just work". + +## Tale of two bodies... + +When async closures are called with `AsyncFn`/`AsyncFnMut`, they return a coroutine that borrows from the closure. However, when they are called via `AsyncFnOnce`, we consume that closure, and cannot return a coroutine that borrows from data that is now dropped. + +To work around around this limitation, we synthesize a separate by-move MIR body for calling `AsyncFnOnce::call_once` on a coroutine-closure that can be called by-ref. + +This body operates identically to the "normal" coroutine returned from calling the coroutine-closure, except for the fact that it has a different set of upvars, since we must *move* the captures from the parent coroutine-closure into the child coroutine. + +#### Synthesizing the by-move body + +When we want to access the by-move body of the coroutine returned by a coroutine-closure, we can do so via the `coroutine_by_move_body_def_id`[^b1] query. + +[^b1]: + +This query synthesizes a new MIR body by copying the MIR body of the coroutine and inserting additional derefs and field projections[^b2] to preserve the semantics of the body. + +[^b2]: + +Since we've synthesized a new def id, this query is also responsible for feeding a ton of other relevant queries for the MIR body. This query is `ensure()`d[^b3] during the `mir_promoted` query, since it operates on the *built* mir of the coroutine. + +[^b3]: + +## Closure signature inference + +The closure signature inference algorithm for async closures is a bit more complicated than the inference algorithm for "traditional" closures. Like closures, we iterate through all of the clauses that may be relevant (for the expectation type passed in)[^deduce1]. + +To extract a signature, we consider two situations: +* Projection predicates with `AsyncFnOnce::Output`, which we will use to extract the inputs and output type for the closure. This corresponds to the situation that there was a `F: AsyncFn*() -> T` bound[^deduce2]. +* Projection predicates with `FnOnce::Output`, which we will use to extract the inputs. For the output, we also try to deduce an output by looking for relevant `Future::Output` projection predicates. This corresponds to the situation that there was an `F: Fn*() -> T, T: Future` bound.[^deduce3] + * If there is no `Future` bound, we simply use a fresh infer var for the output. This corresponds to the case where one can pass an async closure to a combinator function like `Option::map`.[^deduce4] + +[^deduce1]: + +[^deduce2]: + +[^deduce3]: + +[^deduce4]: + +We support the latter case simply to make it easier for users to simply drop-in `async || {}` syntax, even when they're calling an API that was designed before first-class `AsyncFn*` traits were available. + +#### Calling a closure before its kind has been inferred + +We defer[^call1] the computation of a coroutine-closure's "kind" (i.e. its maximum calling mode: `AsyncFnOnce`/`AsyncFnMut`/`AsyncFn`) until the end of typeck. However, since we want to be able to call that coroutine-closure before the end of typeck, we need to come up with the return type of the coroutine-closure before that. + +[^call1]: + +Unlike regular closures, whose return type does not change depending on what `Fn*` trait we call it with, coroutine-closures *do* end up returning different coroutine types depending on the flavor of `AsyncFn*` trait used to call it. + +Specifically, while the def-id of the returned coroutine does not change, the upvars[^call2] (which are either borrowed or moved from the parent coroutine-closure) and the coroutine-kind[^call3] are dependent on the calling mode. + +[^call2]: + +[^call3]: + +We introduce a `AsyncFnKindHelper` trait which allows us to defer the question of "does this coroutine-closure support this calling mode"[^helper1] via a trait goal, and "what are the tupled upvars of this calling mode"[^helper2] via an associated type, which can be computed by appending the input types of the coroutine-closure to either the upvars or the "by ref" upvars computed during upvar analysis. + +[^helper1]: + +[^helper2]: + +#### Ok, so why? + +This seems a bit roundabout and complex, and I admit that it is. But let's think of the "do nothing" alternative -- we could instead mark all `AsyncFn*` goals as ambiguous until upvar analysis, at which point we would know exactly what to put into the upvars of the coroutine we return. However, this is actually *very* detrimental to inference in the program, since it means that programs like this would not be valid: + +```rust! +let c = async || -> String { .. }; +let s = c().await; +// ^^^ If we can't project `<{c} as AsyncFn>::call()` to a coroutine, then the `IntoFuture::into_future` call inside of the `.await` stalls, and the type of `s` is left unconstrained as an infer var. +s.as_bytes(); +// ^^^ That means we can't call any methods on the awaited return of a coroutine-closure, like... at all! +``` + +So *instead*, we use this alias (in this case, a projection: `AsyncFnKindHelper::Upvars<'env, ...>`) to delay the computation of the *tupled upvars* and give us something to put in its place, while still allowing us to return a `TyKind::Coroutine` (which is a rigid type) and we may successfully confirm the built-in traits we need (in our case, `Future`), since the `Future` implementation doesn't depend on the upvars at all. + +## Upvar analysis + +By and large, the upvar analysis for coroutine-closures and their child coroutines proceeds like normal upvar analysis. However, there are several interesting bits that happen to account for async closures' special natures: + +#### Forcing all inputs to be captured + +Like async fn, all input arguments are captured. We explicitly force[^f1] all of these inputs to be captured by move so that the future coroutine returned by async closures does not depend on whether the input is *used* by the body or not, which would impart an interesting semver hazard. + +[^f1]: + +#### Computing the by-ref captures + +For a coroutine-closure that supports `AsyncFn`/`AsyncFnMut`, we must also compute the relationship between the captures of the coroutine-closure and its child coroutine. Specifically, the coroutine-closure may `move` a upvar into its captures, but the coroutine may only borrow that upvar. + +We compute the "`coroutine_captures_by_ref_ty`" by looking at all of the child coroutine's captures and comparing them to the corresponding capture of the parent coroutine-closure[^br1]. This `coroutine_captures_by_ref_ty` ends up being represented as a `for<'env> fn() -> captures...` type, with the additional binder lifetime representing the "`&self`" lifetime of calling `AsyncFn::async_call` or `AsyncFnMut::async_call_mut`. We instantiate that binder later when actually calling the methods. + +[^br1]: + +Note that not every by-ref capture from the parent coroutine-closure results in a "lending" borrow. See the **Follow-up: When do async closures implement the regular `Fn*` traits?** section below for more details, since this intimately influences whether or not the coroutine-closure is allowed to implement the `Fn*` family of traits. + +#### By-move body + `FnOnce` quirk + +There are several situations where the closure upvar analysis ends up inferring upvars for the coroutine-closure's child coroutine that are too relaxed, and end up resulting in borrow-checker errors. This is best illustrated via examples. For example, given: + +```rust +fn force_fnonce(t: T) -> T { t } + +let x = String::new(); +let c = force_fnonce(async move || { + println!("{x}"); +}); +``` + +`x` will be moved into the coroutine-closure, but the coroutine that is returned would only borrow `&x`. However, since `force_fnonce` forces the coroutine-closure to `AsyncFnOnce`, which is not *lending*, we must force the capture to happen by-move[^bm1]. + +Similarly: + +```rust +let x = String::new(); +let y = String::new(); +let c = async move || { + drop(y); + println!("{x}"); +}; +``` + +`x` will be moved into the coroutine-closure, but the coroutine that is returned would only borrow `&x`. However, since we also capture `y` and drop it, the coroutine-closure is forced to be `AsyncFnOnce`. We must also force the capture of `x` to happen by-move. To determine this situation in particular, since unlike the last example the coroutine-kind's closure-kind has not yet been constrained, we must analyze the body of the coroutine-closure to see if how all of the upvars are used, to determine if they've been used in a way that is "consuming" -- i.e. that would force it to `FnOnce`[^bm2]. + +[^bm1]: + +[^bm2]: + +#### Follow-up: When do async closures implement the regular `Fn*` traits? + +Well, first of all, all async closures implement `FnOnce` since they can always be called *at least once*. + +For `Fn`/`FnMut`, the detailed answer involves answering a related question: is the coroutine-closure lending? Because if it is, then it cannot implement the non-lending `Fn`/`FnMut` traits. + +Determining when the coroutine-closure must *lend* its upvars is implemented in the `should_reborrow_from_env_of_parent_coroutine_closure` helper function[^u1]. Specifically, this needs to happen in two places: + +[^u1]: + +1. Are we borrowing data owned by the parent closure? We can determine if that is the case by checking if the parent capture is by-move, EXCEPT if we apply a deref projection, which means we're reborrowing a reference that we captured by-move. + +```rust +let x = &1i32; // Let's call this lifetime `'1`. +let c = async move || { + println!("{:?}", *x); + // Even though the inner coroutine borrows by ref, we're only capturing `*x`, + // not `x`, so the inner closure is allowed to reborrow the data for `'1`. +}; +``` + +2. If a coroutine is mutably borrowing from a parent capture, then that mutable borrow cannot live for longer than either the parent *or* the borrow that we have on the original upvar. Therefore we always need to borrow the child capture with the lifetime of the parent coroutine-closure's env. + +```rust +let mut x = 1i32; +let c = async || { + x = 1; + // The parent borrows `x` for some `&'1 mut i32`. + // However, when we call `c()`, we implicitly autoref for the signature of + // `AsyncFnMut::async_call_mut`. Let's call that lifetime `'call`. Since + // the maximum that `&'call mut &'1 mut i32` can be reborrowed is `&'call mut i32`, + // the inner coroutine should capture w/ the lifetime of the coroutine-closure. +}; +``` + +If either of these cases apply, then we should capture the borrow with the lifetime of the parent coroutine-closure's env. Luckily, if this function is not correct, then the program is not unsound, since we still borrowck and validate the choices made from this function -- the only side-effect is that the user may receive unnecessary borrowck errors. + +## Instance resolution + +If a coroutine-closure has a closure-kind of `FnOnce`, then its `AsyncFnOnce::call_once` and `FnOnce::call_once` implementations resolve to the coroutine-closure's body[^res1], and the `Future::poll` of the coroutine that gets returned resolves to the body of the child closure. + +[^res1]: + +If a coroutine-closure has a closure-kind of `FnMut`/`Fn`, then the same applies to `AsyncFn` and the corresponding `Future` implementation of the coroutine that gets returned.[^res1] However, we use a MIR shim to generate the implementation of `AsyncFnOnce::call_once`/`FnOnce::call_once`[^res2], and `Fn::call`/`FnMut::call_mut` instances if they exist[^res3]. + +[^res2]: + +[^res3]: + +This is represented by the `ConstructCoroutineInClosureShim`[^i1]. The `receiver_by_ref` bool will be true if this is the instance of `Fn::call`/`FnMut::call_mut`.[^i2] The coroutine that all of these instances returns corresponds to the by-move body we will have synthesized by this point.[^i3] + +[^i1]: + +[^i2]: + +[^i3]: + +## Borrow-checking + +It turns out that borrow-checking async closures is pretty straightforward. After adding a new `DefiningTy::CoroutineClosure`[^bck1] variant, and teaching borrowck how to generate the signature of the coroutine-closure[^bck2], borrowck proceeds totally fine. + +One thing to note is that we don't borrow-check the synthetic body we make for by-move coroutines, since by construction (and the validity of the by-ref coroutine body it was derived from) it must be valid. + +[^bck1]: + +[^bck2]: diff --git a/src/doc/rustc-dev-guide/src/crates-io.md b/src/doc/rustc-dev-guide/src/crates-io.md new file mode 100644 index 000000000000..403d61a81dad --- /dev/null +++ b/src/doc/rustc-dev-guide/src/crates-io.md @@ -0,0 +1,23 @@ +# crates.io Dependencies + +The Rust compiler supports building with some dependencies from `crates.io`. +Examples are `log` and `env_logger`. + +In general, +you should avoid adding dependencies to the compiler for several reasons: + +- The dependency may not be of high quality or well-maintained. +- The dependency may not be using a compatible license. +- The dependency may have transitive dependencies that have one of the above + problems. + + +Note that there is no official policy for vetting new dependencies to the compiler. +Decisions are made on a case-by-case basis, during code review. + +## Permitted dependencies + +The `tidy` tool has [a list of crates that are allowed]. To add a +dependency that is not already in the compiler, you will need to add it to the list. + +[a list of crates that are allowed]: https://github.com/rust-lang/rust/blob/9d1b2106e23b1abd32fce1f17267604a5102f57a/src/tools/tidy/src/deps.rs#L73 diff --git a/src/doc/rustc-dev-guide/src/debugging-support-in-rustc.md b/src/doc/rustc-dev-guide/src/debugging-support-in-rustc.md new file mode 100644 index 000000000000..ac629934e0a4 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/debugging-support-in-rustc.md @@ -0,0 +1,354 @@ +# Debugging support in the Rust compiler + + + +This document explains the state of debugging tools support in the Rust compiler (rustc). +It gives an overview of GDB, LLDB, WinDbg/CDB, +as well as infrastructure around Rust compiler to debug Rust code. +If you want to learn how to debug the Rust compiler itself, +see [Debugging the Compiler]. + +The material is gathered from the video, +[Tom Tromey discusses debugging support in rustc]. + +## Preliminaries + +### Debuggers + +According to Wikipedia + +> A [debugger or debugging tool] is a computer program that is used to test and debug +> other programs (the "target" program). + +Writing a debugger from scratch for a language requires a lot of work, especially if +debuggers have to be supported on various platforms. GDB and LLDB, however, can be +extended to support debugging a language. This is the path that Rust has chosen. +This document's main goal is to document the said debuggers support in Rust compiler. + +### DWARF + +According to the [DWARF] standard website + +> DWARF is a debugging file format used by many compilers and debuggers to support source level +> debugging. It addresses the requirements of a number of procedural languages, +> such as C, C++, and Fortran, and is designed to be extensible to other languages. +> DWARF is architecture independent and applicable to any processor or operating system. +> It is widely used on Unix, Linux and other operating systems, +> as well as in stand-alone environments. + +DWARF reader is a program that consumes the DWARF format and creates debugger compatible output. +This program may live in the compiler itself. DWARF uses a data structure called +Debugging Information Entry (DIE) which stores the information as "tags" to denote functions, +variables etc., e.g., `DW_TAG_variable`, `DW_TAG_pointer_type`, `DW_TAG_subprogram` etc. +You can also invent your own tags and attributes. + +### CodeView/PDB + +[PDB] (Program Database) is a file format created by Microsoft that contains debug information. +PDBs can be consumed by debuggers such as WinDbg/CDB and other tools to display debug information. +A PDB contains multiple streams that describe debug information about a specific binary such +as types, symbols, and source files used to compile the given binary. CodeView is another +format which defines the structure of [symbol records] and [type records] that appear within +PDB streams. + +## Supported debuggers + +### GDB + +#### Rust expression parser + +To be able to show debug output, we need an expression parser. +This (GDB) expression parser is written in [Bison], +and can parse only a subset of Rust expressions. +GDB parser was written from scratch and has no relation to any other parser, +including that of rustc. + +GDB has Rust-like value and type output. It can print values and types in a way +that look like Rust syntax in the output. Or when you print a type as [ptype] in GDB, +it also looks like Rust source code. Checkout the documentation in the [manual for GDB/Rust]. + +#### Parser extensions + +Expression parser has a couple of extensions in it to facilitate features that you cannot do +with Rust. Some limitations are listed in the [manual for GDB/Rust]. There is some special +code in the DWARF reader in GDB to support the extensions. + +A couple of examples of DWARF reader support needed are as follows: + +1. Enum: Needed for support for enum types. + The Rust compiler writes the information about enum into DWARF, + and GDB reads the DWARF to understand where is the tag field, + or if there is a tag field, + or if the tag slot is shared with non-zero optimization etc. + +2. Dissect trait objects: DWARF extension where the trait object's description in the DWARF + also points to a stub description of the corresponding vtable which in turn points to the + concrete type for which this trait object exists. This means that you can do a `print *object` + for that trait object, and GDB will understand how to find the correct type of the payload in + the trait object. + +**TODO**: Figure out if the following should be mentioned in the GDB-Rust document rather than +this guide page so there is no duplication. This is regarding the following comments: + +[This comment by Tom](https://github.com/rust-lang/rustc-dev-guide/pull/316#discussion_r284027340) +> gdb's Rust extensions and limitations are documented in the gdb manual: +https://sourceware.org/gdb/onlinedocs/gdb/Rust.html -- however, this neglects to mention that +gdb convenience variables and registers follow the gdb $ convention, and that the Rust parser +implements the gdb @ extension. + +[This question by Aman](https://github.com/rust-lang/rustc-dev-guide/pull/316#discussion_r285401353) +> @tromey do you think we should mention this part in the GDB-Rust document rather than this +document so there is no duplication etc.? + +### LLDB + +#### Rust expression parser + +This expression parser is written in C++. It is a type of [Recursive Descent parser]. +It implements slightly less of the Rust language than GDB. +LLDB has Rust-like value and type output. + +#### Developer notes + +* LLDB has a plugin architecture but that does not work for language support. +* GDB generally works better on Linux. + +### WinDbg/CDB + +Microsoft provides [Windows Debugging Tools] such as the Windows Debugger (WinDbg) and +the Console Debugger (CDB) which both support debugging programs written in Rust. These +debuggers parse the debug info for a binary from the `PDB`, if available, to construct a +visualization to serve up in the debugger. + +#### Natvis + +Both WinDbg and CDB support defining and viewing custom visualizations for any given type +within the debugger using the Natvis framework. The Rust compiler defines a set of Natvis +files that define custom visualizations for a subset of types in the standard libraries such +as, `std`, `core`, and `alloc`. These Natvis files are embedded into `PDBs` generated by the +`*-pc-windows-msvc` target triples to automatically enable these custom visualizations when +debugging. This default can be overridden by setting the `strip` rustc flag to either `debuginfo` +or `symbols`. + +Rust has support for embedding Natvis files for crates outside of the standard libraries by +using the `#[debugger_visualizer]` attribute. +For more details on how to embed debugger visualizers, +please refer to the section on the [`debugger_visualizer` attribute]. + +## DWARF and `rustc` + +[DWARF] is the standard way compilers generate debugging information that debuggers read. +It is _the_ debugging format on macOS and Linux. +It is a multi-language and extensible format, +and is mostly good enough for Rust's purposes. +Hence, the current implementation reuses DWARF's concepts. +This is true even if some of the concepts in DWARF do not align with Rust semantically because, +generally, there can be some kind of mapping between the two. + +We have some DWARF extensions that the Rust compiler emits and the debuggers understand that +are _not_ in the DWARF standard. + +* Rust compiler will emit DWARF for a virtual table, and this `vtable` object will have a + `DW_AT_containing_type` that points to the real type. This lets debuggers dissect a trait object + pointer to correctly find the payload. E.g., here's such a DIE, from a test case in the gdb + repository: + + ```asm + <1><1a9>: Abbrev Number: 3 (DW_TAG_structure_type) + <1aa> DW_AT_containing_type: <0x1b4> + <1ae> DW_AT_name : (indirect string, offset: 0x23d): vtable + <1b2> DW_AT_byte_size : 0 + <1b3> DW_AT_alignment : 8 + ``` + +* The other extension is that the Rust compiler can emit a tagless discriminated union. + See [DWARF feature request] for this item. + +### Current limitations of DWARF + +* Traits - require a bigger change than normal to DWARF, on how to represent Traits in DWARF. +* DWARF provides no way to differentiate between Structs and Tuples. Rust compiler emits +fields with `__0` and debuggers look for a sequence of such names to overcome this limitation. +For example, in this case the debugger would look at a field via `x.__0` instead of `x.0`. +This is resolved via the Rust parser in the debugger so now you can do `x.0`. + +DWARF relies on debuggers to know some information about platform ABI. +Rust does not do that all the time. + +## Developer notes + +This section is from the talk about certain aspects of development. + +## What is missing + +### Code signing for LLDB debug server on macOS + +According to Wikipedia, [System Integrity Protection] is + +> System Integrity Protection (SIP, sometimes referred to as rootless) is a security feature +> of Apple's macOS operating system introduced in OS X El Capitan. It comprises a number of +> mechanisms that are enforced by the kernel. A centerpiece is the protection of system-owned +> files and directories against modifications by processes without a specific "entitlement", +> even when executed by the root user or a user with root privileges (sudo). + +It prevents processes using `ptrace` syscall. If a process wants to use `ptrace` it has to be +code signed. The certificate that signs it has to be trusted on your machine. + +See [Apple developer documentation for System Integrity Protection]. + +We may need to sign up with Apple and get the keys to do this signing. Tom has looked into if +Mozilla cannot do this because it is at the maximum number of +keys it is allowed to sign. Tom does not know if Mozilla could get more keys. + +Alternatively, Tom suggests that maybe a Rust legal entity is needed to get the keys via Apple. +This problem is not technical in nature. If we had such a key we could sign GDB as well and +ship that. + +### DWARF and Traits + +Rust traits are not emitted into DWARF at all. The impact of this is calling a method `x.method()` +does not work as is. The reason being that method is implemented by a trait, as opposed +to a type. That information is not present so finding trait methods is missing. + +DWARF has a notion of interface types (possibly added for Java). Tom's idea was to use this +interface type as traits. + +DWARF only deals with concrete names, not the reference types. So, a given implementation of a +trait for a type would be one of these interfaces (`DW_tag_interface` type). Also, the type for +which it is implemented would describe all the interfaces this type implements. This requires a +DWARF extension. + +Issue on Github: [https://github.com/rust-lang/rust/issues/33014] + +## Typical process for a Debug Info change (LLVM) + +LLVM has Debug Info (DI) builders. This is the primary thing that Rust calls into. +This is why we need to change LLVM first because that is emitted first and not DWARF directly. +This is a kind of metadata that you construct and hand-off to LLVM. For the Rustc/LLVM hand-off +some LLVM DI builder methods are called to construct representation of a type. + +The steps of this process are as follows: + +1. LLVM needs changing. + + LLVM does not emit Interface types at all, so this needs to be implemented in the LLVM first. + + Get sign off on LLVM maintainers that this is a good idea. + +2. Change the DWARF extension. + +3. Update the debuggers. + + Update DWARF readers, expression evaluators. + +4. Update Rust compiler. + + Change it to emit this new information. + +### Procedural macro stepping + +A deeply profound question is that how do you actually debug a procedural macro? +What is the location you emit for a macro expansion? Consider some of the following cases - + +* You can emit location of the invocation of the macro. +* You can emit the location of the definition of the macro. +* You can emit locations of the content of the macro. + +RFC: [https://github.com/rust-lang/rfcs/pull/2117] + +Focus is to let macros decide what to do. This can be achieved by having some kind of attribute +that lets the macro tell the compiler where the line marker should be. This affects where you +set the breakpoints and what happens when you step it. + +## Source file checksums in debug info + +Both DWARF and CodeView (PDB) support embedding a cryptographic hash of each source file that +contributed to the associated binary. + +The cryptographic hash can be used by a debugger to verify that the source file matches the +executable. If the source file does not match, the debugger can provide a warning to the user. + +The hash can also be used to prove that a given source file has not been modified since it was +used to compile an executable. Because MD5 and SHA1 both have demonstrated vulnerabilities, +using SHA256 is recommended for this application. + +The Rust compiler stores the hash for each source file in the corresponding `SourceFile` in +the `SourceMap`. The hashes of input files to external crates are stored in `rlib` metadata. + +A default hashing algorithm is set in the target specification. This allows the target to +specify the best hash available, since not all targets support all hash algorithms. + +The hashing algorithm for a target can also be overridden with the `-Z source-file-checksum=` +command-line option. + +#### DWARF 5 +DWARF version 5 supports embedding an MD5 hash to validate the source file version in use. +DWARF 5 - Section 6.2.4.1 opcode DW_LNCT_MD5 + +#### LLVM +LLVM IR supports MD5 and SHA1 (and SHA256 in LLVM 11+) source file checksums in the DIFile node. + +[LLVM DIFile documentation](https://llvm.org/docs/LangRef.html#difile) + +#### Microsoft Visual C++ Compiler /ZH option +The MSVC compiler supports embedding MD5, SHA1, or SHA256 hashes in the PDB using the `/ZH` +compiler option. + +[MSVC /ZH documentation](https://docs.microsoft.com/en-us/cpp/build/reference/zh) + +#### Clang +Clang always embeds an MD5 checksum, though this does not appear in documentation. + +## Future work + +#### Name mangling changes + +* New demangler in `libiberty` (gcc source tree). +* New demangler in LLVM or LLDB. + +**TODO**: Check the location of the demangler source. [#1157](https://github.com/rust-lang/rustc-dev-guide/issues/1157) + +#### Reuse Rust compiler for expressions + +This is an important idea because debuggers by and large do not try to implement type +inference. You need to be much more explicit when you type into the debugger than your +actual source code. So, you cannot just copy and paste an expression from your source +code to debugger and expect the same answer but this would be nice. This can be helped +by using compiler. + +It is certainly doable but it is a large project. You certainly need a bridge to the +debugger because the debugger alone has access to the memory. Both GDB (gcc) and LLDB (clang) +have this feature. LLDB uses Clang to compile code to JIT and GDB can do the same with GCC. + +Both debuggers expression evaluation implement both a superset and a subset of Rust. +They implement just the expression language, +but they also add some extensions like GDB has convenience variables. +Therefore, if you are taking this route, +then you not only need to do this bridge, +but may have to add some mode to let the compiler understand some extensions. + +[Tom Tromey discusses debugging support in rustc]: https://www.youtube.com/watch?v=elBxMRSNYr4 +[Debugging the Compiler]: compiler-debugging.md +[debugger or debugging tool]: https://en.wikipedia.org/wiki/Debugger +[Bison]: https://www.gnu.org/software/bison/ +[ptype]: https://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_109.html +[rust-lang/lldb wiki page]: https://github.com/rust-lang/lldb/wiki +[DWARF]: http://dwarfstd.org +[manual for GDB/Rust]: https://sourceware.org/gdb/onlinedocs/gdb/Rust.html +[GDB Bugzilla]: https://sourceware.org/bugzilla/ +[Recursive Descent parser]: https://en.wikipedia.org/wiki/Recursive_descent_parser +[System Integrity Protection]: https://en.wikipedia.org/wiki/System_Integrity_Protection +[https://github.com/rust-dev-tools/gdb]: https://github.com/rust-dev-tools/gdb +[DWARF feature request]: http://dwarfstd.org/ShowIssue.php?issue=180517.2 +[https://docs.python.org/3/c-api/stable.html]: https://docs.python.org/3/c-api/stable.html +[https://github.com/rust-lang/rfcs/pull/2117]: https://github.com/rust-lang/rfcs/pull/2117 +[https://github.com/rust-lang/rust/issues/33014]: https://github.com/rust-lang/rust/issues/33014 +[https://github.com/rust-lang/rust/issues/34457]: https://github.com/rust-lang/rust/issues/34457 +[Apple developer documentation for System Integrity Protection]: https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_11.html#//apple_ref/doc/uid/TP40016227-SW11 +[https://github.com/rust-lang/lldb]: https://github.com/rust-lang/lldb +[https://github.com/rust-lang/llvm-project]: https://github.com/rust-lang/llvm-project +[PDB]: https://llvm.org/docs/PDB/index.html +[symbol records]: https://llvm.org/docs/PDB/CodeViewSymbols.html +[type records]: https://llvm.org/docs/PDB/CodeViewTypes.html +[Windows Debugging Tools]: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/ +[`debugger_visualizer` attribute]: https://doc.rust-lang.org/nightly/reference/attributes/debugger.html#the-debugger_visualizer-attribute diff --git a/src/doc/rustc-dev-guide/src/diagnostics.md b/src/doc/rustc-dev-guide/src/diagnostics.md new file mode 100644 index 000000000000..ccd1011659d5 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/diagnostics.md @@ -0,0 +1,1012 @@ +# Errors and Lints + + + +A lot of effort has been put into making `rustc` have great error messages. +This chapter is about how to emit compile errors and lints from the compiler. + +## Diagnostic structure + +The main parts of a diagnostic error are the following: + +``` +error[E0000]: main error message + --> file.rs:LL:CC + | +LL | + | -^^^^- secondary label + | | + | primary label + | + = note: note without a `Span`, created with `.note` +note: sub-diagnostic message for `.span_note` + --> file.rs:LL:CC + | +LL | more code + | ^^^^ +``` + +- Level (`error`, `warning`, etc.). It indicates the severity of the message. + (See [diagnostic levels](#diagnostic-levels)) +- Code (for example, for "mismatched types", it is `E0308`). It helps + users get more information about the current error through an extended + description of the problem in the error code index. Not all diagnostic have a + code. For example, diagnostics created by lints don't have one. +- Message. It is the main description of the problem. It should be general and + able to stand on its own, so that it can make sense even in isolation. +- Diagnostic window. This contains several things: + - The path, line number and column of the beginning of the primary span. + - The users' affected code and its surroundings. + - Primary and secondary spans underlying the users' code. These spans can + optionally contain one or more labels. + - Primary spans should have enough text to describe the problem in such a + way that if it were the only thing being displayed (for example, in an + IDE) it would still make sense. Because it is "spatially aware" (it + points at the code), it can generally be more succinct than the error + message. + - If cluttered output can be foreseen in cases when multiple span labels + overlap, it is a good idea to tweak the output appropriately. For + example, the `if/else arms have incompatible types` error uses different + spans depending on whether the arms are all in the same line, if one of + the arms is empty and if none of those cases applies. +- Sub-diagnostics. Any error can have multiple sub-diagnostics that look + similar to the main part of the error. These are used for cases where the + order of the explanation might not correspond with the order of the code. If + the order of the explanation can be "order free", leveraging secondary labels + in the main diagnostic is preferred, as it is typically less verbose. + +The text should be matter of fact and avoid capitalization and periods, unless +multiple sentences are _needed_: + +```txt +error: the fobrulator needs to be krontrificated +``` + +When code or an identifier must appear in a message or label, it should be +surrounded with backticks: + +```txt +error: the identifier `foo.bar` is invalid +``` + +### Error codes and explanations + +Most errors have an associated error code. Error codes are linked to long-form +explanations which contains an example of how to trigger the error and in-depth +details about the error. They may be viewed with the `--explain` flag, or via +the [error index]. + +As a general rule, give an error a code (with an associated explanation) if the +explanation would give more information than the error itself. A lot of the time +it's better to put all the information in the emitted error itself. However, +sometimes that would make the error verbose or there are too many possible +triggers to include useful information for all cases in the error, in which case +it's a good idea to add an explanation.[^estebank] +As always, if you are not sure, just ask your reviewer! + +If you decide to add a new error with an associated error code, please read +[this section][error-codes] for a guide and important details about the +process. + +[^estebank]: This rule of thumb was suggested by **@estebank** [here][estebank-comment]. + +[error index]: https://doc.rust-lang.org/error-index.html +[estebank-comment]: https://github.com/rust-lang/rustc-dev-guide/pull/967#issuecomment-733218283 +[error-codes]: ./diagnostics/error-codes.md + +### Lints versus fixed diagnostics + +Some messages are emitted via [lints](#lints), where the user can control the +level. Most diagnostics are hard-coded such that the user cannot control the +level. + +Usually it is obvious whether a diagnostic should be "fixed" or a lint, but +there are some grey areas. + +Here are a few examples: + +- Borrow checker errors: these are fixed errors. The user cannot adjust the + level of these diagnostics to silence the borrow checker. +- Dead code: this is a lint. While the user probably doesn't want dead code in + their crate, making this a hard error would make refactoring and development + very painful. +- [future-incompatible lints]: + these are silencable lints. + It was decided that making them fixed errors would cause too much breakage, + so warnings are instead emitted, + and will eventually be turned into fixed (hard) errors. + +Hard-coded warnings (those using methods like `span_warn`) should be avoided +for normal code, preferring to use lints instead. Some cases, such as warnings +with CLI flags, will require the use of hard-coded warnings. + +See the `deny` [lint level](#diagnostic-levels) below for guidelines when to +use an error-level lint instead of a fixed error. + +[future-incompatible lints]: #future-incompatible-lints + +## Diagnostic output style guide + +- Write in plain simple English. If your message, when shown on a – possibly + small – screen (which hasn't been cleaned for a while), cannot be understood + by a normal programmer, who just came out of bed after a night partying, + it's too complex. +- `Error`, `Warning`, `Note`, and `Help` messages start with a lowercase + letter and do not end with punctuation. +- Error messages should be succinct. Users will see these error messages many + times, and more verbose descriptions can be viewed with the `--explain` + flag. That said, don't make it so terse that it's hard to understand. +- The word "illegal" is illegal. Prefer "invalid" or a more specific word + instead. +- Errors should document the span of code where they occur (use + [`rustc_errors::DiagCtxt`][DiagCtxt]'s + `span_*` methods or a diagnostic struct's `#[primary_span]` to easily do + this). Also `note` other spans that have contributed to the error if the span + isn't too large. +- When emitting a message with span, try to reduce the span to the smallest + amount possible that still signifies the issue +- Try not to emit multiple error messages for the same error. This may require + detecting duplicates. +- When the compiler has too little information for a specific error message, + consult with the compiler team to add new attributes for library code that + allow adding more information. For example see + [`#[rustc_on_unimplemented]`](#rustc_on_unimplemented). Use these + annotations when available! +- Keep in mind that Rust's learning curve is rather steep, and that the + compiler messages are an important learning tool. +- When talking about the compiler, call it `the compiler`, not `Rust` or + `rustc`. +- Use the [Oxford comma](https://en.wikipedia.org/wiki/Serial_comma) when + writing lists of items. + +### Lint naming + +From [RFC 0344], lint names should be consistent, with the following +guidelines: + +The basic rule is: the lint name should make sense when read as "allow +*lint-name*" or "allow *lint-name* items". For example, "allow +`deprecated` items" and "allow `dead_code`" makes sense, while "allow +`unsafe_block`" is ungrammatical (should be plural). + +- Lint names should state the bad thing being checked for, e.g. `deprecated`, + so that `#[allow(deprecated)]` (items) reads correctly. Thus `ctypes` is not + an appropriate name; `improper_ctypes` is. + +- Lints that apply to arbitrary items (like the stability lints) should just + mention what they check for: use `deprecated` rather than + `deprecated_items`. This keeps lint names short. (Again, think "allow + *lint-name* items".) + +- If a lint applies to a specific grammatical class, mention that class and + use the plural form: use `unused_variables` rather than `unused_variable`. + This makes `#[allow(unused_variables)]` read correctly. + +- Lints that catch unnecessary, unused, or useless aspects of code should use + the term `unused`, e.g. `unused_imports`, `unused_typecasts`. + +- Use snake case in the same way you would for function names. + +[RFC 0344]: https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md#lints + +### Diagnostic levels + +Guidelines for different diagnostic levels: + +- `error`: emitted when the compiler detects a problem that makes it unable to + compile the program, either because the program is invalid or the programmer + has decided to make a specific `warning` into an error. + +- `warning`: emitted when the compiler detects something odd about a program. + Care should be taken when adding warnings to avoid warning fatigue, and + avoid false-positives where there really isn't a problem with the code. Some + examples of when it is appropriate to issue a warning: + + - A situation where the user *should* take action, such as swap out a + deprecated item, or use a `Result`, but otherwise doesn't prevent + compilation. + - Unnecessary syntax that can be removed without affecting the semantics of + the code. For example, unused code, or unnecessary `unsafe`. + - Code that is very likely to be incorrect, dangerous, or confusing, but the + language technically allows, and is not ready or confident enough to make + an error. For example `unused_comparisons` (out of bounds comparisons) or + `bindings_with_variant_name` (the user likely did not intend to create a + binding in a pattern). + - [Future-incompatible lints](#future-incompatible), where something was + accidentally or erroneously accepted in the past, but rejecting would + cause excessive breakage in the ecosystem. + - Stylistic choices. For example, camel or snake case, or the `dyn` trait + warning in the 2018 edition. These have a high bar to be added, and should + only be used in exceptional circumstances. Other stylistic choices should + either be allow-by-default lints, or part of other tools like Clippy or + rustfmt. + +- `help`: emitted following an `error` or `warning` to give additional + information to the user about how to solve their problem. These messages + often include a suggestion string and [`rustc_errors::Applicability`] + confidence level to guide automated source fixes by tools. See the + [Suggestions](#suggestions) section for more details. + + The error or warning portion should *not* suggest how to fix the problem, + only the "help" sub-diagnostic should. + +- `note`: emitted to given more context and identify additional circumstances + and parts of the code that caused the warning or error. For example, the + borrow checker will note any previous conflicting borrows. + + `help` vs `note`: `help` should be used to show changes the user can + possibly make to fix the problem. `note` should be used for everything else, + such as other context, information and facts, online resources to read, etc. + +Not to be confused with *lint levels*, whose guidelines are: + +- `forbid`: Lints should never default to `forbid`. +- `deny`: Equivalent to `error` diagnostic level. Some examples: + + - A future-incompatible or edition-based lint that has graduated from the + warning level. + - Something that has an extremely high confidence that is incorrect, but + still want an escape hatch to allow it to pass. + +- `warn`: Equivalent to the `warning` diagnostic level. See `warning` above + for guidelines. +- `allow`: Examples of the kinds of lints that should default to `allow`: + + - The lint has a too high false positive rate. + - The lint is too opinionated. + - The lint is experimental. + - The lint is used for enforcing something that is not normally enforced. + For example, the `unsafe_code` lint can be used to prevent usage of unsafe + code. + +More information about lint levels can be found in the [rustc +book][rustc-lint-levels] and the [reference][reference-diagnostics]. + +[`rustc_errors::Applicability`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/enum.Applicability.html +[reference-diagnostics]: https://doc.rust-lang.org/nightly/reference/attributes/diagnostics.html#lint-check-attributes +[rustc-lint-levels]: https://doc.rust-lang.org/nightly/rustc/lints/levels.html + +## Helpful tips and options + +### Finding the source of errors + +There are three main ways to find where a given error is emitted: + +- `grep` for either a sub-part of the error message/label or error code. This + usually works well and is straightforward, but there are some cases where + the code emitting the error is removed from the code where the error is + constructed behind a relatively deep call-stack. Even then, it is a good way + to get your bearings. +- Invoking `rustc` with the nightly-only flag `-Z treat-err-as-bug=1` + will treat the first error being emitted as an Internal Compiler Error, which + allows you to get a + stack trace at the point the error has been emitted. Change the `1` to + something else if you wish to trigger on a later error. + + There are limitations with this approach: + - Some calls get elided from the stack trace because they get inlined in the compiled `rustc`. + - The _construction_ of the error is far away from where it is _emitted_, + a problem similar to the one we faced with the `grep` approach. + In some cases, we buffer multiple errors in order to emit them in order. +- Invoking `rustc` with `-Z track-diagnostics` will print error creation + locations alongside the error. + +The regular development practices apply: judicious use of `debug!()` statements +and use of a debugger to trigger break points in order to figure out in what +order things are happening. + +## `Span` + +[`Span`][span] is the primary data structure in `rustc` used to represent a +location in the code being compiled. `Span`s are attached to most constructs in +HIR and MIR, allowing for more informative error reporting. + +[span]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.Span.html + +A `Span` can be looked up in a [`SourceMap`][sourcemap] to get a "snippet" +useful for displaying errors with [`span_to_snippet`][sptosnip] and other +similar methods on the `SourceMap`. + +[sourcemap]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/source_map/struct.SourceMap.html +[sptosnip]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/source_map/struct.SourceMap.html#method.span_to_snippet + +## Error messages + +The [`rustc_errors`][errors] crate defines most of the utilities used for +reporting errors. + +[errors]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/index.html + +Diagnostics can be implemented as types which implement the `Diagnostic` +trait. This is preferred for new diagnostics as it enforces a separation +between diagnostic emitting logic and the main code paths. For less-complex +diagnostics, the `Diagnostic` trait can be derived -- see [Diagnostic +structs][diagnostic-structs]. Within the trait implementation, the APIs +described below can be used as normal. + +[diagnostic-structs]: ./diagnostics/diagnostic-structs.md + +[`DiagCtxt`][DiagCtxt] has methods that create and emit errors. These methods +usually have names like `span_err` or `struct_span_err` or `span_warn`, etc... +There are lots of them; they emit different types of "errors", such as +warnings, errors, fatal errors, suggestions, etc. + +[DiagCtxt]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.DiagCtxt.html + +In general, there are two classes of such methods: ones that emit an error +directly and ones that allow finer control over what to emit. For example, +[`span_err`][spanerr] emits the given error message at the given `Span`, but +[`struct_span_err`][strspanerr] instead returns a +[`Diag`][diag]. + +Most of these methods will accept strings, but it is recommended that typed +identifiers for translatable diagnostics be used for new diagnostics (see +[Translation][translation]). + +[translation]: ./diagnostics/translation.md + +`Diag` allows you to add related notes and suggestions to an error +before emitting it by calling the [`emit`][emit] method. (Failing to either +emit or [cancel][cancel] a `Diag` will result in an ICE.) See the +[docs][diag] for more info on what you can do. + +[spanerr]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.DiagCtxt.html#method.span_err +[strspanerr]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.DiagCtxt.html#method.struct_span_err +[diag]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html +[emit]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html#method.emit +[cancel]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html#method.cancel + +```rust,ignore +// Get a `Diag`. This does _not_ emit an error yet. +let mut err = sess.dcx.struct_span_err(sp, fluent::example::example_error); + +// In some cases, you might need to check if `sp` is generated by a macro to +// avoid printing weird errors about macro-generated code. + +if let Ok(snippet) = sess.source_map().span_to_snippet(sp) { + // Use the snippet to generate a suggested fix + err.span_suggestion(suggestion_sp, fluent::example::try_qux_suggestion, format!("qux {}", snippet)); +} else { + // If we weren't able to generate a snippet, then emit a "help" message + // instead of a concrete "suggestion". In practice this is unlikely to be + // reached. + err.span_help(suggestion_sp, fluent::example::qux_suggestion); +} + +// emit the error +err.emit(); +``` + +```fluent +example-example-error = oh no! this is an error! + .try-qux-suggestion = try using a qux here + .qux-suggestion = you could use a qux here instead +``` + +## Suggestions + +In addition to telling the user exactly _why_ their code is wrong, it's +oftentimes furthermore possible to tell them how to fix it. To this end, +[`Diag`][diag] offers a structured suggestions API, which formats code +suggestions pleasingly in the terminal, or (when the `--error-format json` flag +is passed) as JSON for consumption by tools like [`rustfix`][rustfix]. + +[diag]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html +[rustfix]: https://github.com/rust-lang/rustfix + +Not all suggestions should be applied mechanically, they have a degree of +confidence in the suggested code, from high +(`Applicability::MachineApplicable`) to low (`Applicability::MaybeIncorrect`). +Be conservative when choosing the level. Use the +[`span_suggestion`][span_suggestion] method of `Diag` to +make a suggestion. The last argument provides a hint to tools whether +the suggestion is mechanically applicable or not. + +Suggestions point to one or more spans with corresponding code that will +replace their current content. + +The message that accompanies them should be understandable in the following +contexts: + +- shown as an independent sub-diagnostic (this is the default output) +- shown as a label pointing at the affected span (this is done automatically if +some heuristics for verbosity are met) +- shown as a `help` sub-diagnostic with no content (used for cases where the +suggestion is obvious from the text, but we still want to let tools to apply +them) +- not shown (used for _very_ obvious cases, but we still want to allow tools to +apply them) + +[span_suggestion]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html#method.span_suggestion + +For example, to make our `qux` suggestion machine-applicable, we would do: + +```rust,ignore +let mut err = sess.dcx.struct_span_err(sp, fluent::example::message); + +if let Ok(snippet) = sess.source_map().span_to_snippet(sp) { + err.span_suggestion( + suggestion_sp, + fluent::example::try_qux_suggestion, + format!("qux {}", snippet), + Applicability::MachineApplicable, + ); +} else { + err.span_help(suggestion_sp, fluent::example::qux_suggestion); +} + +err.emit(); +``` + +This might emit an error like + +```console +$ rustc mycode.rs +error[E0999]: oh no! this is an error! + --> mycode.rs:3:5 + | +3 | sad() + | ^ help: try using a qux here: `qux sad()` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0999`. +``` + +In some cases, like when the suggestion spans multiple lines or when there are +multiple suggestions, the suggestions are displayed on their own: + +```console +error[E0999]: oh no! this is an error! + --> mycode.rs:3:5 + | +3 | sad() + | ^ +help: try using a qux here: + | +3 | qux sad() + | ^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0999`. +``` + +The possible values of [`Applicability`][appl] are: + +- `MachineApplicable`: Can be applied mechanically. +- `HasPlaceholders`: Cannot be applied mechanically because it has placeholder + text in the suggestions. For example: ```try adding a type: `let x: + ` ```. +- `MaybeIncorrect`: Cannot be applied mechanically because the suggestion may + or may not be a good one. +- `Unspecified`: Cannot be applied mechanically because we don't know which + of the above cases it falls into. + +[appl]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/enum.Applicability.html + +### Suggestion Style Guide + +- Suggestions should not be a question. In particular, language like "did you + mean" should be avoided. Sometimes, it's unclear why a particular suggestion + is being made. In these cases, it's better to be upfront about what the + suggestion is. + + Compare "did you mean: `Foo`" vs. "there is a struct with a similar name: `Foo`". + +- The message should not contain any phrases like "the following", "as shown", + etc. Use the span to convey what is being talked about. +- The message may contain further instruction such as "to do xyz, use" or "to do + xyz, use abc". +- The message may contain a name of a function, variable, or type, but avoid + whole expressions. + +## Lints + +The compiler linting infrastructure is defined in the [`rustc_middle::lint`][rlint] +module. + +[rlint]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/lint/index.html + +### When do lints run? + +Different lints will run at different times based on what information the lint +needs to do its job. Some lints get grouped into *passes* where the lints +within a pass are processed together via a single visitor. Some of the passes +are: + +- Pre-expansion pass: Works on [AST nodes] before [macro expansion]. This + should generally be avoided. + - Example: [`keyword_idents`] checks for identifiers that will become + keywords in future editions, but is sensitive to identifiers used in + macros. + +- Early lint pass: Works on [AST nodes] after [macro expansion] and name + resolution, just before [AST lowering]. These lints are for purely + syntactical lints. + - Example: The [`unused_parens`] lint checks for parenthesized-expressions + in situations where they are not needed, like an `if` condition. + +- Late lint pass: Works on [HIR nodes], towards the end of [analysis] (after + borrow checking, etc.). These lints have full type information available. + Most lints are late. + - Example: The [`invalid_value`] lint (which checks for obviously invalid + uninitialized values) is a late lint because it needs type information to + figure out whether a type allows being left uninitialized. + +- MIR pass: Works on [MIR nodes]. This isn't quite the same as other passes; + lints that work on MIR nodes have their own methods for running. + - Example: The [`arithmetic_overflow`] lint is emitted when it detects a + constant value that may overflow. + +Most lints work well via the pass systems, and they have a fairly +straightforward interface and easy way to integrate (mostly just implementing +a specific `check` function). However, some lints are easier to write when +they live on a specific code path anywhere in the compiler. For example, the +[`unused_mut`] lint is implemented in the borrow checker as it requires some +information and state in the borrow checker. + +Some of these inline lints fire before the linting system is ready. Those +lints will be *buffered* where they are held until later phases of the +compiler when the linting system is ready. See [Linting early in the +compiler](#linting-early-in-the-compiler). + + +[AST nodes]: the-parser.md +[AST lowering]: ast-lowering.md +[HIR nodes]: hir.md +[MIR nodes]: mir/index.md +[macro expansion]: macro-expansion.md +[analysis]: part-4-intro.md +[`keyword_idents`]: https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html#keyword-idents +[`unused_parens`]: https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#unused-parens +[`invalid_value`]: https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#invalid-value +[`arithmetic_overflow`]: https://doc.rust-lang.org/rustc/lints/listing/deny-by-default.html#arithmetic-overflow +[`unused_mut`]: https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#unused-mut + +### Lint definition terms + +Lints are managed via the [`LintStore`][LintStore] and get registered in +various ways. The following terms refer to the different classes of lints +generally based on how they are registered. + +- *Built-in* lints are defined inside the compiler source. +- *Driver-registered* lints are registered when the compiler driver is created + by an external driver. This is the mechanism used by Clippy, for example. +- *Tool* lints are lints with a path prefix like `clippy::` or `rustdoc::`. +- *Internal* lints are the `rustc::` scoped tool lints that only run on the + rustc source tree itself and are defined in the compiler source like a + regular built-in lint. + +More information about lint registration can be found in the [LintStore] +chapter. + +[LintStore]: diagnostics/lintstore.md + +### Declaring a lint + +The built-in compiler lints are defined in the [`rustc_lint`][builtin] +crate. Lints that need to be implemented in other crates are defined in +[`rustc_lint_defs`]. You should prefer to place lints in `rustc_lint` if +possible. One benefit is that it is close to the dependency root, so it can be +much faster to work on. + +[builtin]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/index.html +[`rustc_lint_defs`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint_defs/index.html + +Every lint is implemented via a `struct` that implements the `LintPass` `trait` +(you can also implement one of the more specific lint pass traits, either +`EarlyLintPass` or `LateLintPass` depending on when is best for your lint to run). +The trait implementation allows you to check certain syntactic constructs +as the linter walks the AST. You can then choose to emit lints in a +very similar way to compile errors. + +You also declare the metadata of a particular lint via the `declare_lint!` +macro. This includes the name, the default level, a short description, and some +more details. + +Note that the lint and the lint pass must be registered with the compiler. + +For example, the following lint checks for uses +of `while true { ... }` and suggests using `loop { ... }` instead. + +```rust,ignore +// Declare a lint called `WHILE_TRUE` +declare_lint! { + WHILE_TRUE, + + // warn-by-default + Warn, + + // This string is the lint description + "suggest using `loop { }` instead of `while true { }`" +} + +// This declares a struct and a lint pass, providing a list of associated lints. The +// compiler currently doesn't use the associated lints directly (e.g., to not +// run the pass or otherwise check that the pass emits the appropriate set of +// lints). However, it's good to be accurate here as it's possible that we're +// going to register the lints via the get_lints method on our lint pass (that +// this macro generates). +declare_lint_pass!(WhileTrue => [WHILE_TRUE]); + +// Helper function for `WhileTrue` lint. +// Traverse through any amount of parenthesis and return the first non-parens expression. +fn pierce_parens(mut expr: &ast::Expr) -> &ast::Expr { + while let ast::ExprKind::Paren(sub) = &expr.kind { + expr = sub; + } + expr +} + +// `EarlyLintPass` has lots of methods. We only override the definition of +// `check_expr` for this lint because that's all we need, but you could +// override other methods for your own lint. See the rustc docs for a full +// list of methods. +impl EarlyLintPass for WhileTrue { + fn check_expr(&mut self, cx: &EarlyContext<'_>, e: &ast::Expr) { + if let ast::ExprKind::While(cond, ..) = &e.kind + && let ast::ExprKind::Lit(ref lit) = pierce_parens(cond).kind + && let ast::LitKind::Bool(true) = lit.kind + && !lit.span.from_expansion() + { + let condition_span = cx.sess.source_map().guess_head_span(e.span); + cx.struct_span_lint(WHILE_TRUE, condition_span, |lint| { + lint.build(fluent::example::use_loop) + .span_suggestion_short( + condition_span, + fluent::example::suggestion, + "loop".to_owned(), + Applicability::MachineApplicable, + ) + .emit(); + }) + } + } +} +``` + +```fluent +example-use-loop = denote infinite loops with `loop {"{"} ... {"}"}` + .suggestion = use `loop` +``` + +### Edition-gated lints + +Sometimes we want to change the behavior of a lint in a new edition. To do this, +we just add the transition to our invocation of `declare_lint!`: + +```rust,ignore +declare_lint! { + pub ANONYMOUS_PARAMETERS, + Allow, + "detects anonymous parameters", + Edition::Edition2018 => Warn, +} +``` + +This makes the `ANONYMOUS_PARAMETERS` lint allow-by-default in the 2015 edition +but warn-by-default in the 2018 edition. + +See [Edition-specific lints](./guides/editions.md#edition-specific-lints) for more information. + +### Feature-gated lints + +Lints belonging to a feature should only be usable if the feature is enabled in the +crate. To support this, lint declarations can contain a feature gate like so: + +```rust,ignore +declare_lint! { + pub SOME_LINT_NAME, + Warn, + "a new and useful, but feature gated lint", + @feature_gate = sym::feature_name; +} +``` + +### Future-incompatible lints + +The use of the term `future-incompatible` within the compiler has a slightly +broader meaning than what rustc exposes to users of the compiler. + +Inside rustc, future-incompatible lints are for signalling to the user that code they have +written may not compile in the future. In general, future-incompatible code +exists for two reasons: +* The user has written unsound code that the compiler mistakenly accepted. While +it is within Rust's backwards compatibility guarantees to fix the soundness hole +(breaking the user's code), the lint is there to warn the user that this will happen +in some upcoming version of rustc *regardless of which edition the code uses*. This is the +meaning that rustc exclusively exposes to users as "future incompatible". +* The user has written code that will either no longer compiler *or* will change +meaning in an upcoming *edition*. These are often called "edition lints" and can be +typically seen in the various "edition compatibility" lint groups (e.g., `rust_2021_compatibility`) +that are used to lint against code that will break if the user updates the crate's edition. +See [migration lints](guides/editions.md#migration-lints) for more details. + +A future-incompatible lint should be declared with the `@future_incompatible` +additional "field": + +```rust,ignore +declare_lint! { + pub ANONYMOUS_PARAMETERS, + Allow, + "detects anonymous parameters", + @future_incompatible = FutureIncompatibleInfo { + reference: "issue #41686 ", + reason: FutureIncompatibilityReason::EditionError(Edition::Edition2018), + }; +} +``` + +Notice the `reason` field which describes why the future incompatible change is happening. +This will change the diagnostic message the user receives as well as determine which +lint groups the lint is added to. In the example above, the lint is an "edition lint" +(since its "reason" is `EditionError`), signifying to the user that the use of anonymous +parameters will no longer compile in Rust 2018 and beyond. + +Inside [LintStore::register_lints][fi-lint-groupings], lints with `future_incompatible` +fields get placed into either edition-based lint groups (if their `reason` is tied to +an edition) or into the `future_incompatibility` lint group. + +[fi-lint-groupings]: https://github.com/rust-lang/rust/blob/51fd129ac12d5bfeca7d216c47b0e337bf13e0c2/compiler/rustc_lint/src/context.rs#L212-L237 + +If you need a combination of options that's not supported by the +`declare_lint!` macro, you can always change the `declare_lint!` macro +to support this. + +### Renaming or removing a lint + +If it is determined that a lint is either improperly named or no longer needed, +the lint must be registered for renaming or removal, which will trigger a warning if a user tries +to use the old lint name. To declare a rename/remove, add a line with +[`store.register_renamed`] or [`store.register_removed`] to the code of the +[`rustc_lint::register_builtins`] function. + +```rust,ignore +store.register_renamed("single_use_lifetime", "single_use_lifetimes"); +``` + +[`store.register_renamed`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/struct.LintStore.html#method.register_renamed +[`store.register_removed`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/struct.LintStore.html#method.register_removed +[`rustc_lint::register_builtins`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/fn.register_builtins.html + +### Lint Groups + +Lints can be turned on in groups. These groups are declared in the +[`register_builtins`][rbuiltins] function in [`rustc_lint::lib`][builtin]. The +`add_lint_group!` macro is used to declare a new group. + +[rbuiltins]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/fn.register_builtins.html + +For example, + +```rust,ignore +add_lint_group!(sess, + "nonstandard_style", + NON_CAMEL_CASE_TYPES, + NON_SNAKE_CASE, + NON_UPPER_CASE_GLOBALS); +``` + +This defines the `nonstandard_style` group which turns on the listed lints. A +user can turn on these lints with a `!#[warn(nonstandard_style)]` attribute in +the source code, or by passing `-W nonstandard-style` on the command line. + +Some lint groups are created automatically in `LintStore::register_lints`. For instance, +any lint declared with `FutureIncompatibleInfo` where the reason is +`FutureIncompatibilityReason::FutureReleaseError` (the default when +`@future_incompatible` is used in `declare_lint!`), will be added to +the `future_incompatible` lint group. Editions also have their own lint groups +(e.g., `rust_2021_compatibility`) automatically generated for any lints signaling +future-incompatible code that will break in the specified edition. + +### Linting early in the compiler + +On occasion, you may need to define a lint that runs before the linting system +has been initialized (e.g. during parsing or macro expansion). This is +problematic because we need to have computed lint levels to know whether we +should emit a warning or an error or nothing at all. + +To solve this problem, we buffer the lints until the linting system is +processed. [`Session`][sessbl] and [`ParseSess`][parsebl] both have +`buffer_lint` methods that allow you to buffer a lint for later. The linting +system automatically takes care of handling buffered lints later. + +[sessbl]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/struct.Session.html#method.buffer_lint +[parsebl]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/parse/struct.ParseSess.html#method.buffer_lint + +Thus, to define a lint that runs early in the compilation, one defines a lint +like normal but invokes the lint with `buffer_lint`. + +#### Linting even earlier in the compiler + +The parser (`rustc_ast`) is interesting in that it cannot have dependencies on +any of the other `rustc*` crates. In particular, it cannot depend on +`rustc_middle::lint` or `rustc_lint`, where all of the compiler linting +infrastructure is defined. That's troublesome! + +To solve this, `rustc_ast` defines its own buffered lint type, which +`ParseSess::buffer_lint` uses. After macro expansion, these buffered lints are +then dumped into the `Session::buffered_lints` used by the rest of the compiler. + +## JSON diagnostic output + +The compiler accepts an `--error-format json` flag to output +diagnostics as JSON objects (for the benefit of tools such as `cargo +fix`). It looks like this: + +```console +$ rustc json_error_demo.rs --error-format json +{"message":"cannot add `&str` to `{integer}`","code":{"code":"E0277","explanation":"\nYou tried to use a type which doesn't implement some trait in a place which\nexpected that trait. Erroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function: Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function: It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"json_error_demo.rs","byte_start":50,"byte_end":51,"line_start":4,"line_end":4,"column_start":7,"column_end":8,"is_primary":true,"text":[{"text":" a + b","highlight_start":7,"highlight_end":8}],"label":"no implementation for `{integer} + &str`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `std::ops::Add<&str>` is not implemented for `{integer}`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0277]: cannot add `&str` to `{integer}`\n --> json_error_demo.rs:4:7\n |\n4 | a + b\n | ^ no implementation for `{integer} + &str`\n |\n = help: the trait `std::ops::Add<&str>` is not implemented for `{integer}`\n\n"} +{"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"} +{"message":"For more information about this error, try `rustc --explain E0277`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0277`.\n"} +``` + +Note that the output is a series of lines, each of which is a JSON +object, but the series of lines taken together is, unfortunately, not +valid JSON, thwarting tools and tricks (such as [piping to `python3 -m +json.tool`](https://docs.python.org/3/library/json.html#module-json.tool)) +that require such. (One speculates that this was intentional for LSP +performance purposes, so that each line/object can be sent as +it is flushed?) + +Also note the "rendered" field, which contains the "human" output as a +string; this was introduced so that UI tests could both make use of +the structured JSON and see the "human" output (well, _sans_ colors) +without having to compile everything twice. + +The "human" readable and the json format emitter can be found under +`rustc_errors`, both were moved from the `rustc_ast` crate to the +[rustc_errors crate](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/index.html). + +The JSON emitter defines [its own `Diagnostic` +struct](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/json/struct.Diagnostic.html) +(and sub-structs) for the JSON serialization. Don't confuse this with +[`errors::Diag`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html)! + +## `#[rustc_on_unimplemented(...)]` + +The `#[rustc_on_unimplemented]` attribute allows trait definitions to add specialized +notes to error messages when an implementation was expected but not found. +You can refer to the trait's generic arguments by name and to the resolved type using `Self`. + +For example: + +```rust,ignore +#![feature(rustc_attrs)] + +#[rustc_on_unimplemented="an iterator over elements of type `{A}` \ + cannot be built from a collection of type `{Self}`"] +trait MyIterator { + fn next(&mut self) -> A; +} + +fn iterate_chars>(i: I) { + // ... +} + +fn main() { + iterate_chars(&[1, 2, 3][..]); +} +``` + +When the user compiles this, they will see the following; + +```txt +error[E0277]: the trait bound `&[{integer}]: MyIterator` is not satisfied + --> :14:5 + | +14 | iterate_chars(&[1, 2, 3][..]); + | ^^^^^^^^^^^^^ an iterator over elements of type `char` cannot be built from a collection of type `&[{integer}]` + | + = help: the trait `MyIterator` is not implemented for `&[{integer}]` + = note: required by `iterate_chars` +``` + +`rustc_on_unimplemented` also supports advanced filtering for better targeting +of messages, as well as modifying specific parts of the error message. You +target the text of: + + - the main error message (`message`) + - the label (`label`) + - an extra note (`note`) + +For example, the following attribute + +```rust,ignore +#[rustc_on_unimplemented( + message="message", + label="label", + note="note" +)] +trait MyIterator { + fn next(&mut self) -> A; +} +``` + +Would generate the following output: + +```text +error[E0277]: message + --> :14:5 + | +14 | iterate_chars(&[1, 2, 3][..]); + | ^^^^^^^^^^^^^ label + | + = note: note + = help: the trait `MyIterator` is not implemented for `&[{integer}]` + = note: required by `iterate_chars` +``` + +To allow more targeted error messages, it is possible to filter the +application of these fields based on a variety of attributes when using +`on`: + + - `crate_local`: whether the code causing the trait bound to not be + fulfilled is part of the user's crate. This is used to avoid suggesting + code changes that would require modifying a dependency. + - Any of the generic arguments that can be substituted in the text can be + referred by name as well for filtering, like `Rhs="i32"`, except for + `Self`. + - `_Self`: to filter only on a particular calculated trait resolution, like + `Self="std::iter::Iterator"`. This is needed because `Self` is a + keyword which cannot appear in attributes. + - `direct`: user-specified rather than derived obligation. + - `from_method`: usable both as boolean (whether the flag is present, like + `crate_local`) or matching against a particular method. Currently used + for `try`. + - `from_desugaring`: usable both as boolean (whether the flag is present) + or matching against a particular desugaring. The desugaring is identified + with its variant name in the `DesugaringKind` enum. + +For example, the `Iterator` trait can be annotated in the following way: + +```rust,ignore +#[rustc_on_unimplemented( + on( + _Self="&str", + note="call `.chars()` or `.as_bytes()` on `{Self}`" + ), + message="`{Self}` is not an iterator", + label="`{Self}` is not an iterator", + note="maybe try calling `.iter()` or a similar method" +)] +pub trait Iterator {} +``` + +Which would produce the following outputs: + +```text +error[E0277]: `Foo` is not an iterator + --> src/main.rs:4:16 + | +4 | for foo in Foo {} + | ^^^ `Foo` is not an iterator + | + = note: maybe try calling `.iter()` or a similar method + = help: the trait `std::iter::Iterator` is not implemented for `Foo` + = note: required by `std::iter::IntoIterator::into_iter` + +error[E0277]: `&str` is not an iterator + --> src/main.rs:5:16 + | +5 | for foo in "" {} + | ^^ `&str` is not an iterator + | + = note: call `.chars()` or `.bytes() on `&str` + = help: the trait `std::iter::Iterator` is not implemented for `&str` + = note: required by `std::iter::IntoIterator::into_iter` +``` + +If you need to filter on multiple attributes, you can use `all`, `any` or +`not` in the following way: + +```rust,ignore +#[rustc_on_unimplemented( + on( + all(_Self="&str", T="std::string::String"), + note="you can coerce a `{T}` into a `{Self}` by writing `&*variable`" + ) +)] +pub trait From: Sized { /* ... */ } +``` diff --git a/src/doc/rustc-dev-guide/src/diagnostics/diagnostic-items.md b/src/doc/rustc-dev-guide/src/diagnostics/diagnostic-items.md new file mode 100644 index 000000000000..9360427d660e --- /dev/null +++ b/src/doc/rustc-dev-guide/src/diagnostics/diagnostic-items.md @@ -0,0 +1,166 @@ +# Diagnostic Items + +While writing lints it's common to check for specific types, traits and +functions. This raises the question on how to check for these. Types can be +checked by their complete type path. However, this requires hard coding paths +and can lead to misclassifications in some edge cases. To counteract this, +rustc has introduced diagnostic items that are used to identify types via +[`Symbol`]s. + +## Finding diagnostic items + +Diagnostic items are added to items inside `rustc`/`std`/`core`/`alloc` with the +`rustc_diagnostic_item` attribute. The item for a specific type can be found by +opening the source code in the documentation and looking for this attribute. +Note that it's often added with the `cfg_attr` attribute to avoid compilation +errors during tests. A definition often looks like this: + +```rs +// This is the diagnostic item for this type vvvvvvv +#[cfg_attr(not(test), rustc_diagnostic_item = "Penguin")] +struct Penguin; +``` + +Diagnostic items are usually only added to traits, +types, +and standalone functions. +If the goal is to check for an associated type or method, +please use the diagnostic item of the item and reference +[*Using Diagnostic Items*](#using-diagnostic-items). + +## Adding diagnostic items + +A new diagnostic item can be added with these two steps: + +1. Find the target item inside the Rust repo. Now add the diagnostic item as a + string via the `rustc_diagnostic_item` attribute. This can sometimes cause + compilation errors while running tests. These errors can be avoided by using + the `cfg_attr` attribute with the `not(test)` condition (it's fine adding + then for all `rustc_diagnostic_item` attributes as a preventive manner). At + the end, it should look like this: + + ```rs + // This will be the new diagnostic item vvv + #[cfg_attr(not(test), rustc_diagnostic_item = "Cat")] + struct Cat; + ``` + + For the naming conventions of diagnostic items, please refer to + [*Naming Conventions*](#naming-conventions). + +2. + Diagnostic items in code are accessed via symbols in + [`rustc_span::symbol::sym`]. + To add your newly-created diagnostic item, + simply open the module file, + and add the name (In this case `Cat`) at the correct point in the list. + +Now you can create a pull request with your changes. :tada: + +> NOTE: +> When using diagnostic items in other projects like Clippy, +> it might take some time until the repos get synchronized. + +## Naming conventions + +Diagnostic items don't have a naming convention yet. +Following are some guidelines that should be used in future, +but might differ from existing names: + +* Types, traits, and enums are named using UpperCamelCase + (Examples: `Iterator` and `HashMap`) +* For type names that are used multiple times, + like `Writer`, + it's good to choose a more precise name, + maybe by adding the module to it + (Example: `IoWriter`) +* Associated items should not get their own diagnostic items, + but instead be accessed indirectly by the diagnostic item + of the type they're originating from. +* Freestanding functions like `std::mem::swap()` should be named using + `snake_case` with one important (export) module as a prefix + (Examples: `mem_swap` and `cmp_max`) +* Modules should usually not have a diagnostic item attached to them. + Diagnostic items were added to avoid the usage of paths, + and using them on modules would therefore most likely be counterproductive. + +## Using diagnostic items + +In rustc, diagnostic items are looked up via [`Symbol`]s from inside the +[`rustc_span::symbol::sym`] module. These can then be mapped to [`DefId`]s +using [`TyCtxt::get_diagnostic_item()`] or checked if they match a [`DefId`] +using [`TyCtxt::is_diagnostic_item()`]. When mapping from a diagnostic item to +a [`DefId`], the method will return a `Option`. This can be `None` if +either the symbol isn't a diagnostic item or the type is not registered, for +instance when compiling with `#[no_std]`. +All the following examples are based on [`DefId`]s and their usage. + +### Example: Checking for a type + +```rust +use rustc_span::symbol::sym; + +/// This example checks if the given type (`ty`) has the type `HashMap` using +/// `TyCtxt::is_diagnostic_item()` +fn example_1(cx: &LateContext<'_>, ty: Ty<'_>) -> bool { + match ty.kind() { + ty::Adt(adt, _) => cx.tcx.is_diagnostic_item(sym::HashMap, adt.did()), + _ => false, + } +} +``` + +### Example: Checking for a trait implementation + +```rust +/// This example checks if a given [`DefId`] from a method is part of a trait +/// implementation defined by a diagnostic item. +fn is_diag_trait_item( + cx: &LateContext<'_>, + def_id: DefId, + diag_item: Symbol +) -> bool { + if let Some(trait_did) = cx.tcx.trait_of_item(def_id) { + return cx.tcx.is_diagnostic_item(diag_item, trait_did); + } + false +} +``` + +### Associated Types + +Associated types of diagnostic items can be accessed indirectly by first +getting the [`DefId`] of the trait and then calling +[`TyCtxt::associated_items()`]. This returns an [`AssocItems`] object which can +be used for further checks. Checkout +[`clippy_utils::ty::get_iterator_item_ty()`] for an example usage of this. + +### Usage in Clippy + +Clippy tries to use diagnostic items where possible and has developed some +wrapper and utility functions. Please also refer to its documentation when +using diagnostic items in Clippy. (See [*Common tools for writing +lints*][clippy-Common-tools-for-writing-lints].) + +## Related issues + +These are probably only interesting to people +who really want to take a deep dive into the topic :) + +* [rust#60966]: The Rust PR that introduced diagnostic items +* [rust-clippy#5393]: Clippy's tracking issue for moving away from hard coded paths to + diagnostic item + + + +[`rustc_span::symbol::sym`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/symbol/sym/index.html +[`Symbol`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/symbol/struct.Symbol.html +[`DefId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.DefId.html +[`TyCtxt::get_diagnostic_item()`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.get_diagnostic_item +[`TyCtxt::is_diagnostic_item()`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.is_diagnostic_item +[`TyCtxt::associated_items()`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.associated_items +[`AssocItems`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/assoc/struct.AssocItems.html +[`clippy_utils::ty::get_iterator_item_ty()`]: https://github.com/rust-lang/rust-clippy/blob/305177342fbc622c0b3cb148467bab4b9524c934/clippy_utils/src/ty.rs#L55-L72 +[clippy-Common-tools-for-writing-lints]: https://doc.rust-lang.org/nightly/clippy/development/common_tools_writing_lints.html +[rust#60966]: https://github.com/rust-lang/rust/pull/60966 +[rust-clippy#5393]: https://github.com/rust-lang/rust-clippy/issues/5393 diff --git a/src/doc/rustc-dev-guide/src/diagnostics/diagnostic-structs.md b/src/doc/rustc-dev-guide/src/diagnostics/diagnostic-structs.md new file mode 100644 index 000000000000..e01b8f2f1356 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/diagnostics/diagnostic-structs.md @@ -0,0 +1,401 @@ +# Diagnostic and subdiagnostic structs +rustc has three diagnostic traits that can be used to create diagnostics: +`Diagnostic`, `LintDiagnostic`, and `Subdiagnostic`. For simple diagnostics, +instead of using the `Diag` API to create and emit diagnostics, +derived impls can be used. They are only suitable for simple diagnostics that +don't require much logic in deciding whether or not to add additional +subdiagnostics. + +Such diagnostic can be translated into +different languages and each has a slug that uniquely identifies the +diagnostic. + +## `#[derive(Diagnostic)]` and `#[derive(LintDiagnostic)]` + +Consider the [definition][defn] of the "field already declared" diagnostic +shown below: + +```rust,ignore +#[derive(Diagnostic)] +#[diag(hir_analysis_field_already_declared, code = E0124)] +pub struct FieldAlreadyDeclared { + pub field_name: Ident, + #[primary_span] + #[label] + pub span: Span, + #[label(previous_decl_label)] + pub prev_span: Span, +} +``` + +`Diagnostic` can only be derived on structs and enums. +Attributes that are placed on the type for structs are placed on each +variants for enums (or vice versa). Each `Diagnostic` has to have one +attribute, `#[diag(...)]`, applied to the struct or each enum variant. + +If an error has an error code (e.g. "E0624"), then that can be specified using +the `code` sub-attribute. Specifying a `code` isn't mandatory, but if you are +porting a diagnostic that uses `Diag` to use `Diagnostic` +then you should keep the code if there was one. + +`#[diag(..)]` must provide a slug as the first positional argument (a path to an +item in `rustc_errors::fluent::*`). A slug uniquely identifies the diagnostic +and is also how the compiler knows what error message to emit (in the default +locale of the compiler, or in the locale requested by the user). See +[translation documentation](./translation.md) to learn more about how +translatable error messages are written and how slug items are generated. + +In our example, the Fluent message for the "field already declared" diagnostic +looks like this: + +```fluent +hir_analysis_field_already_declared = + field `{$field_name}` is already declared + .label = field already declared + .previous_decl_label = `{$field_name}` first declared here +``` + +`hir_analysis_field_already_declared` is the slug from our example and is followed +by the diagnostic message. + +Every field of the `Diagnostic` which does not have an annotation is +available in Fluent messages as a variable, like `field_name` in the example +above. Fields can be annotated `#[skip_arg]` if this is undesired. + +Using the `#[primary_span]` attribute on a field (that has type `Span`) +indicates the primary span of the diagnostic which will have the main message +of the diagnostic. + +Diagnostics are more than just their primary message, they often include +labels, notes, help messages and suggestions, all of which can also be +specified on a `Diagnostic`. + +`#[label]`, `#[help]`, `#[warning]` and `#[note]` can all be applied to fields which have the +type `Span`. Applying any of these attributes will create the corresponding +subdiagnostic with that `Span`. These attributes will look for their +diagnostic message in a Fluent attribute attached to the primary Fluent +message. In our example, `#[label]` will look for +`hir_analysis_field_already_declared.label` (which has the message "field already +declared"). If there is more than one subdiagnostic of the same type, then +these attributes can also take a value that is the attribute name to look for +(e.g. `previous_decl_label` in our example). + +Other types have special behavior when used in a `Diagnostic` derive: + +- Any attribute applied to an `Option` will only emit a + subdiagnostic if the option is `Some(..)`. +- Any attribute applied to a `Vec` will be repeated for each element of the + vector. + +`#[help]`, `#[warning]` and `#[note]` can also be applied to the struct itself, in which case +they work exactly like when applied to fields except the subdiagnostic won't +have a `Span`. These attributes can also be applied to fields of type `()` for +the same effect, which when combined with the `Option` type can be used to +represent optional `#[note]`/`#[help]`/`#[warning]` subdiagnostics. + +Suggestions can be emitted using one of four field attributes: + +- `#[suggestion(slug, code = "...", applicability = "...")]` +- `#[suggestion_hidden(slug, code = "...", applicability = "...")]` +- `#[suggestion_short(slug, code = "...", applicability = "...")]` +- `#[suggestion_verbose(slug, code = "...", applicability = "...")]` + +Suggestions must be applied on either a `Span` field or a `(Span, +MachineApplicability)` field. Similarly to other field attributes, the slug +specifies the Fluent attribute with the message and defaults to the equivalent +of `.suggestion`. `code` specifies the code that should be suggested as a +replacement and is a format string (e.g. `{field_name}` would be replaced by +the value of the `field_name` field of the struct), not a Fluent identifier. +`applicability` can be used to specify the applicability in the attribute, it +cannot be used when the field's type contains an `Applicability`. + +In the end, the `Diagnostic` derive will generate an implementation of +`Diagnostic` that looks like the following: + +```rust,ignore +impl<'a, G: EmissionGuarantee> Diagnostic<'a> for FieldAlreadyDeclared { + fn into_diag(self, dcx: &'a DiagCtxt, level: Level) -> Diag<'a, G> { + let mut diag = Diag::new(dcx, level, fluent::hir_analysis_field_already_declared); + diag.set_span(self.span); + diag.span_label( + self.span, + fluent::hir_analysis_label + ); + diag.span_label( + self.prev_span, + fluent::hir_analysis_previous_decl_label + ); + diag + } +} +``` + +Now that we've defined our diagnostic, how do we [use it][use]? It's quite +straightforward, just create an instance of the struct and pass it to +`emit_err` (or `emit_warning`): + +```rust,ignore +tcx.dcx().emit_err(FieldAlreadyDeclared { + field_name: f.ident, + span: f.span, + prev_span, +}); +``` + +### Reference +`#[derive(Diagnostic)]` and `#[derive(LintDiagnostic)]` support the +following attributes: + +- `#[diag(slug, code = "...")]` + - _Applied to struct or enum variant._ + - _Mandatory_ + - Defines the text and error code to be associated with the diagnostic. + - Slug (_Mandatory_) + - Uniquely identifies the diagnostic and corresponds to its Fluent message, + mandatory. + - A path to an item in `rustc_errors::fluent`, e.g. + `rustc_errors::fluent::hir_analysis_field_already_declared` + (`rustc_errors::fluent` is implicit in the attribute, so just + `hir_analysis_field_already_declared`). + - See [translation documentation](./translation.md). + - `code = "..."` (_Optional_) + - Specifies the error code. +- `#[note]` or `#[note(slug)]` (_Optional_) + - _Applied to struct or struct fields of type `Span`, `Option<()>` or `()`._ + - Adds a note subdiagnostic. + - Value is a path to an item in `rustc_errors::fluent` for the note's + message. + - Defaults to equivalent of `.note`. + - If applied to a `Span` field, creates a spanned note. +- `#[help]` or `#[help(slug)]` (_Optional_) + - _Applied to struct or struct fields of type `Span`, `Option<()>` or `()`._ + - Adds a help subdiagnostic. + - Value is a path to an item in `rustc_errors::fluent` for the note's + message. + - Defaults to equivalent of `.help`. + - If applied to a `Span` field, creates a spanned help. +- `#[label]` or `#[label(slug)]` (_Optional_) + - _Applied to `Span` fields._ + - Adds a label subdiagnostic. + - Value is a path to an item in `rustc_errors::fluent` for the note's + message. + - Defaults to equivalent of `.label`. +- `#[warning]` or `#[warning(slug)]` (_Optional_) + - _Applied to struct or struct fields of type `Span`, `Option<()>` or `()`._ + - Adds a warning subdiagnostic. + - Value is a path to an item in `rustc_errors::fluent` for the note's + message. + - Defaults to equivalent of `.warn`. +- `#[suggestion{,_hidden,_short,_verbose}(slug, code = "...", applicability = "...")]` + (_Optional_) + - _Applied to `(Span, MachineApplicability)` or `Span` fields._ + - Adds a suggestion subdiagnostic. + - Slug (_Mandatory_) + - A path to an item in `rustc_errors::fluent`, e.g. + `rustc_errors::fluent::hir_analysis_field_already_declared` + (`rustc_errors::fluent` is implicit in the attribute, so just + `hir_analysis_field_already_declared`). Fluent attributes for all messages + exist as top-level items in that module (so `hir_analysis_message.attr` is just + `attr`). + - See [translation documentation](./translation.md). + - Defaults to `rustc_errors::fluent::_subdiag::suggestion` (or + - `.suggestion` in Fluent). + - `code = "..."`/`code("...", ...)` (_Mandatory_) + - One or multiple format strings indicating the code to be suggested as a + replacement. Multiple values signify multiple possible replacements. + - `applicability = "..."` (_Optional_) + - String which must be one of `machine-applicable`, `maybe-incorrect`, + `has-placeholders` or `unspecified`. +- `#[subdiagnostic]` + - _Applied to a type that implements `Subdiagnostic` (from + `#[derive(Subdiagnostic)]`)._ + - Adds the subdiagnostic represented by the subdiagnostic struct. +- `#[primary_span]` (_Optional_) + - _Applied to `Span` fields on `Subdiagnostic`s. Not used for `LintDiagnostic`s._ + - Indicates the primary span of the diagnostic. +- `#[skip_arg]` (_Optional_) + - _Applied to any field._ + - Prevents the field from being provided as a diagnostic argument. + +## `#[derive(Subdiagnostic)]` +It is common in the compiler to write a function that conditionally adds a +specific subdiagnostic to an error if it is applicable. Oftentimes these +subdiagnostics could be represented using a diagnostic struct even if the +overall diagnostic could not. In this circumstance, the `Subdiagnostic` +derive can be used to represent a partial diagnostic (e.g a note, label, help or +suggestion) as a struct. + +Consider the [definition][subdiag_defn] of the "expected return type" label +shown below: + +```rust +#[derive(Subdiagnostic)] +pub enum ExpectedReturnTypeLabel<'tcx> { + #[label(hir_analysis_expected_default_return_type)] + Unit { + #[primary_span] + span: Span, + }, + #[label(hir_analysis_expected_return_type)] + Other { + #[primary_span] + span: Span, + expected: Ty<'tcx>, + }, +} +``` + +Like `Diagnostic`, `Subdiagnostic` can be derived for structs or +enums. Attributes that are placed on the type for structs are placed on each +variants for enums (or vice versa). Each `Subdiagnostic` should have one +attribute applied to the struct or each variant, one of: + +- `#[label(..)]` for defining a label +- `#[note(..)]` for defining a note +- `#[help(..)]` for defining a help +- `#[warning(..)]` for defining a warning +- `#[suggestion{,_hidden,_short,_verbose}(..)]` for defining a suggestion + +All of the above must provide a slug as the first positional argument (a path +to an item in `rustc_errors::fluent::*`). A slug uniquely identifies the +diagnostic and is also how the compiler knows what error message to emit (in +the default locale of the compiler, or in the locale requested by the user). +See [translation documentation](./translation.md) to learn more about how +translatable error messages are written and how slug items are generated. + +In our example, the Fluent message for the "expected return type" label +looks like this: + +```fluent +hir_analysis_expected_default_return_type = expected `()` because of default return type + +hir_analysis_expected_return_type = expected `{$expected}` because of return type +``` + +Using the `#[primary_span]` attribute on a field (with type `Span`) will denote +the primary span of the subdiagnostic. A primary span is only necessary for a +label or suggestion, which can not be spanless. + +Every field of the type/variant which does not have an annotation is available +in Fluent messages as a variable. Fields can be annotated `#[skip_arg]` if this +is undesired. + +Like `Diagnostic`, `Subdiagnostic` supports `Option` and +`Vec` fields. + +Suggestions can be emitted using one of four attributes on the type/variant: + +- `#[suggestion(..., code = "...", applicability = "...")]` +- `#[suggestion_hidden(..., code = "...", applicability = "...")]` +- `#[suggestion_short(..., code = "...", applicability = "...")]` +- `#[suggestion_verbose(..., code = "...", applicability = "...")]` + +Suggestions require `#[primary_span]` be set on a field and can have the +following sub-attributes: + +- The first positional argument specifies the path to a item in + `rustc_errors::fluent` corresponding to the Fluent attribute with the message + and defaults to the equivalent of `.suggestion`. +- `code` specifies the code that should be suggested as a replacement and is a + format string (e.g. `{field_name}` would be replaced by the value of the + `field_name` field of the struct), not a Fluent identifier. +- `applicability` can be used to specify the applicability in the attribute, it + cannot be used when the field's type contains an `Applicability`. + +Applicabilities can also be specified as a field (of type `Applicability`) +using the `#[applicability]` attribute. + +In the end, the `Subdiagnostic` derive will generate an implementation +of `Subdiagnostic` that looks like the following: + +```rust +impl<'tcx> Subdiagnostic for ExpectedReturnTypeLabel<'tcx> { + fn add_to_diag(self, diag: &mut rustc_errors::Diagnostic) { + use rustc_errors::{Applicability, IntoDiagArg}; + match self { + ExpectedReturnTypeLabel::Unit { span } => { + diag.span_label(span, rustc_errors::fluent::hir_analysis_expected_default_return_type) + } + ExpectedReturnTypeLabel::Other { span, expected } => { + diag.set_arg("expected", expected); + diag.span_label(span, rustc_errors::fluent::hir_analysis_expected_return_type) + } + } + } +} +``` + +Once defined, a subdiagnostic can be used by passing it to the `subdiagnostic` +function ([example][subdiag_use_1] and [example][subdiag_use_2]) on a +diagnostic or by assigning it to a `#[subdiagnostic]`-annotated field of a +diagnostic struct. + +### Reference +`#[derive(Subdiagnostic)]` supports the following attributes: + +- `#[label(slug)]`, `#[help(slug)]`, `#[warning(slug)]` or `#[note(slug)]` + - _Applied to struct or enum variant. Mutually exclusive with struct/enum variant attributes._ + - _Mandatory_ + - Defines the type to be representing a label, help or note. + - Slug (_Mandatory_) + - Uniquely identifies the diagnostic and corresponds to its Fluent message, + mandatory. + - A path to an item in `rustc_errors::fluent`, e.g. + `rustc_errors::fluent::hir_analysis_field_already_declared` + (`rustc_errors::fluent` is implicit in the attribute, so just + `hir_analysis_field_already_declared`). + - See [translation documentation](./translation.md). +- `#[suggestion{,_hidden,_short,_verbose}(slug, code = "...", applicability = "...")]` + - _Applied to struct or enum variant. Mutually exclusive with struct/enum variant attributes._ + - _Mandatory_ + - Defines the type to be representing a suggestion. + - Slug (_Mandatory_) + - A path to an item in `rustc_errors::fluent`, e.g. + `rustc_errors::fluent::hir_analysis_field_already_declared` + (`rustc_errors::fluent` is implicit in the attribute, so just + `hir_analysis::field_already_declared`). Fluent attributes for all messages + exist as top-level items in that module (so `hir_analysis_message.attr` is just + `hir_analysis::attr`). + - See [translation documentation](./translation.md). + - Defaults to `rustc_errors::fluent::_subdiag::suggestion` (or + - `.suggestion` in Fluent). + - `code = "..."`/`code("...", ...)` (_Mandatory_) + - One or multiple format strings indicating the code to be suggested as a + replacement. Multiple values signify multiple possible replacements. + - `applicability = "..."` (_Optional_) + - _Mutually exclusive with `#[applicability]` on a field._ + - Value is the applicability of the suggestion. + - String which must be one of: + - `machine-applicable` + - `maybe-incorrect` + - `has-placeholders` + - `unspecified` +- `#[multipart_suggestion{,_hidden,_short,_verbose}(slug, applicability = "...")]` + - _Applied to struct or enum variant. Mutually exclusive with struct/enum variant attributes._ + - _Mandatory_ + - Defines the type to be representing a multipart suggestion. + - Slug (_Mandatory_): see `#[suggestion]` + - `applicability = "..."` (_Optional_): see `#[suggestion]` +- `#[primary_span]` (_Mandatory_ for labels and suggestions; _optional_ otherwise; not applicable +to multipart suggestions) + - _Applied to `Span` fields._ + - Indicates the primary span of the subdiagnostic. +- `#[suggestion_part(code = "...")]` (_Mandatory_; only applicable to multipart suggestions) + - _Applied to `Span` fields._ + - Indicates the span to be one part of the multipart suggestion. + - `code = "..."` (_Mandatory_) + - Value is a format string indicating the code to be suggested as a + replacement. +- `#[applicability]` (_Optional_; only applicable to (simple and multipart) suggestions) + - _Applied to `Applicability` fields._ + - Indicates the applicability of the suggestion. +- `#[skip_arg]` (_Optional_) + - _Applied to any field._ + - Prevents the field from being provided as a diagnostic argument. + +[defn]: https://github.com/rust-lang/rust/blob/6201eabde85db854c1ebb57624be5ec699246b50/compiler/rustc_hir_analysis/src/errors.rs#L68-L77 +[use]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/collect.rs#L823-L827 + +[subdiag_defn]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/errors.rs#L221-L234 +[subdiag_use_1]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/check/fn_ctxt/suggestions.rs#L670-L674 +[subdiag_use_2]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/check/fn_ctxt/suggestions.rs#L704-L707 diff --git a/src/doc/rustc-dev-guide/src/diagnostics/error-codes.md b/src/doc/rustc-dev-guide/src/diagnostics/error-codes.md new file mode 100644 index 000000000000..1b6b87e4c8d5 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/diagnostics/error-codes.md @@ -0,0 +1,104 @@ +# Error codes +We generally try to assign each error message a unique code like `E0123`. These +codes are defined in the compiler in the `diagnostics.rs` files found in each +crate, which basically consist of macros. All error codes have an associated +explanation: new error codes must include them. Note that not all _historical_ +(no longer emitted) error codes have explanations. + +## Error explanations + +The explanations are written in Markdown (see the [CommonMark Spec] for +specifics around syntax), and all of them are linked in the [`rustc_error_codes`] +crate. Please read [RFC 1567] for details on how to format and write long error +codes. As of February 2023, there is an +effort[^new-explanations] to replace this largely outdated RFC with a new more +flexible standard. + +Error explanations should expand on the error message and provide details about +_why_ the error occurs. It is not helpful for users to copy-paste a quick fix; +explanations should help users understand why their code cannot be accepted by +the compiler. Rust prides itself on helpful error messages and long-form +explanations are no exception. However, before error explanations are +overhauled[^new-explanations] it is a bit open as to how exactly they should be +written, as always: ask your reviewer or ask around on the Rust Discord or Zulip. + +[^new-explanations]: See the draft RFC [here][new-explanations-rfc]. + +[`rustc_error_codes`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_error_codes/index.html +[CommonMark Spec]: https://spec.commonmark.org/current/ +[RFC 1567]: https://github.com/rust-lang/rfcs/blob/master/text/1567-long-error-codes-explanation-normalization.md +[new-explanations-rfc]: https://github.com/rust-lang/rfcs/pull/3370 + +## Allocating a fresh code + +Error codes are stored in `compiler/rustc_error_codes`. + +To create a new error, you first need to find the next available +code. You can find it with `tidy`: + +``` +./x test tidy +``` + +This will invoke the tidy script, which generally checks that your code obeys +our coding conventions. Some of these jobs check error codes and ensure that +there aren't duplicates, etc (the tidy check is defined in +`src/tools/tidy/src/error_codes.rs`). Once it is finished with that, tidy will +print out the highest used error code: + +``` +... +tidy check +Found 505 error codes +Highest error code: `E0591` +... +``` + +Here we see the highest error code in use is `E0591`, so we _probably_ want +`E0592`. To be sure, run `rg E0592` and check, you should see no references. + +You will have to write an extended description for your error, +which will go in `rustc_error_codes/src/error_codes/E0592.md`. +To register the error, open `rustc_error_codes/src/error_codes.rs` and add the +code (in its proper numerical order) into` register_diagnostics!` macro, like +this: + +```rust +register_diagnostics! { + ... + E0592: include_str!("./error_codes/E0592.md"), +} +``` + +To actually issue the error, you can use the `struct_span_code_err!` macro: + +```rust +struct_span_code_err!(self.dcx(), // some path to the `DiagCtxt` here + span, // whatever span in the source you want + E0592, // your new error code + fluent::example::an_error_message) + .emit() // actually issue the error +``` + +If you want to add notes or other snippets, you can invoke methods before you +call `.emit()`: + +```rust +struct_span_code_err!(...) + .span_label(another_span, fluent::example::example_label) + .span_note(another_span, fluent::example::separate_note) + .emit() +``` + +For an example of a PR adding an error code, see [#76143]. + +[#76143]: https://github.com/rust-lang/rust/pull/76143 + +## Running error code doctests + +To test the examples added in `rustc_error_codes/src/error_codes`, run the +error index generator using: + +``` +./x test ./src/tools/error_index_generator +``` diff --git a/src/doc/rustc-dev-guide/src/diagnostics/error-guaranteed.md b/src/doc/rustc-dev-guide/src/diagnostics/error-guaranteed.md new file mode 100644 index 000000000000..d0ff775da80e --- /dev/null +++ b/src/doc/rustc-dev-guide/src/diagnostics/error-guaranteed.md @@ -0,0 +1,33 @@ +# `ErrorGuaranteed` +The previous sections have been about the error message that a user of the +compiler sees. But emitting an error can also have a second important side +effect within the compiler source code: it generates an +[`ErrorGuaranteed`][errorguar]. + +`ErrorGuaranteed` is a zero-sized type that is unconstructable outside of the +[`rustc_errors`][rerrors] crate. It is generated whenever an error is reported +to the user, so that if your compiler code ever encounters a value of type +`ErrorGuaranteed`, the compilation is _statically guaranteed to fail_. This is +useful for avoiding unsoundness bugs because you can statically check that an +error code path leads to a failure. + +There are some important considerations about the usage of `ErrorGuaranteed`: + +* It does _not_ convey information about the _kind_ of error. For example, the + error may be due (indirectly) to a delayed bug or other compiler error. + Thus, you should not rely on + `ErrorGuaranteed` when deciding whether to emit an error, or what kind of error + to emit. +* `ErrorGuaranteed` should not be used to indicate that a compilation _will + emit_ an error in the future. It should be used to indicate that an error + _has already been_ emitted -- that is, the [`emit()`][emit] function has + already been called. For example, if we detect that a future part of the + compiler will error, we _cannot_ use `ErrorGuaranteed` unless we first emit + an error or delayed bug ourselves. + +Thankfully, in most cases, it should be statically impossible to abuse +`ErrorGuaranteed`. + +[errorguar]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.ErrorGuaranteed.html +[rerrors]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/index.html +[emit]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/diagnostic/struct.Diag.html#method.emit diff --git a/src/doc/rustc-dev-guide/src/diagnostics/lintstore.md b/src/doc/rustc-dev-guide/src/diagnostics/lintstore.md new file mode 100644 index 000000000000..bd2b02529456 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/diagnostics/lintstore.md @@ -0,0 +1,124 @@ +# Lints + +This page documents some of the machinery around lint registration and how we +run lints in the compiler. + +The [`LintStore`] is the central piece of infrastructure, around which +everything rotates. The `LintStore` is held as part of the [`Session`], and it +gets populated with the list of lints shortly after the `Session` is created. + +## Lints vs. lint passes + +There are two parts to the linting mechanism within the compiler: lints and +lint passes. Unfortunately, a lot of the documentation we have refers to both +of these as just "lints." + +First, we have the lint declarations themselves, +and this is where the name and default lint level and other metadata come from. +These are normally defined by way of the [`declare_lint!`] macro, +which boils down to a static with type [`&rustc_lint_defs::Lint`] +(although this may change in the future, +as the macro is somewhat unwieldy to add new fields to, +like all macros). + +As of Aug 2022, +we lint against direct declarations without the use of the macro. + +Lint declarations don't carry any "state" - they are merely global identifiers +and descriptions of lints. We assert at runtime that they are not registered +twice (by lint name). + +Lint passes are the meat of any lint. Notably, there is not a one-to-one +relationship between lints and lint passes; a lint might not have any lint pass +that emits it, it could have many, or just one -- the compiler doesn't track +whether a pass is in any way associated with a particular lint, and frequently +lints are emitted as part of other work (e.g., type checking, etc.). + +## Registration + +### High-level overview + +In [`rustc_interface::run_compiler`], +the [`LintStore`] is created, +and all lints are registered. + +There are three 'sources' of lints: + +* internal lints: lints only used by the rustc codebase +* builtin lints: lints built into the compiler and not provided by some outside + source +* `rustc_interface::Config`[`register_lints`]: lints passed into the compiler + during construction + +Lints are registered via the [`LintStore::register_lint`] function. This should +happen just once for any lint, or an ICE will occur. + +Once the registration is complete, we "freeze" the lint store by placing it in +an `Lrc`. + +Lint passes are registered separately into one of the categories +(pre-expansion, early, late, late module). Passes are registered as a closure +-- i.e., `impl Fn() -> Box`, where `dyn X` is either an early or late +lint pass trait object. When we run the lint passes, we run the closure and +then invoke the lint pass methods. The lint pass methods take `&mut self` so +they can keep track of state internally. + +#### Internal lints + +These are lints used just by the compiler or drivers like `clippy`. They can be +found in [`rustc_lint::internal`]. + +An example of such a lint is the check that lint passes are implemented using +the `declare_lint_pass!` macro and not by hand. This is accomplished with the +`LINT_PASS_IMPL_WITHOUT_MACRO` lint. + +Registration of these lints happens in the [`rustc_lint::register_internals`] +function which is called when constructing a new lint store inside +[`rustc_lint::new_lint_store`]. + +#### Builtin Lints + +These are primarily described in two places, +`rustc_lint_defs::builtin` and `rustc_lint::builtin`. +Often the first provides the definitions for the lints themselves, +and the latter provides the lint pass definitions (and implementations), +but this is not always true. + +The builtin lint registration happens in +the [`rustc_lint::register_builtins`] function. +Just like with internal lints, +this happens inside of [`rustc_lint::new_lint_store`]. + +#### Driver lints + +These are the lints provided by drivers via the `rustc_interface::Config` +[`register_lints`] field, which is a callback. Drivers should, if finding it +already set, call the function currently set within the callback they add. The +best way for drivers to get access to this is by overriding the +`Callbacks::config` function which gives them direct access to the `Config` +structure. + +## Compiler lint passes are combined into one pass + +Within the compiler, for performance reasons, we usually do not register dozens +of lint passes. Instead, we have a single lint pass of each variety (e.g., +`BuiltinCombinedModuleLateLintPass`) which will internally call all of the +individual lint passes; this is because then we get the benefits of static over +dynamic dispatch for each of the (often empty) trait methods. + +Ideally, we'd not have to do this, since it adds to the complexity of +understanding the code. However, with the current type-erased lint store +approach, it is beneficial to do so for performance reasons. + +[`LintStore`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/struct.LintStore.html +[`LintStore::register_lint`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/struct.LintStore.html#method.register_lints +[`rustc_lint::register_builtins`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/fn.register_builtins.html +[`rustc_lint::register_internals`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/fn.register_internals.html +[`rustc_lint::new_lint_store`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/fn.new_lint_store.html +[`declare_lint!`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/macro.declare_lint.html +[`declare_tool_lint!`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/macro.declare_tool_lint.html +[`register_lints`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/struct.Config.html#structfield.register_lints +[`&rustc_lint_defs::Lint`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint_defs/struct.Lint.html +[`Session`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/struct.Session.html +[`rustc_interface::run_compiler`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/index.html#reexport.run_compiler +[`rustc_lint::internal`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/internal/index.html diff --git a/src/doc/rustc-dev-guide/src/diagnostics/translation.md b/src/doc/rustc-dev-guide/src/diagnostics/translation.md new file mode 100644 index 000000000000..58d75f54a005 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/diagnostics/translation.md @@ -0,0 +1,226 @@ +# Translation + +
+rustc's current diagnostics translation infrastructure (as of + October 2024 +) unfortunately causes some friction for compiler contributors, and the current +infrastructure is mostly pending a redesign that better addresses needs of both +compiler contributors and translation teams. Note that there is no current +active redesign proposals (as of + October 2024 +)! + +Please see the tracking issue +for status updates. + +We have downgraded the internal lints `untranslatable_diagnostic` and +`diagnostic_outside_of_impl`. Those internal lints previously required new code +to use the current translation infrastructure. However, because the translation +infra is waiting for a yet-to-be-proposed redesign and thus rework, we are not +mandating usage of current translation infra. Use the infra if you *want to* or +otherwise makes the code cleaner, but otherwise sidestep the translation infra +if you need more flexibility. +
+ +rustc's diagnostic infrastructure supports translatable diagnostics using +[Fluent]. + +## Writing translatable diagnostics + +There are two ways of writing translatable diagnostics: + +1. For simple diagnostics, using a diagnostic (or subdiagnostic) derive. + ("Simple" diagnostics being those that don't require a lot of logic in + deciding to emit subdiagnostics and can therefore be represented as + diagnostic structs). See [the diagnostic and subdiagnostic structs + documentation](./diagnostic-structs.md). +2. Using typed identifiers with `Diag` APIs (in + `Diagnostic` or `Subdiagnostic` or `LintDiagnostic` implementations). + +When adding or changing a translatable diagnostic, +you don't need to worry about the translations. +Only updating the original English message is required. +Currently, +each crate which defines translatable diagnostics has its own Fluent resource, +which is a file named `messages.ftl`, +located in the root of the crate +(such as`compiler/rustc_expand/messages.ftl`). + +## Fluent + +Fluent is built around the idea of "asymmetric localization", which aims to +decouple the expressiveness of translations from the grammar of the source +language (English in rustc's case). Prior to translation, rustc's diagnostics +relied heavily on interpolation to build the messages shown to the users. +Interpolated strings are hard to translate because writing a natural-sounding +translation might require more, less, or just different interpolation than the +English string, all of which would require changes to the compiler's source +code to support. + +Diagnostic messages are defined in Fluent resources. A combined set of Fluent +resources for a given locale (e.g. `en-US`) is known as Fluent bundle. + +```fluent +typeck_address_of_temporary_taken = cannot take address of a temporary +``` + +In the above example, `typeck_address_of_temporary_taken` is the identifier for +a Fluent message and corresponds to the diagnostic message in English. Other +Fluent resources can be written which would correspond to a message in another +language. Each diagnostic therefore has at least one Fluent message. + +```fluent +typeck_address_of_temporary_taken = cannot take address of a temporary + .label = temporary value +``` + +By convention, diagnostic messages for subdiagnostics are specified as +"attributes" on Fluent messages (additional related messages, denoted by the +`.` syntax). In the above example, `label` is an attribute of +`typeck_address_of_temporary_taken` which corresponds to the message for the +label added to this diagnostic. + +Diagnostic messages often interpolate additional context into the message shown +to the user, such as the name of a type or of a variable. Additional context to +Fluent messages is provided as an "argument" to the diagnostic. + +```fluent +typeck_struct_expr_non_exhaustive = + cannot create non-exhaustive {$what} using struct expression +``` + +In the above example, the Fluent message refers to an argument named `what` +which is expected to exist (how arguments are provided to diagnostics is +discussed in detail later). + +You can consult the [Fluent] documentation for other usage examples of Fluent +and its syntax. + +### Guideline for message naming + +Usually, fluent uses `-` for separating words inside a message name. However, +`_` is accepted by fluent as well. As `_` fits Rust's use cases better, due to +the identifiers on the Rust side using `_` as well, inside rustc, `-` is not +allowed for separating words, and instead `_` is recommended. The only exception +is for leading `-`s, for message names like `-passes_see_issue`. + +### Guidelines for writing translatable messages + +For a message to be translatable into different languages, all of the +information required by any language must be provided to the diagnostic as an +argument (not just the information required in the English message). + +As the compiler team gain more experience writing diagnostics that have all of +the information necessary to be translated into different languages, this page +will be updated with more guidance. For now, the [Fluent] documentation has +excellent examples of translating messages into different locales and the +information that needs to be provided by the code to do so. + +### Compile-time validation and typed identifiers + +rustc's `fluent_messages` macro performs compile-time validation of Fluent +resources and generates code to make it easier to refer to Fluent messages in +diagnostics. + +Compile-time validation of Fluent resources will emit any parsing errors +from Fluent resources while building the compiler, preventing invalid Fluent +resources from causing panics in the compiler. Compile-time validation also +emits an error if multiple Fluent messages have the same identifier. + +## Internals + +Various parts of rustc's diagnostic internals are modified in order to support +translation. + +### Messages + +All of rustc's traditional diagnostic APIs (e.g. `struct_span_err` or `note`) +take any message that can be converted into a `DiagMessage` (or +`SubdiagMessage`). + +[`rustc_error_messages::DiagMessage`] can represent legacy non-translatable +diagnostic messages and translatable messages. Non-translatable messages are +just `String`s. Translatable messages are just a `&'static str` with the +identifier of the Fluent message (sometimes with an additional `&'static str` +with an attribute). + +`DiagMessage` never needs to be interacted with directly: +`DiagMessage` constants are created for each diagnostic message in a +Fluent resource (described in more detail below), or `DiagMessage`s will +either be created in the macro-generated code of a diagnostic derive. + +`rustc_error_messages::SubdiagMessage` is similar, it can correspond to a +legacy non-translatable diagnostic message or the name of an attribute to a +Fluent message. Translatable `SubdiagMessage`s must be combined with a +`DiagMessage` (using `DiagMessage::with_subdiagnostic_message`) to +be emitted (an attribute name on its own is meaningless without a corresponding +message identifier, which is what `DiagMessage` provides). + +Both `DiagMessage` and `SubdiagMessage` implement `Into` for any +type that can be converted into a string, and converts these into +non-translatable diagnostics - this keeps all existing diagnostic calls +working. + +### Arguments + +Additional context for Fluent messages which are interpolated into message +contents needs to be provided to translatable diagnostics. + +Diagnostics have a `set_arg` function that can be used to provide this +additional context to a diagnostic. + +Arguments have both a name (e.g. "what" in the earlier example) and a value. +Argument values are represented using the `DiagArgValue` type, which is +just a string or a number. rustc types can implement `IntoDiagArg` with +conversion into a string or a number, and common types like `Ty<'tcx>` already +have such implementations. + +`set_arg` calls are handled transparently by diagnostic derives but need to be +added manually when using diagnostic builder APIs. + +### Loading + +rustc makes a distinction between the "fallback bundle" for `en-US` that is used +by default and when another locale is missing a message; and the primary fluent +bundle which is requested by the user. + +Diagnostic emitters implement the `Emitter` trait which has two functions for +accessing the fallback and primary fluent bundles (`fallback_fluent_bundle` and +`fluent_bundle` respectively). + +`Emitter` also has member functions with default implementations for performing +translation of a `DiagMessage` using the results of +`fallback_fluent_bundle` and `fluent_bundle`. + +All of the emitters in rustc load the fallback Fluent bundle lazily, only +reading Fluent resources and parsing them when an error message is first being +translated (for performance reasons - it doesn't make sense to do this if no +error is being emitted). `rustc_error_messages::fallback_fluent_bundle` returns +a `std::lazy::Lazy` which is provided to emitters and evaluated +in the first call to `Emitter::fallback_fluent_bundle`. + +The primary Fluent bundle (for the user's desired locale) is expected to be +returned by `Emitter::fluent_bundle`. This bundle is used preferentially when +translating messages, the fallback bundle is only used if the primary bundle is +missing a message or not provided. + +There are no locale bundles distributed with the compiler, +but mechanisms are implemented for loading them. + +- `-Ztranslate-additional-ftl` can be used to load a specific resource as the + primary bundle for testing purposes. +- `-Ztranslate-lang` can be provided a language identifier (something like + `en-US`) and will load any Fluent resources found in + `$sysroot/share/locale/$locale/` directory (both the user provided + sysroot and any sysroot candidates). + +Primary bundles are not currently loaded lazily and if requested will be loaded +at the start of compilation regardless of whether an error occurs. Lazily +loading primary bundles is possible if it can be assumed that loading a bundle +won't fail. Bundle loading can fail if a requested locale is missing, Fluent +files are malformed, or a message is duplicated in multiple resources. + +[Fluent]: https://projectfluent.org +[`compiler/rustc_borrowck/messages.ftl`]: https://github.com/rust-lang/rust/blob/HEAD/compiler/rustc_borrowck/messages.ftl +[`compiler/rustc_parse/messages.ftl`]: https://github.com/rust-lang/rust/blob/HEAD/compiler/rustc_parse/messages.ftl +[`rustc_error_messages::DiagMessage`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_error_messages/enum.DiagMessage.html diff --git a/src/doc/rustc-dev-guide/src/early-late-bound-params/early-late-bound-implementation-nuances.md b/src/doc/rustc-dev-guide/src/early-late-bound-params/early-late-bound-implementation-nuances.md new file mode 100644 index 000000000000..01569e8dc6a0 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/early-late-bound-params/early-late-bound-implementation-nuances.md @@ -0,0 +1,197 @@ +# Early and Late Bound Parameter Implementation Nuances + +> Note: this chapter makes reference to information discussed later on in the [representing types][ch_representing_types] chapter. Specifically, it uses concise notation to represent some more complex kinds of types that have not yet been discussed, such as inference variables. + +[ch_representing_types]: ../ty.md + +Understanding this page likely requires a rudimentary understanding of higher ranked +trait bounds/`for<'a>`and also what types such as `dyn for<'a> Trait<'a>` and + `for<'a> fn(&'a u32)` mean. Reading [the nomincon chapter](https://doc.rust-lang.org/nomicon/hrtb.html) +on HRTB may be useful for understanding this syntax. The meaning of `for<'a> fn(&'a u32)` +is incredibly similar to the meaning of `T: for<'a> Trait<'a>`. + +## What does it mean for parameters to be early or late bound + +All function definitions conceptually have a ZST (this is represented by `TyKind::FnDef` in rustc). +The only generics on this ZST are the early bound parameters of the function definition. e.g. +```rust +fn foo<'a>(_: &'a u32) {} + +fn main() { + let b = foo; + // ^ `b` has type `FnDef(foo, [])` (no args because `'a` is late bound) + assert!(std::mem::size_of_val(&b) == 0); +} +``` + +In order to call `b` the late bound parameters do need to be provided, these are inferred at the +call site instead of when we refer to `foo`. +```rust +fn main() { + let b = foo; + let a: &'static u32 = &10; + foo(a); + // the lifetime argument for `'a` on `foo` is inferred at the callsite + // the generic parameter `'a` on `foo` is inferred to `'static` here +} +``` + +Because late bound parameters are not part of the `FnDef`'s args this allows us to prove trait +bounds such as `F: for<'a> Fn(&'a u32)` where `F` is `foo`'s `FnDef`. e.g. +```rust +fn foo_early<'a, T: Trait<'a>>(_: &'a u32, _: T) {} +fn foo_late<'a, T>(_: &'a u32, _: T) {} + +fn accepts_hr_func Fn(&'a u32, u32)>(_: F) {} + +fn main() { + // doesn't work, the instantiated bound is `for<'a> FnDef<'?0>: Fn(&'a u32, u32)` + // `foo_early` only implements `for<'a> FnDef<'a>: Fn(&'a u32, u32)`- the lifetime + // of the borrow in the function argument must be the same as the lifetime + // on the `FnDef`. + accepts_hr_func(foo_early); + + // works, the instantiated bound is `for<'a> FnDef: Fn(&'a u32, u32)` + accepts_hr_func(foo_late); +} + +// the builtin `Fn` impls for `foo_early` and `foo_late` look something like: +// `foo_early` +impl<'a, T: Trait<'a>> Fn(&'a u32, T) for FooEarlyFnDef<'a, T> { ... } +// `foo_late` +impl<'a, T> Fn(&'a u32, T) for FooLateFnDef { ... } + +``` + +Early bound parameters are present on the `FnDef`. Late bound generic parameters are not present +on the `FnDef` but are instead constrained by the builtin `Fn*` impl. + +The same distinction applies to closures. Instead of `FnDef` we are talking about the anonymous +closure type. Closures are [currently unsound](https://github.com/rust-lang/rust/issues/84366) in +ways that are closely related to the distinction between early/late bound +parameters (more on this later) + +The early/late boundness of generic parameters is only relevant for the desugaring of +functions/closures into types with builtin `Fn*` impls. It does not make sense to talk about +in other contexts. + +The `generics_of` query in rustc only contains early bound parameters. In this way it acts more +like `generics_of(my_func)` is the generics for the FnDef than the generics provided to the function +body although it's not clear to the author of this section if this was the actual justification for +making `generics_of` behave this way. + +## What parameters are currently late bound + +Below are the current requirements for determining if a generic parameter is late bound. It is worth +keeping in mind that these are not necessarily set in stone and it is almost certainly possible to +be more flexible. + +### Must be a lifetime parameter + +Rust can't support types such as `for dyn Trait` or `for fn(T)`, this is a +fundamental limitation of the language as we are required to monomorphize type/const +parameters and cannot do so behind dynamic dispatch. (technically we could probably +support `for dyn MarkerTrait` as there is nothing to monomorphize) + +Not being able to support `for dyn Trait` resulted in making all type and const +parameters early bound. Only lifetime parameters can be late bound. + +### Must not appear in the where clauses + +In order for a generic parameter to be late bound it must not appear in any where clauses. +This is currently an incredibly simplistic check that causes lifetimes to be early bound even +if the where clause they appear in are always true, or implied by well formedness of function +arguments. e.g. +```rust +fn foo1<'a: 'a>(_: &'a u32) {} +// ^^ early bound parameter because it's in a `'a: 'a` clause +// even though the bound obviously holds all the time +fn foo2<'a, T: Trait<'a>(a: T, b: &'a u32) {} +// ^^ early bound parameter because it's used in the `T: Trait<'a>` clause +fn foo3<'a, T: 'a>(_: &'a T) {} +// ^^ early bound parameter because it's used in the `T: 'a` clause +// even though that bound is implied by wellformedness of `&'a T` +fn foo4<'a, 'b: 'a>(_: Inv<&'a ()>, _: Inv<&'b ()>) {} +// ^^ ^^ ^^^ note: +// ^^ ^^ `Inv` stands for `Invariant` and is used to +// ^^ ^^ make the type parameter invariant. This +// ^^ ^^ is necessary for demonstration purposes as +// ^^ ^^ `for<'a, 'b> fn(&'a (), &'b ())` and +// ^^ ^^ `for<'a> fn(&'a u32, &'a u32)` are subtypes- +// ^^ ^^ of each other which makes the bound trivially +// ^^ ^^ satisfiable when making the fnptr. `Inv` +// ^^ ^^ disables this subtyping. +// ^^ ^^ +// ^^^^^^ both early bound parameters because they are present in the +// `'b: 'a` clause +``` + +The reason for this requirement is that we cannot represent the `T: Trait<'a>` or `'a: 'b` clauses +on a function pointer. `for<'a, 'b> fn(Inv<&'a ()>, Inv<&'b ()>)` is not a valid function pointer to +represent`foo4` as it would allow calling the function without `'b: 'a` holding. + +### Must be constrained by where clauses or function argument types + +The builtin impls of the `Fn*` traits for closures and `FnDef`s cannot not have any unconstrained +parameters. For example the following impl is illegal: +```rust +impl<'a> Trait for u32 { type Assoc = &'a u32; } +``` +We must not end up with a similar impl for the `Fn*` traits e.g. +```rust +impl<'a> Fn<()> for FnDef { type Assoc = &'a u32 } +``` + +Violating this rule can trivially lead to unsoundness as seen in [#84366](https://github.com/rust-lang/rust/issues/84366). +Additionally if we ever support late bound type params then an impl like: +```rust +impl Fn<()> for FnDef { type Assoc = T; } +``` +would break the compiler in various ways. + +In order to ensure that everything functions correctly, we do not allow generic parameters to +be late bound if it would result in a builtin impl that does not constrain all of the generic +parameters on the builtin impl. Making a generic parameter be early bound trivially makes it be +constrained by the builtin impl as it ends up on the self type. + +Because of the requirement that late bound parameters must not appear in where clauses, checking +this is simpler than the rules for checking impl headers constrain all the parameters on the impl. +We only have to ensure that all late bound parameters appear at least once in the function argument +types outside of an alias (e.g. an associated type). + +The requirement that they not indirectly be in the args of an alias for it to count is the +same as why the follow code is forbidden: +```rust +impl OtherTrait for ::Assoc { type Assoc = T } +``` +There is no guarantee that `::Assoc` will normalize to different types for every +instantiation of `T`. If we were to allow this impl we could get overlapping impls and the +same is true of the builtin `Fn*` impls. + +## Making more generic parameters late bound + +It is generally considered desirable for more parameters to be late bound as it makes +the builtin `Fn*` impls more flexible. Right now many of the requirements for making +a parameter late bound are overly restrictive as they are tied to what we can currently +(or can ever) do with fn ptrs. + +It would be theoretically possible to support late bound params in `where`-clauses in the +language by introducing implication types which would allow us to express types such as: +`for<'a, 'b: 'a> fn(Inv<&'a u32>, Inv<&'b u32>)` which would ensure `'b: 'a` is upheld when +calling the function pointer. + +It would also be theoretically possible to support it by making the coercion to a fn ptr +instantiate the parameter with an infer var while still allowing the FnDef to not have the +generic parameter present as trait impls are perfectly capable of representing the where clauses +on the function on the impl itself. This would also allow us to support late bound type/const +vars allowing bounds like `F: for Fn(T)` to hold. + +It is almost somewhat unclear if we can change the `Fn` traits to be structured differently +so that we never have to make a parameter early bound just to make the builtin impl have all +generics be constrained. Of all the possible causes of a generic parameter being early bound +this seems the most difficult to remove. + +Whether these would be good ideas to implement is a separate question- they are only brought +up to illustrate that the current rules are not necessarily set in stone and a result of +"its the only way of doing this". + diff --git a/src/doc/rustc-dev-guide/src/early-late-bound-params/turbofishing-and-early-late-bound.md b/src/doc/rustc-dev-guide/src/early-late-bound-params/turbofishing-and-early-late-bound.md new file mode 100644 index 000000000000..6fc30c6767d2 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/early-late-bound-params/turbofishing-and-early-late-bound.md @@ -0,0 +1,125 @@ +# Turbofishing's interactions with early/late bound parameters + +> Note: this chapter makes reference to information discussed later on in the [representing types][ch_representing_types] chapter. Specifically, it uses concise notation to represent some more complex kinds of types that have not yet been discussed, such as inference variables. + +[ch_representing_types]: ../ty.md + +The early/late bound parameter distinction on functions introduces some complications +when providing generic arguments to functions. This document discusses what those are +and how they might interact with future changes to make more things late bound. + +## Can't turbofish generic arguments on functions sometimes + +When a function has any late bound lifetime parameters (be they explicitly defined or +implicitly introduced via lifetime elision) we disallow specifying any lifetime arguments +on the function. Sometimes this is a hard error other times it is a future compat lint +([`late_bound_lifetime_arguments`](https://github.com/rust-lang/rust/issues/42868)). + +```rust +fn early<'a: 'a>(a: &'a ()) -> &'a () { a } +fn late<'a>(a: &'a ()) -> &'a () { a } + +fn mixed<'a, 'b: 'b>(a: &'a (), b: &'b ()) -> &'a () { a } + +struct Foo; +impl Foo { + fn late<'a>(self, a: &'a ()) -> &'a () { a } +} + +fn main() { + // fine + let f = early::<'static>; + + // some variation of hard errors and future compat lints + Foo.late::<'static>(&()); + let f = late::<'static>; + let f = mixed::<'static, 'static>; + let f = mixed::<'static>; + late::<'static>(&()); +} +``` + +The justification for this is that late bound parameters are not present on the +`FnDef` so the arguments to late bound parameters can't be present in the generic arguments +for the type. i.e. the `late` function in the above code snippet would not have +any generic parameters on the `FnDef` zst: +```rust +// example desugaring of the `late` function and its zst + builtin Fn impl +struct LateFnDef; +impl<'a> Fn<(&'a ())> for LateFnDef { + type Output = &'a (); + ... +} +``` + +The cause for some situations giving future compat lints and others giving hard errors +is a little arbitrary but explainable: +- It's always a hard error for method calls +- It's only a hard error on paths to free functions if there is no unambiguous way to +create the generic arguments for the fndef from the lifetime arguments. (i.e. the amount of +lifetimes provided must be exactly equal to the amount of early bound lifetimes or +else it's a hard error) + +## Back compat issues from turning early bound to late bound + +Because of the previously mentioned restriction on turbofishing generic arguments, it +is a breaking change to upgrade a lifetime from early bound to late bound as it can cause +existing turbofishies to become hard errors/future compat lints. + +Many t-types members have expressed interest in wanting more parameters to be late bound. +We cannot do so if making something late bound is going to break code that many would +expect to work (judging by the future compat lint issue many people do expect to be able +to turbofish late bound parameters). + +## Interactions with late bound type/const parameters + +If we were to make some type/const parameters late bound we would definitely not want +to disallow turbofishing them as it presumably(?) would break a Tonne of code. + +While lifetimes do differ from type/consts in some ways I(BoxyUwU) do not believe there +is any justification for why it would make sense to allow turbofishing late bound +type/const parameters but not late bound lifetimes. + +## Removing the hard error/fcw + +From reasons above it seems reasonable that we may want to remove the hard error and fcw +(removing the errors/fcw is definitely a blocker for making more things late bound). + +example behaviour: +```rust +fn late<'a>(a: &'a ()) -> &'a () { a } + +fn accepts_fn(_: impl for<'a> Fn(&'a ()) -> &'a ()) {} +fn accepts_fn_2(_: impl Fn(&'static ()) -> &'static ()) {} + +fn main() { + let f = late::<'static>; + + accepts_fn(f); //~ error: `f` doesn't implement `for<'a> Fn(&'a ()) -> &'a ()` + accepts_fn_2(f) // works + + accepts_fn(late) // works +} +```` + +one potential complication is that we would want a way to specify a generic argument +to a function without having to specify arguments for all previous parameters. i.e. +ideally you could write the following code somehow. +```rust +fn late<'a, 'b>(_: &'a (), _: &'b ()) {} + +fn accepts_fn(_: impl for<'a> Fn(&'a (), &'static ())) {} + +fn main() { + // a naive implementation would have an inference variable as + // the argument to the `'a` parameter no longer allowing the `FnDef` + // to satisfy the bound `for<'a> Fn(&'a ())` + let f = late::<'_, 'static>; + accepts_fn(f); +} +``` +Maybe we can just special case HIR ty lowering for `_`/`'_` arguments for late bound +parameters somehow and have it not mean the same thing as `_` for early bound parameters. +Regardless I think we would need a solution that would allow writing the above code even +if it was done by some new syntax such as having to write `late::` +(naturally `k#no_argument` would only make sense as an argument to late bound parameters). diff --git a/src/doc/rustc-dev-guide/src/effects.md b/src/doc/rustc-dev-guide/src/effects.md new file mode 100644 index 000000000000..1fda7bcbb138 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/effects.md @@ -0,0 +1,66 @@ +# Effects and effect checking + +Note: all of this describes the implementation of the unstable `effects` and +`const_trait_impl` features. None of this implementation is usable or visible from +stable Rust. + +The implementation of const traits and `~const` bounds is a limited effect system. +It is used to allow trait bounds on `const fn` to be used within the `const fn` for +method calls. Within the function, in order to know whether a method on a trait +bound is `const`, we need to know whether there is a `~const` bound for the trait. +In order to know whether we can instantiate a `~const` bound on a `const fn`, we +need to know whether there is a `const_trait` impl for the type and trait being +used (or whether the `const fn` is used at runtime, then any type implementing the +trait is ok, just like with other bounds). + +We perform these checks via a const generic boolean that gets attached to all +`const fn` and `const trait`. The following sections will explain the desugarings +and the way we perform the checks at call sites. + +The const generic boolean is inverted to the meaning of `const`. In the compiler +it is called `host`, because it enables "host APIs" like `static` items, network +access, disk access, random numbers and everything else that isn't available in +`const` contexts. So `false` means "const", `true` means "not const" and if it's +a generic parameter, it means "maybe const" (meaning we're in a const fn or const +trait). + +## `const fn` + +All `const fn` have a `#[rustc_host] const host: bool` generic parameter that is +hidden from users. Any `~const Trait` bounds in the generics list or `where` bounds +of a `const fn` get converted to `Trait + Trait` bounds. The `Trait` +exists so that associated types of the generic param can be used from projections +like `::Assoc`, because there are no `` projections for now. + +## `#[const_trait] trait`s + +The `#[const_trait]` attribute gives the marked trait a `#[rustc_host] const host: bool` +generic parameter. All functions of the trait "inherit" this generic parameter, just like +they have all the regular generic parameters of the trait. Any `~const Trait` super-trait +bounds get desugared to `Trait + Trait` in order to allow using associated +types and consts of the super traits in the trait declaration. This is necessary, because +`::Assoc` is always `>::Assoc` as there is +no `` syntax. + +## `typeck` performing method and function call checks. + +When generic parameters are instantiated for any items, the `host` generic parameter +is always instantiated as an inference variable. This is a special kind of inference var +that is not part of the type or const inference variables, similar to how we have +special inference variables for type variables that we know to be an integer, but not +yet which one. These separate inference variables fall back to `true` at +the end of typeck (in `fallback_effects`) to ensure that `let _ = some_fn_item_name;` +will keep compiling. + +All actually used (in function calls, casts, or anywhere else) function items, will +have the `enforce_context_effects` method invoked. +It trivially returns if the function being called has no `host` generic parameter. + +In order to error if a non-const function is called in a const context, we have not +yet disabled the const-check logic that happens on MIR, because +`enforce_context_effects` does not yet perform this check. + +The function call's `host` parameter is then equated to the context's `host` value, +which almost always trivially succeeds, as it was an inference var. If the inference +var has already been bound (since the function item is invoked twice), the second +invocation checks it against the first. diff --git a/src/doc/rustc-dev-guide/src/external-repos.md b/src/doc/rustc-dev-guide/src/external-repos.md new file mode 100644 index 000000000000..533f7eb5e734 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/external-repos.md @@ -0,0 +1,113 @@ +# Using External Repositories + +The `rust-lang/rust` git repository depends on several other repos in the `rust-lang` organization. +There are three main ways we use dependencies: +1. As a Cargo dependency through crates.io (e.g. `rustc-rayon`) +2. As a git subtree (e.g. `clippy`) +3. As a git submodule (e.g. `cargo`) + +As a general rule, use crates.io for libraries that could be useful for others in the ecosystem; use +subtrees for tools that depend on compiler internals and need to be updated if there are breaking +changes; and use submodules for tools that are independent of the compiler. + +## External Dependencies (subtree) + +As a developer to this repository, you don't have to treat the following external projects +differently from other crates that are directly in this repo: + +* [Clippy](https://github.com/rust-lang/rust-clippy) +* [Miri] +* [rustfmt](https://github.com/rust-lang/rustfmt) +* [rust-analyzer](https://github.com/rust-lang/rust-analyzer) + +[Miri]: https://github.com/rust-lang/miri + +In contrast to `submodule` dependencies +(see below for those), the `subtree` dependencies are just regular files and directories which can +be updated in tree. However, if possible, enhancements, bug fixes, etc. specific +to these tools should be filed against the tools directly in their respective +upstream repositories. The exception is that when rustc changes are required to +implement a new tool feature or test, that should happen in one collective rustc PR. + +### Synchronizing a subtree + +Periodically the changes made to subtree based dependencies need to be synchronized between this +repository and the upstream tool repositories. + +Subtree synchronizations are typically handled by the respective tool maintainers. Other users +are welcome to submit synchronization PRs, however, in order to do so you will need to modify +your local git installation and follow a very precise set of instructions. +These instructions are documented, along with several useful tips and tricks, in the +[syncing subtree changes][clippy-sync-docs] section in Clippy's Contributing guide. +The instructions are applicable for use with any subtree based tool, just be sure to +use the correct corresponding subtree directory and remote repository. + +The synchronization process goes in two directions: `subtree push` and `subtree pull`. + +A `subtree push` takes all the changes that happened to the copy in this repo and creates commits +on the remote repo that match the local changes. Every local +commit that touched the subtree causes a commit on the remote repo, but +is modified to move the files from the specified directory to the tool repo root. + +A `subtree pull` takes all changes since the last `subtree pull` +from the tool repo and adds these commits to the rustc repo along with a merge commit that moves +the tool changes into the specified directory in the Rust repository. + +It is recommended that you always do a push first and get that merged to the tool master branch. +Then, when you do a pull, the merge works without conflicts. +While it's definitely possible to resolve conflicts during a pull, you may have to redo the conflict +resolution if your PR doesn't get merged fast enough and there are new conflicts. Do not try to +rebase the result of a `git subtree pull`, rebasing merge commits is a bad idea in general. + +You always need to specify the `-P` prefix to the subtree directory and the corresponding remote +repository. If you specify the wrong directory or repository +you'll get very fun merges that try to push the wrong directory to the wrong remote repository. +Luckily you can just abort this without any consequences by throwing away either the pulled commits +in rustc or the pushed branch on the remote and try again. It is usually fairly obvious +that this is happening because you suddenly get thousands of commits that want to be synchronized. + +[clippy-sync-docs]: https://doc.rust-lang.org/nightly/clippy/development/infrastructure/sync.html + +### Creating a new subtree dependency + +If you want to create a new subtree dependency from an existing repository, call (from this +repository's root directory!) + +``` +git subtree add -P src/tools/clippy https://github.com/rust-lang/rust-clippy.git master +``` + +This will create a new commit, which you may not rebase under any circumstances! Delete the commit +and redo the operation if you need to rebase. + +Now you're done, the `src/tools/clippy` directory behaves as if Clippy were +part of the rustc monorepo, so no one but you (or others that synchronize +subtrees) actually needs to use `git subtree`. + + +## External Dependencies (submodules) + +Building Rust will also use external git repositories tracked using [git +submodules]. The complete list may be found in the [`.gitmodules`] file. Some +of these projects are required (like `stdarch` for the standard library) and +some of them are optional (like `src/doc/book`). + +Usage of submodules is discussed more in the [Using Git chapter](git.md#git-submodules). + +Some of the submodules are allowed to be in a "broken" state where they +either don't build or their tests don't pass, e.g. the documentation books +like [The Rust Reference]. Maintainers of these projects will be notified +when the project is in a broken state, and they should fix them as soon +as possible. The current status is tracked on the [toolstate website]. +More information may be found on the Forge [Toolstate chapter]. +In practice, it is very rare for documentation to have broken toolstate. + +Breakage is not allowed in the beta and stable channels, and must be addressed +before the PR is merged. They are also not allowed to be broken on master in +the week leading up to the beta cut. + +[git submodules]: https://git-scm.com/book/en/v2/Git-Tools-Submodules +[`.gitmodules`]: https://github.com/rust-lang/rust/blob/master/.gitmodules +[The Rust Reference]: https://github.com/rust-lang/reference/ +[toolstate website]: https://rust-lang-nursery.github.io/rust-toolstate/ +[Toolstate chapter]: https://forge.rust-lang.org/infra/toolstate.html diff --git a/src/doc/rustc-dev-guide/src/feature-gate-ck.md b/src/doc/rustc-dev-guide/src/feature-gate-ck.md new file mode 100644 index 000000000000..c17747a11b75 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/feature-gate-ck.md @@ -0,0 +1,3 @@ +# Feature Gate Checking + +**TODO**: this chapter [#1158](https://github.com/rust-lang/rustc-dev-guide/issues/1158) diff --git a/src/doc/rustc-dev-guide/src/feature-gates.md b/src/doc/rustc-dev-guide/src/feature-gates.md new file mode 100644 index 000000000000..24ce9bb71bfd --- /dev/null +++ b/src/doc/rustc-dev-guide/src/feature-gates.md @@ -0,0 +1,84 @@ +# Feature Gates + +This chapter is intended to provide basic help for adding, removing, and +modifying feature gates. + +Note that this is specific to *language* feature gates; *library* feature gates use [a different +mechanism][libs-gate]. + +[libs-gate]: ./stability.md + +## Adding a feature gate + +See ["Stability in code"][adding] in the "Implementing new features" section for instructions. + +[adding]: ./implementing_new_features.md#stability-in-code + +## Removing a feature gate + +[removing]: #removing-a-feature-gate + +To remove a feature gate, follow these steps: + +1. Remove the feature gate declaration in `rustc_feature/src/unstable.rs`. + It will look like this: + + ```rust,ignore + /// description of feature + (unstable, $feature_name, "$version", Some($tracking_issue_number)) + ``` + +2. Add a modified version of the feature gate declaration that you just + removed to `rustc_feature/src/removed.rs`: + + ```rust,ignore + /// description of feature + (removed, $old_feature_name, "$version", Some($tracking_issue_number), + Some("$why_it_was_removed")) + ``` + + +## Renaming a feature gate + +[renaming]: #renaming-a-feature-gate + +To rename a feature gate, follow these steps (the first two are the same steps +to follow when [removing a feature gate][removing]): + +1. Remove the old feature gate declaration in `rustc_feature/src/unstable.rs`. + It will look like this: + + ```rust,ignore + /// description of feature + (unstable, $old_feature_name, "$version", Some($tracking_issue_number)) + ``` + +2. Add a modified version of the old feature gate declaration that you just + removed to `rustc_feature/src/removed.rs`: + + ```rust,ignore + /// description of feature + /// Renamed to `$new_feature_name` + (removed, $old_feature_name, "$version", Some($tracking_issue_number), + Some("renamed to `$new_feature_name`")) + ``` + +3. Add a feature gate declaration with the new name to + `rustc_feature/src/unstable.rs`. It should look very similar to the old + declaration: + + ```rust,ignore + /// description of feature + (unstable, $new_feature_name, "$version", Some($tracking_issue_number)) + ``` + + +## Stabilizing a feature + +See ["Updating the feature-gate listing"] in the "Stabilizing Features" chapter +for instructions. There are additional steps you will need to take beyond just +updating the declaration! + + +["Stability in code"]: ./implementing_new_features.md#stability-in-code +["Updating the feature-gate listing"]: ./stabilization_guide.md#updating-the-feature-gate-listing diff --git a/src/doc/rustc-dev-guide/src/fuzzing.md b/src/doc/rustc-dev-guide/src/fuzzing.md new file mode 100644 index 000000000000..869fc2f71cc0 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/fuzzing.md @@ -0,0 +1,149 @@ +# Fuzzing + + + +For the purposes of this guide, *fuzzing* is any testing methodology that +involves compiling a wide variety of programs in an attempt to uncover bugs in +rustc. Fuzzing is often used to find internal compiler errors (ICEs). Fuzzing +can be beneficial, because it can find bugs before users run into them and +provide small, self-contained programs that make the bug easier to track down. +However, some common mistakes can reduce the helpfulness of fuzzing and end up +making contributors' lives harder. To maximize your positive impact on the Rust +project, please read this guide before reporting fuzzer-generated bugs! + +## Guidelines + +### In a nutshell + +*Please do:* + +- Ensure the bug is still present on the latest nightly rustc +- Include a reasonably minimal, standalone example along with any bug report +- Include all of the information requested in the bug report template +- Search for existing reports with the same message and query stack +- Format the test case with `rustfmt`, if it maintains the bug +- Indicate that the bug was found by fuzzing + +*Please don't:* + +- Don't report lots of bugs that use internal features, including but not + limited to `custom_mir`, `lang_items`, `no_core`, and `rustc_attrs`. +- Don't seed your fuzzer with inputs that are known to crash rustc (details + below). + +### Discussion + +If you're not sure whether or not an ICE is a duplicate of one that's already +been reported, please go ahead and report it and link to issues you think might +be related. In general, ICEs on the same line but with different *query stacks* +are usually distinct bugs. For example, [#109020][#109020] and [#109129][#109129] +had similar error messages: + +``` +error: internal compiler error: compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:195:90: Failed to normalize <[closure@src/main.rs:36:25: 36:28] as std::ops::FnOnce<(Emplacable<()>,)>>::Output, maybe try to call `try_normalize_erasing_regions` instead +``` +``` +error: internal compiler error: compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:195:90: Failed to normalize <() as Project>::Assoc, maybe try to call `try_normalize_erasing_regions` instead +``` +but different query stacks: +``` +query stack during panic: +#0 [fn_abi_of_instance] computing call ABI of `<[closure@src/main.rs:36:25: 36:28] as core::ops::function::FnOnce<(Emplacable<()>,)>>::call_once - shim(vtable)` +end of query stack +``` +``` +query stack during panic: +#0 [check_mod_attrs] checking attributes in top-level module +#1 [analysis] running analysis passes on this crate +end of query stack +``` + +[#109020]: https://github.com/rust-lang/rust/issues/109020 +[#109129]: https://github.com/rust-lang/rust/issues/109129 + +## Building a corpus + +When building a corpus, be sure to avoid collecting tests that are already +known to crash rustc. A fuzzer that is seeded with such tests is more likely to +generate bugs with the same root cause, wasting everyone's time. The simplest +way to avoid this is to loop over each file in the corpus, see if it causes an +ICE, and remove it if so. + +To build a corpus, you may want to use: + +- The rustc/rust-analyzer/clippy test suites (or even source code) --- though avoid + tests that are already known to cause failures, which often begin with comments + like `// failure-status: 101` or `// known-bug: #NNN`. +- The already-fixed ICEs in [Glacier][glacier] --- though avoid the unfixed + ones in `ices/`! + +## Extra credit + +Here are a few things you can do to help the Rust project after filing an ICE. + +- [Bisect][bisect] the bug to figure out when it was introduced +- Fix "distractions": problems with the test case that don't contribute to + triggering the ICE, such as syntax errors or borrow-checking errors +- Minimize the test case (see below) +- Add the minimal test case to [Glacier][glacier] + +[bisect]: https://rust-lang.github.io/cargo-bisect-rustc/ + +## Minimization + +It is helpful to carefully *minimize* the fuzzer-generated input. When +minimizing, be careful to preserve the original error, and avoid introducing +distracting problems such as syntax, type-checking, or borrow-checking errors. + +There are some tools that can help with minimization. If you're not sure how +to avoid introducing syntax, type-, and borrow-checking errors while using +these tools, post both the complete and minimized test cases. Generally, +*syntax-aware* tools give the best results in the least amount of time. +[`treereduce-rust`][treereduce] and [picireny][picireny] are syntax-aware. +[`halfempty`][halfempty] is not, but is generally a high-quality tool. + +[halfempty]: https://github.com/googleprojectzero/halfempty +[picireny]: https://github.com/renatahodovan/picireny +[treereduce]: https://github.com/langston-barrett/treereduce + +## Effective fuzzing + +When fuzzing rustc, you may want to avoid generating machine code, since this +is mostly done by LLVM. Try `--emit=mir` instead. + +A variety of compiler flags can uncover different issues. `-Zmir-opt-level=4` +will turn on MIR optimization passes that are not run by default, potentially +uncovering interesting bugs. `-Zvalidate-mir` can help uncover such bugs. + +If you're fuzzing a compiler you built, you may want to build it with `-C +target-cpu=native` or even PGO/BOLT to squeeze out a few more executions per +second. Of course, it's best to try multiple build configurations and see +what actually results in superior throughput. + +You may want to build rustc from source with debug assertions to find +additional bugs, though this is a trade-off: it can slow down fuzzing by +requiring extra work for every execution. To enable debug assertions, add this +to `config.toml` when compiling rustc: + +```toml +[rust] +debug-assertions = true +``` + +ICEs that require debug assertions to reproduce should be tagged +[`requires-debug-assertions`][requires-debug-assertions]. + +[requires-debug-assertions]: https://github.com/rust-lang/rust/labels/requires-debug-assertions + +## Existing projects + +- [fuzz-rustc][fuzz-rustc] demonstrates how to fuzz rustc with libfuzzer +- [icemaker][icemaker] runs rustc and other tools on a large number of source + files with a variety of flags to catch ICEs +- [tree-splicer][tree-splicer] generates new source files by combining existing + ones while maintaining correct syntax + +[glacier]: https://github.com/rust-lang/glacier +[fuzz-rustc]: https://github.com/dwrensha/fuzz-rustc +[icemaker]: https://github.com/matthiaskrgr/icemaker/ +[tree-splicer]: https://github.com/langston-barrett/tree-splicer/ diff --git a/src/doc/rustc-dev-guide/src/generic_parameters_summary.md b/src/doc/rustc-dev-guide/src/generic_parameters_summary.md new file mode 100644 index 000000000000..3403c9f2991a --- /dev/null +++ b/src/doc/rustc-dev-guide/src/generic_parameters_summary.md @@ -0,0 +1,66 @@ +# Generic parameter definitions + +This chapter will discuss how rustc tracks what generic parameters are introduced. For example given some `struct Foo` how does rustc track that `Foo` defines some type parameter `T` (and no other generic parameters). + +This will *not* cover how we track generic parameters introduced via `for<'a>` syntax (e.g. in where clauses or `fn` types), which is covered elsewhere in the [chapter on `Binder`s ][ch_binders]. + +# `ty::Generics` + +The generic parameters introduced by an item are tracked by the [`ty::Generics`] struct. Sometimes items allow usage of generics defined on parent items, this is accomplished via the `ty::Generics` struct having an optional field to specify a parent item to inherit generic parameters of. For example given the following code: + +```rust,ignore +trait Trait { + fn foo(&self); +} +``` + +The `ty::Generics` used for `foo` would contain `[U]` and a parent of `Some(Trait)`. `Trait` would have a `ty::Generics` containing `[Self, T]` with a parent of `None`. + +The [`GenericParamDef`] struct is used to represent each individual generic parameter in a `ty::Generics` listing. The `GenericParamDef` struct contains information about the generic parameter, for example its name, defid, what kind of parameter it is (i.e. type, const, lifetime). + +`GenericParamDef` also contains a `u32` index representing what position the parameter is (starting from the outermost parent), this is the value used to represent usages of generic parameters (more on this in the [chapter on representing types][ch_representing_types]). + +Interestingly, `ty::Generics` does not currently contain _every_ generic parameter defined on an item. In the case of functions it only contains the _early bound_ parameters. + +[ch_representing_types]: ./ty.md +[`ty::Generics`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Generics.html +[`GenericParamDef`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/generics/struct.GenericParamDef.html + +# Early vs Late bound parameters + + +```rust +fn foo<'a, T>(b: &'a T) -> &'a T { b } +// ^^ ^early bound +// ^^ +// ^^late bound +``` + +Generally when referring to an item with generic parameters you must specify a list of generic arguments corresponding to the item's generic parameters. In some cases it is permitted to elide these arguments but still, implicitly, a set of arguments are provided (e.g. `Vec::default()` desugars to `Vec::<_>::default()`). + +For functions this is not necessarily the case, for example if we take the function `foo` from the example above and write the following code: +```rust +fn main() { + let f = foo::<_>; + + let b = String::new(); + let c = String::new(); + + f(&b); + drop(b); + f(&c); +} +``` + +This code compiles perfectly fine even though there is no single lifetime that could possibly be specified in `foo::<_>` that would allow for both +the `&b` and `&c` borrows to be used as arguments (note: the `drop(b)` line forces the `&b` borrow to be shorter than the `&c` borrow). This works because the `'a` lifetime is _late bound_. + +A generic parameter being late bound means that when we write `foo::<_>` we do not actually provide an argument for that parameter, instead we wait until _calling_ the function to provide the generic argument. In the above example this means that we are doing something like `f::<'_>(&b);` and `f::<'_>(&c);` (although in practice we do not actually support turbofishing late bound parameters in this manner) + +It may be helpful to think of "early bound parameter" or "late bound parameter" as meaning "early provided parameter" and "late provided parameter", i.e. we provide the argument to the parameter either early (when naming the function) or late (when calling it). + +Late bound parameters on functions are tracked with a [`Binder`] when accessing the signature of the function, this can be done with the [`fn_sig`] query. For more information of binders see the [chapter on `Binder`s ][ch_binders]. + +[`Binder`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_type_ir/binder/struct.Binder.html +[`fn_sig`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.fn_sig +[ch_binders]: ./ty_module/binders.md \ No newline at end of file diff --git a/src/doc/rustc-dev-guide/src/getting-started.md b/src/doc/rustc-dev-guide/src/getting-started.md new file mode 100644 index 000000000000..03d2811e8b10 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/getting-started.md @@ -0,0 +1,198 @@ +# Getting Started + +Thank you for your interest in contributing to Rust! There are many ways to +contribute, and we appreciate all of them. + + + +If this is your first time contributing, the [walkthrough] chapter can give you a good example of +how a typical contribution would go. + +This documentation is _not_ intended to be comprehensive; it is meant to be a +quick guide for the most useful things. For more information, [see this +chapter on how to build and run the compiler](./building/how-to-build-and-run.md). + +[internals]: https://internals.rust-lang.org +[rust-discord]: http://discord.gg/rust-lang +[rust-zulip]: https://rust-lang.zulipchat.com +[coc]: https://www.rust-lang.org/policies/code-of-conduct +[walkthrough]: ./walkthrough.md +[Getting Started]: ./getting-started.md + +## Asking Questions + +If you have questions, please make a post on the [Rust Zulip server][rust-zulip] or +[internals.rust-lang.org][internals]. If you are contributing to Rustup, be aware they are not on +Zulip - you can ask questions in `#wg-rustup` [on Discord][rust-discord]. +See the [list of teams and working groups][governance] and [the Community page][community] on the +official website for more resources. + +[governance]: https://www.rust-lang.org/governance +[community]: https://www.rust-lang.org/community + +As a reminder, all contributors are expected to follow our [Code of Conduct][coc]. + +The compiler team (or `t-compiler`) usually hangs out in Zulip [in this +"stream"][z]; it will be easiest to get questions answered there. + +[z]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler + +**Please ask questions!** A lot of people report feeling that they are "wasting +expert time", but nobody on `t-compiler` feels this way. Contributors are +important to us. + +Also, if you feel comfortable, prefer public topics, as this means others can +see the questions and answers, and perhaps even integrate them back into this +guide :) + +### Experts + +Not all `t-compiler` members are experts on all parts of `rustc`; it's a +pretty large project. To find out who could have some expertise on +different parts of the compiler, [consult triagebot assign groups][map]. +The sections that start with `[assign*` in `triagebot.toml` file. +But also, feel free to ask questions even if you can't figure out who to ping. + +Another way to find experts for a given part of the compiler is to see who has made recent commits. +For example, to find people who have recently worked on name resolution since the 1.68.2 release, +you could run `git shortlog -n 1.68.2.. compiler/rustc_resolve/`. Ignore any commits starting with +"Rollup merge" or commits by `@bors` (see [CI contribution procedures](./contributing.md#ci) for +more information about these commits). + +[map]: https://github.com/rust-lang/rust/blob/master/triagebot.toml + +### Etiquette + +We do ask that you be mindful to include as much useful information as you can +in your question, but we recognize this can be hard if you are unfamiliar with +contributing to Rust. + +Just pinging someone without providing any context can be a bit annoying and +just create noise, so we ask that you be mindful of the fact that the +`t-compiler` folks get a lot of pings in a day. + +## What should I work on? + +The Rust project is quite large and it can be difficult to know which parts of the project need +help, or are a good starting place for beginners. Here are some suggested starting places. + +### Easy or mentored issues + +If you're looking for somewhere to start, check out the following [issue +search][help-wanted-search]. See the [Triage] for an explanation of these labels. You can also try +filtering the search to areas you're interested in. For example: + +- `repo:rust-lang/rust-clippy` will only show clippy issues +- `label:T-compiler` will only show issues related to the compiler +- `label:A-diagnostics` will only show diagnostic issues + +Not all important or beginner work has issue labels. +See below for how to find work that isn't labelled. + +[help-wanted-search]: https://github.com/issues?q=is%3Aopen+is%3Aissue+org%3Arust-lang+no%3Aassignee+label%3AE-easy%2C%22good+first+issue%22%2Cgood-first-issue%2CE-medium%2CEasy%2CE-help-wanted%2CE-mentor+-label%3AS-blocked+ +[Triage]: ./contributing.md#issue-triage + +### Recurring work + +Some work is too large to be done by a single person. In this case, it's common to have "Tracking +issues" to co-ordinate the work between contributors. Here are some example tracking issues where +it's easy to pick up work without a large time commitment: + +- [Rustdoc Askama Migration](https://github.com/rust-lang/rust/issues/108868) +- [Diagnostic Translation](https://github.com/rust-lang/rust/issues/100717) +- [Move UI tests to subdirectories](https://github.com/rust-lang/rust/issues/73494) +- [Port run-make tests from Make to Rust](https://github.com/rust-lang/rust/issues/121876) + +If you find more recurring work, please feel free to add it here! + +### Clippy issues + +The [Clippy] project has spent a long time making its contribution process as friendly to newcomers +as possible. Consider working on it first to get familiar with the process and the compiler +internals. + +See [the Clippy contribution guide][clippy-contributing] for instructions on getting started. + +[Clippy]: https://doc.rust-lang.org/clippy/ +[clippy-contributing]: https://github.com/rust-lang/rust-clippy/blob/master/CONTRIBUTING.md + +### Diagnostic issues + +Many diagnostic issues are self-contained and don't need detailed background knowledge of the +compiler. You can see a list of diagnostic issues [here][diagnostic-issues]. + +[diagnostic-issues]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AA-diagnostics+no%3Aassignee + +### Picking up abandoned pull requests + +Sometimes, contributors send a pull request, but later find out that they don't have enough +time to work on it, or they simply are not interested in it anymore. Such PRs are often +eventually closed and they receive the `S-inactive` label. You could try to examine some of +these PRs and pick up the work. You can find the list of such PRs [here][abandoned-prs]. + +If the PR has been implemented in some other way in the meantime, the `S-inactive` label +should be removed from it. If not, and it seems that there is still interest in the change, +you can try to rebase the pull request on top of the latest `master` branch and send a new +pull request, continuing the work on the feature. + +[abandoned-prs]: https://github.com/rust-lang/rust/pulls?q=is%3Apr+label%3AS-inactive+is%3Aclosed + +### Contributing to std (standard library) + +See [std-dev-guide](https://std-dev-guide.rust-lang.org/). + +### Contributing code to other Rust projects + +There are a bunch of other projects that you can contribute to outside of the +`rust-lang/rust` repo, including `cargo`, `miri`, `rustup`, and many others. + +These repos might have their own contributing guidelines and procedures. Many +of them are owned by working groups. For more info, see the documentation in those repos' READMEs. + +### Other ways to contribute + +There are a bunch of other ways you can contribute, especially if you don't +feel comfortable jumping straight into the large `rust-lang/rust` codebase. + +The following tasks are doable without much background knowledge but are +incredibly helpful: + +- [Cleanup crew][iceb]: find minimal reproductions of ICEs, bisect + regressions, etc. This is a way of helping that saves a ton of time for + others to fix an error later. +- [Writing documentation][wd]: if you are feeling a bit more intrepid, you could try + to read a part of the code and write doc comments for it. This will help you + to learn some part of the compiler while also producing a useful artifact! +- [Triaging issues][triage]: categorizing, replicating, and minimizing issues is very helpful to the Rust maintainers. +- [Working groups][wg]: there are a bunch of working groups on a wide variety + of rust-related things. +- Answer questions in the _Get Help!_ channels on the [Rust Discord + server][rust-discord], on [users.rust-lang.org][users], or on + [StackOverflow][so]. +- Participate in the [RFC process](https://github.com/rust-lang/rfcs). +- Find a [requested community library][community-library], build it, and publish + it to [Crates.io](http://crates.io). Easier said than done, but very, very + valuable! + +[rust-discord]: https://discord.gg/rust-lang +[users]: https://users.rust-lang.org/ +[so]: http://stackoverflow.com/questions/tagged/rust +[community-library]: https://github.com/rust-lang/rfcs/labels/A-community-library +[iceb]: ./notification-groups/cleanup-crew.md +[wd]: ./contributing.md#writing-documentation +[wg]: https://rust-lang.github.io/compiler-team/working-groups/ +[triage]: ./contributing.md#issue-triage + +## Cloning and Building + +See ["How to build and run the compiler"](./building/how-to-build-and-run.md). + +## Contributor Procedures + +This section has moved to the ["Contribution Procedures"](./contributing.md) chapter. + +## Other Resources + +This section has moved to the ["About this guide"][more-links] chapter. + +[more-links]: ./about-this-guide.md#other-places-to-find-information diff --git a/src/doc/rustc-dev-guide/src/git.md b/src/doc/rustc-dev-guide/src/git.md new file mode 100644 index 000000000000..177495b53621 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/git.md @@ -0,0 +1,650 @@ +# Using Git + + + +The Rust project uses [Git] to manage its source code. In order to +contribute, you'll need some familiarity with its features so that your changes +can be incorporated into the compiler. + +[Git]: https://git-scm.com + +The goal of this page is to cover some of the more common questions and +problems new contributors face. Although some Git basics will be covered here, +if you find that this is still a little too fast for you, it might make sense +to first read some introductions to Git, such as the Beginner and Getting +started sections of [this tutorial from Atlassian][atlassian-git]. GitHub also +provides [documentation] and [guides] for beginners, or you can consult the +more in depth [book from Git]. + +This guide is incomplete. If you run into trouble with git that this page doesn't help with, +please [open an issue] so we can document how to fix it. + +[open an issue]: https://github.com/rust-lang/rustc-dev-guide/issues/new +[book from Git]: https://git-scm.com/book/en/v2/ +[atlassian-git]: https://www.atlassian.com/git/tutorials/what-is-version-control +[documentation]: https://docs.github.com/en/get-started/quickstart/set-up-git +[guides]: https://guides.github.com/introduction/git-handbook/ + +## Prerequisites + +We'll assume that you've installed Git, forked [rust-lang/rust], and cloned the +forked repo to your PC. We'll use the command line interface to interact +with Git; there are also a number of GUIs and IDE integrations that can +generally do the same things. + +[rust-lang/rust]: https://github.com/rust-lang/rust + +If you've cloned your fork, then you will be able to reference it with `origin` +in your local repo. It may be helpful to also set up a remote for the official +rust-lang/rust repo via + +```sh +git remote add upstream https://github.com/rust-lang/rust.git +``` + +if you're using HTTPS, or + +```sh +git remote add upstream git@github.com:rust-lang/rust.git +``` + +if you're using SSH. + +**NOTE:** This page is dedicated to workflows for `rust-lang/rust`, but will likely be +useful when contributing to other repositories in the Rust project. + + +## Standard Process + +Below is the normal procedure that you're likely to use for most minor changes +and PRs: + + 1. Ensure that you're making your changes on top of master: + `git checkout master`. + 2. Get the latest changes from the Rust repo: `git pull upstream master --ff-only`. + (see [No-Merge Policy][no-merge-policy] for more info about this). + 3. Make a new branch for your change: `git checkout -b issue-12345-fix`. + 4. Make some changes to the repo and test them. + 5. Stage your changes via `git add src/changed/file.rs src/another/change.rs` + and then commit them with `git commit`. Of course, making intermediate commits + may be a good idea as well. Avoid `git add .`, as it makes it too easy to + unintentionally commit changes that should not be committed, such as submodule + updates. You can use `git status` to check if there are any files you forgot + to stage. + 6. Push your changes to your fork: `git push --set-upstream origin issue-12345-fix` + (After adding commits, you can use `git push` and after rebasing or +pulling-and-rebasing, you can use `git push --force-with-lease`). + 7. [Open a PR][ghpullrequest] from your fork to `rust-lang/rust`'s master branch. + +[ghpullrequest]: https://guides.github.com/activities/forking/#making-a-pull-request + +If you end up needing to rebase and are hitting conflicts, see [Rebasing](#rebasing). +If you want to track upstream while working on long-running feature/issue, see +[Keeping things up to date][no-merge-policy]. + +If your reviewer requests changes, the procedure for those changes looks much +the same, with some steps skipped: + + 1. Ensure that you're making changes to the most recent version of your code: + `git checkout issue-12345-fix`. + 2. Make, stage, and commit your additional changes just like before. + 3. Push those changes to your fork: `git push`. + + [no-merge-policy]: #keeping-things-up-to-date + +## Troubleshooting git issues + +You don't need to clone `rust-lang/rust` from scratch if it's out of date! +Even if you think you've messed it up beyond repair, there are ways to fix +the git state that don't require downloading the whole repository again. +Here are some common issues you might run into: + +### I made a merge commit by accident. + +Git has two ways to update your branch with the newest changes: merging and rebasing. +Rust [uses rebasing][no-merge-policy]. If you make a merge commit, it's not too hard to fix: +`git rebase -i upstream/master`. + +See [Rebasing](#rebasing) for more about rebasing. + +### I deleted my fork on GitHub! + +This is not a problem from git's perspective. If you run `git remote -v`, +it will say something like this: + +``` +$ git remote -v +origin git@github.com:jyn514/rust.git (fetch) +origin git@github.com:jyn514/rust.git (push) +upstream https://github.com/rust-lang/rust (fetch) +upstream https://github.com/rust-lang/rust (fetch) +``` + +If you renamed your fork, you can change the URL like this: + +```console +git remote set-url origin +``` + +where the `` is your new fork. + +### I changed a submodule by accident + +Usually people notice this when rustbot posts a comment on github that `cargo` has been modified: + +![rustbot submodule comment](./img/rustbot-submodules.png) + +You might also notice conflicts in the web UI: + +![conflict in src/tools/cargo](./img/submodule-conflicts.png) + +The most common cause is that you rebased after a change and ran `git add .` without first running +`x` to update the submodules. Alternatively, you might have run `cargo fmt` instead of `x fmt` +and modified files in a submodule, then committed the changes. + +To fix it, do the following things: + +1. See which commit has the accidental changes: `git log --stat -n1 src/tools/cargo` +2. Revert the changes to that commit: `git checkout ~ src/tools/cargo`. Type `~` + literally but replace `` with the output from step 1. +3. Tell git to commit the changes: `git commit --fixup ` +4. Repeat steps 1-3 for all the submodules you modified. + - If you modified the submodule in several different commits, you will need to repeat steps 1-3 + for each commit you modified. You'll know when to stop when the `git log` command shows a commit + that's not authored by you. +5. Squash your changes into the existing commits: `git rebase --autosquash -i upstream/master` +6. [Push your changes](#standard-process). + +### I see "error: cannot rebase" when I try to rebase + +These are two common errors to see when rebasing: +``` +error: cannot rebase: Your index contains uncommitted changes. +error: Please commit or stash them. +``` +``` +error: cannot rebase: You have unstaged changes. +error: Please commit or stash them. +``` + +(See for the difference between the two.) + +This means you have made changes since the last time you made a commit. To be able to rebase, either +commit your changes, or make a temporary commit called a "stash" to have them still not be committed +when you finish rebasing. You may want to configure git to make this "stash" automatically, which +will prevent the "cannot rebase" error in nearly all cases: + +``` +git config --global rebase.autostash true +``` + +See for more info about stashing. + +### I see 'Untracked Files: src/stdarch'? + +This is left over from the move to the `library/` directory. +Unfortunately, `git rebase` does not follow renames for submodules, so you +have to delete the directory yourself: + +```console +rm -r src/stdarch +``` + +### I see `<<< HEAD`? + +You were probably in the middle of a rebase or merge conflict. See +[Conflicts](#rebasing-and-conflicts) for how to fix the conflict. If you don't care about the changes +and just want to get a clean copy of the repository back, you can use `git reset`: + +```console +# WARNING: this throws out any local changes you've made! Consider resolving the conflicts instead. +git reset --hard master +``` + +### failed to push some refs + +`git push` will not work properly and say something like this: + +``` + ! [rejected] issue-xxxxx -> issue-xxxxx (non-fast-forward) +error: failed to push some refs to 'https://github.com/username/rust.git' +hint: Updates were rejected because the tip of your current branch is behind +hint: its remote counterpart. Integrate the remote changes (e.g. +hint: 'git pull ...') before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. +``` + +The advice this gives is incorrect! Because of Rust's +["no-merge" policy](#no-merge-policy) the merge commit created by `git pull` +will not be allowed in the final PR, in addition to defeating the point of the +rebase! Use `git push --force-with-lease` instead. + +### Git is trying to rebase commits I didn't write? + +If you see many commits in your rebase list, or merge commits, or commits by other people that you +didn't write, it likely means you're trying to rebase over the wrong branch. For example, you may +have a `rust-lang/rust` remote `upstream`, but ran `git rebase origin/master` instead of `git rebase +upstream/master`. The fix is to abort the rebase and use the correct branch instead: + +``` +git rebase --abort +git rebase -i upstream/master +``` + +
Click here to see an example of rebasing over the wrong branch + +![Interactive rebase over the wrong branch](img/other-peoples-commits.png) + +
+ +### Quick note about submodules + +When updating your local repository with `git pull`, you may notice that sometimes +Git says you have modified some files that you have never edited. For example, +running `git status` gives you something like (note the `new commits` mention): + +``` +On branch master +Your branch is up to date with 'origin/master'. + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: src/llvm-project (new commits) + modified: src/tools/cargo (new commits) + +no changes added to commit (use "git add" and/or "git commit -a") +``` + +These changes are not changes to files: they are changes to submodules (more on this +[later](#git-submodules)). To get rid of those, run `./x --help`, which will automatically update +the submodules. + +Some submodules are not actually needed; for example, `src/llvm-project` doesn't need to be checked +out if you're using `download-ci-llvm`. To avoid having to keep fetching its history, you can use +`git submodule deinit -f src/llvm-project`, which will also avoid it showing as modified again. + +## Rebasing and Conflicts + +When you edit your code locally, you are making changes to the version of +rust-lang/rust that existed when you created your feature branch. As such, when +you submit your PR it is possible that some of the changes that have been made +to rust-lang/rust since then are in conflict with the changes you've made. +When this happens, you need to resolve the conflicts before your changes can be +merged. To do that, you need to rebase your work on top of rust-lang/rust. + +### Rebasing + +To rebase your feature branch on top of the newest version of the master branch +of rust-lang/rust, checkout your branch, and then run this command: + +``` +git pull --rebase https://github.com/rust-lang/rust.git master +``` + +> If you are met with the following error: +> ``` +> error: cannot pull with rebase: Your index contains uncommitted changes. +> error: please commit or stash them. +> ``` +> it means that you have some uncommitted work in your working tree. In that +> case, run `git stash` before rebasing, and then `git stash pop` after you +> have rebased and fixed all conflicts. + +When you rebase a branch on master, all the changes on your branch are +reapplied to the most recent version of master. In other words, Git tries to +pretend that the changes you made to the old version of master were instead +made to the new version of master. During this process, you should expect to +encounter at least one "rebase conflict." This happens when Git's attempt to +reapply the changes fails because your changes conflicted with other changes +that have been made. You can tell that this happened because you'll see +lines in the output that look like + +``` +CONFLICT (content): Merge conflict in file.rs +``` + +When you open these files, you'll see sections of the form + +``` +<<<<<<< HEAD +Original code +======= +Your code +>>>>>>> 8fbf656... Commit fixes 12345 +``` + +This represents the lines in the file that Git could not figure out how to +rebase. The section between `<<<<<<< HEAD` and `=======` has the code from +master, while the other side has your version of the code. You'll need to +decide how to deal with the conflict. You may want to keep your changes, +keep the changes on master, or combine the two. + +Generally, resolving the conflict consists of two steps: First, fix the +particular conflict. Edit the file to make the changes you want and remove the +`<<<<<<<`, `=======` and `>>>>>>>` lines in the process. Second, check the +surrounding code. If there was a conflict, its likely there are some logical +errors lying around too! It's a good idea to run `x check` here to make sure +there are no glaring errors. + +Once you're all done fixing the conflicts, you need to stage the files that had +conflicts in them via `git add`. Afterwards, run `git rebase --continue` to let +Git know that you've resolved the conflicts and it should finish the rebase. + +Once the rebase has succeeded, you'll want to update the associated branch on +your fork with `git push --force-with-lease`. + +### Keeping things up to date + +The above section on [Rebasing](#rebasing) is a specific +guide on rebasing work and dealing with merge conflicts. +Here is some general advice about how to keep your local repo +up-to-date with upstream changes: + +Using `git pull upstream master` while on your local master branch regularly +will keep it up-to-date. You will also want to rebase your feature branches +up-to-date as well. After pulling, you can checkout the feature branches +and rebase them: + +``` +git checkout master +git pull upstream master --ff-only # to make certain there are no merge commits +git rebase master feature_branch +git push --force-with-lease # (set origin to be the same as local) +``` + +To avoid merges as per the [No-Merge Policy](#no-merge-policy), you may want to use +`git config pull.ff only` (this will apply the config only to the local repo) +to ensure that Git doesn't create merge commits when `git pull`ing, without +needing to pass `--ff-only` or `--rebase` every time. + +You can also `git push --force-with-lease` from master to double-check that your +feature branches are in sync with their state on the Github side. + +## Advanced Rebasing + +### Squash your commits + +"Squashing" commits into each other causes them to be merged into a single +commit. Both the upside and downside of this is that it simplifies the history. +On the one hand, you lose track of the steps in which changes were made, but +the history becomes easier to work with. + +If there are no conflicts and you are just squashing to clean up the history, +use `git rebase --interactive --keep-base master`. This keeps the fork point +of your PR the same, making it easier to review the diff of what happened +across your rebases. + +Squashing can also be useful as part of conflict resolution. +If your branch contains multiple consecutive rewrites of the same code, or if +the rebase conflicts are extremely severe, you can use +`git rebase --interactive master` to gain more control over the process. This +allows you to choose to skip commits, edit the commits that you do not skip, +change the order in which they are applied, or "squash" them into each other. + +Alternatively, you can sacrifice the commit history like this: + +``` +# squash all the changes into one commit so you only have to worry about conflicts once +git rebase -i --keep-base master # and squash all changes along the way +git rebase master +# fix all merge conflicts +git rebase --continue +``` + +You also may want to squash just the last few commits together, possibly +because they only represent "fixups" and not real changes. For example, +`git rebase --interactive HEAD~2` will allow you to edit the two commits only. + +### `git range-diff` + +After completing a rebase, and before pushing up your changes, you may want to +review the changes between your old branch and your new one. You can do that +with `git range-diff master @{upstream} HEAD`. + +The first argument to `range-diff`, `master` in this case, is the base revision +that you're comparing your old and new branch against. The second argument is +the old version of your branch; in this case, `@upstream` means the version that +you've pushed to GitHub, which is the same as what people will see in your pull +request. Finally, the third argument to `range-diff` is the *new* version of +your branch; in this case, it is `HEAD`, which is the commit that is currently +checked-out in your local repo. + +Note that you can also use the equivalent, abbreviated form `git range-diff +master @{u} HEAD`. + +Unlike in regular Git diffs, you'll see a `-` or `+` next to another `-` or `+` +in the range-diff output. The marker on the left indicates a change between the +old branch and the new branch, and the marker on the right indicates a change +you've committed. So, you can think of a range-diff as a "diff of diffs" since +it shows you the differences between your old diff and your new diff. + +Here's an example of `git range-diff` output (taken from [Git's +docs][range-diff-example-docs]): + +``` +-: ------- > 1: 0ddba11 Prepare for the inevitable! +1: c0debee = 2: cab005e Add a helpful message at the start +2: f00dbal ! 3: decafe1 Describe a bug + @@ -1,3 +1,3 @@ + Author: A U Thor + + -TODO: Describe a bug + +Describe a bug + @@ -324,5 +324,6 + This is expected. + + -+What is unexpected is that it will also crash. + ++Unexpectedly, it also crashes. This is a bug, and the jury is + ++still out there how to fix it best. See ticket #314 for details. + + Contact +3: bedead < -: ------- TO-UNDO +``` + +(Note that `git range-diff` output in your terminal will probably be easier to +read than in this example because it will have colors.) + +Another feature of `git range-diff` is that, unlike `git diff`, it will also +diff commit messages. This feature can be useful when amending several commit +messages so you can make sure you changed the right parts. + +`git range-diff` is a very useful command, but note that it can take some time +to get used to its output format. You may also find Git's documentation on the +command useful, especially their ["Examples" section][range-diff-example-docs]. + +[range-diff-example-docs]: https://git-scm.com/docs/git-range-diff#_examples + +## No-Merge Policy + +The rust-lang/rust repo uses what is known as a "rebase workflow." This means +that merge commits in PRs are not accepted. As a result, if you are running +`git merge` locally, chances are good that you should be rebasing instead. Of +course, this is not always true; if your merge will just be a fast-forward, +like the merges that `git pull` usually performs, then no merge commit is +created and you have nothing to worry about. Running `git config merge.ff only` +(this will apply the config to the local repo) +once will ensure that all the merges you perform are of this type, so that you +cannot make a mistake. + +There are a number of reasons for this decision and like all others, it is a +tradeoff. The main advantage is the generally linear commit history. This +greatly simplifies bisecting and makes the history and commit log much easier +to follow and understand. + +## Tips for reviewing + +**NOTE**: This section is for *reviewing* PRs, not authoring them. + +### Hiding whitespace + +Github has a button for disabling whitespace changes that may be useful. +You can also use `git diff -w origin/master` to view changes locally. + +![hide whitespace](./img/github-whitespace-changes.png) + +### Fetching PRs + +To checkout PRs locally, you can use `git fetch upstream pull/NNNNN/head && git checkout +FETCH_HEAD`. + +You can also use github's cli tool. Github shows a button on PRs where you can copy-paste the +command to check it out locally. See for more info. + +![`gh` suggestion](./img/github-cli.png) + +### Moving large sections of code + +Git and Github's default diff view for large moves *within* a file is quite poor; it will show each +line as deleted and each line as added, forcing you to compare each line yourself. Git has an option +to show moved lines in a different color: + +``` +git log -p --color-moved=dimmed-zebra --color-moved-ws=allow-indentation-change +``` + +See [the docs for `--color-moved`](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---color-movedltmodegt) for more info. + +### range-diff + +See [the relevant section for PR authors](#git-range-diff). This can be useful for comparing code +that was force-pushed to make sure there are no unexpected changes. + +### Ignoring changes to specific files + +Many large files in the repo are autogenerated. To view a diff that ignores changes to those files, +you can use the following syntax (e.g. Cargo.lock): + +``` +git log -p ':!Cargo.lock' +``` + +Arbitrary patterns are supported (e.g. `:!compiler/*`). Patterns use the same syntax as +`.gitignore`, with `:` prepended to indicate a pattern. + +## Git submodules + +**NOTE**: submodules are a nice thing to know about, but it *isn't* an absolute +prerequisite to contribute to `rustc`. If you are using Git for the first time, +you might want to get used to the main concepts of Git before reading this section. + +The `rust-lang/rust` repository uses [Git submodules] as a way to use other +Rust projects from within the `rust` repo. Examples include Rust's fork of +`llvm-project`, `cargo` and libraries like `stdarch` and `backtrace`. + +Those projects are developed and maintained in an separate Git (and GitHub) +repository, and they have their own Git history/commits, issue tracker and PRs. +Submodules allow us to create some sort of embedded sub-repository inside the +`rust` repository and use them like they were directories in the `rust` repository. + +Take `llvm-project` for example. `llvm-project` is maintained in the [`rust-lang/llvm-project`] +repository, but it is used in `rust-lang/rust` by the compiler for code generation and +optimization. We bring it in `rust` as a submodule, in the `src/llvm-project` folder. + +The contents of submodules are ignored by Git: submodules are in some sense isolated +from the rest of the repository. However, if you try to `cd src/llvm-project` and then +run `git status`: + +``` +HEAD detached at 9567f08afc943 +nothing to commit, working tree clean +``` + +As far as git is concerned, you are no longer in the `rust` repo, but in the `llvm-project` repo. +You will notice that we are in "detached HEAD" state, i.e. not on a branch but on a +particular commit. + +This is because, like any dependency, we want to be able to control which version to use. +Submodules allow us to do just that: every submodule is "pinned" to a certain +commit, which doesn't change unless modified manually. If you use `git checkout ` +in the `llvm-project` directory and go back to the `rust` directory, you can stage this +change like any other, e.g. by running `git add src/llvm-project`. (Note that if +you *don't* stage the change to commit, then you run the risk that running +`x` will just undo your change by switching back to the previous commit when +it automatically "updates" the submodules.) + +This version selection is usually done by the maintainers of the project, and +looks like [this][llvm-update]. + +Git submodules take some time to get used to, so don't worry if it isn't perfectly +clear yet. You will rarely have to use them directly and, again, you don't need +to know everything about submodules to contribute to Rust. Just know that they +exist and that they correspond to some sort of embedded subrepository dependency +that Git can nicely and fairly conveniently handle for us. + +### Hard-resetting submodules + +Sometimes you might run into (when you run `git status`) + +``` +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + (commit or discard the untracked or modified content in submodules) + modified: src/llvm-project (new commits, modified content) +``` + +and when you try to run `git submodule update` it breaks horribly with errors like + +``` +error: RPC failed; curl 92 HTTP/2 stream 7 was not closed cleanly: CANCEL (err 8) +error: 2782 bytes of body are still expected +fetch-pack: unexpected disconnect while reading sideband packet +fatal: early EOF +fatal: fetch-pack: invalid index-pack output +fatal: Fetched in submodule path 'src/llvm-project', but it did not contain 5a5152f653959d14d68613a3a8a033fb65eec021. Direct fetching of that commit failed. +``` + +If you see `(new commits, modified content)` you can run + +```bash +$ git submodule foreach git reset --hard +``` + +and then try `git submodule update` again. + +### Deinit git submodules + +If that doesn't work, you can try to deinit all git submodules... + +``` +git submodule deinit -f --all +``` + +Unfortunately sometimes your local git submodules configuration can become +completely messed up for some reason. + +### Overcoming `fatal: not a git repository: /../../.git/modules/` + +Sometimes, for some forsaken reason, you might run into + +```text +fatal: not a git repository: src/gcc/../../.git/modules/src/gcc +``` + +In this situation, for the given submodule path, i.e. ` = +src/gcc` in this example, you need to: + +1. `rm -rf /.git` +2. `rm -rf .git/modules//config` +3. `rm -rf .gitconfig.lock` if somehow the `.gitconfig` lock is orphaned. + +Then do something like `./x fmt` to have bootstrap manage the submodule +checkouts for you. + +## Ignoring commits during `git blame` + +Some commits contain large reformatting changes that don't otherwise change functionality. They can +be instructed to be ignored by `git blame` through +[`.git-blame-ignore-revs`](https://github.com/rust-lang/rust/blob/master/.git-blame-ignore-revs): + +1. Configure `git blame` to use `.git-blame-ignore-revs` as the list of commits to ignore: `git + config blame.ignorerevsfile .git-blame-ignore-revs` +2. Add suitable commits that you wish to be ignored by `git blame`. + +Please include a comment for the commit that you add to `.git-blame-ignore-revs` so people can +easily figure out *why* a commit is ignored. + +[Git submodules]: https://git-scm.com/book/en/v2/Git-Tools-Submodules +[`rust-lang/llvm-project`]: https://github.com/rust-lang/llvm-project +[llvm-update]: https://github.com/rust-lang/rust/pull/99464/files diff --git a/src/doc/rustc-dev-guide/src/guides/editions.md b/src/doc/rustc-dev-guide/src/guides/editions.md new file mode 100644 index 000000000000..336e391df126 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/guides/editions.md @@ -0,0 +1,336 @@ +# Editions + + + +This chapter gives an overview of how Edition support works in rustc. +This assumes that you are familiar with what Editions are (see the [Edition Guide]). + +[Edition Guide]: https://doc.rust-lang.org/edition-guide/ + +## Edition definition + +The `--edition` CLI flag specifies the edition to use for a crate. +This can be accessed from [`Session::edition`]. +There are convenience functions like [`Session::at_least_rust_2021`] for checking the crate's +edition, though you should be careful about whether you check the global session or the span, see +[Edition hygiene] below. + +As an alternative to the `at_least_rust_20xx` convenience methods, the [`Edition`] type also +supports comparisons for doing range checks, such as `span.edition() >= Edition::Edition2021`. + +[`Session::edition`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/struct.Session.html#method.edition +[`Session::at_least_rust_2021`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/struct.Session.html#method.at_least_rust_2021 +[`Edition`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/edition/enum.Edition.html + +### Adding a new edition + +Adding a new edition mainly involves adding a variant to the [`Edition`] enum and then fixing +everything that is broken. See [#94461](https://github.com/rust-lang/rust/pull/94461) for an +example. + +### Features and Edition stability + +The [`Edition`] enum defines whether or not an edition is stable. +If it is not stable, then the `-Zunstable-options` CLI option must be passed to enable it. + +When adding a new feature, there are two options you can choose for how to handle stability with a +future edition: + +- Just check the edition of the span like `span.at_least_rust_20xx()` (see [Edition hygiene]) or the + [`Session::edition`]. This will implicitly depend on the stability of the edition itself to + indicate that your feature is available. +- Place your new behavior behind a [feature gate]. + +It may be sufficient to only check the current edition for relatively simple changes. +However, for larger language changes, you should consider creating a feature gate. +There are several benefits to using a feature gate: + +- A feature gate makes it easier to work on and experiment with a new feature. +- It makes the intent clear when the `#![feature(…)]` attribute is used that your new feature is + being enabled. +- It makes testing of editions easier so that features that are not yet complete do not interfere + with testing of edition-specific features that are complete and ready. +- It decouples the feature from an edition, which makes it easier for the team to make a deliberate + decision of whether or not a feature should be added to the next edition when the feature is + ready. + +When a feature is complete and ready, the feature gate can be removed (and the code should just +check the span or `Session` edition to determine if it is enabled). + +There are a few different options for doing feature checks: + +- For highly experimental features, that may or may not be involved in an edition, they can + implement regular feature gates like `tcx.features().my_feature`, and ignore editions for the time + being. + +- For experimental features that *might* be involved in an edition, they should implement gates with + `tcx.features().my_feature && span.at_least_rust_20xx()`. + This requires the user to still specify `#![feature(my_feature)]`, to avoid disrupting testing of + other edition features which are ready and have been accepted within the edition. + +- For experimental features that have graduated to definitely be part of an edition, + they should implement gates with `tcx.features().my_feature || span.at_least_rust_20xx()`, + or just remove the feature check altogether and just check `span.at_least_rust_20xx()`. + +If you need to do the feature gating in multiple places, consider placing the check in a single +function so that there will only be a single place to update. For example: + +```rust,ignore +// An example from Edition 2021 disjoint closure captures. + +fn enable_precise_capture(tcx: TyCtxt<'_>, span: Span) -> bool { + tcx.features().capture_disjoint_fields || span.rust_2021() +} +``` + +See [Lints and stability](#lints-and-stability) below for more information about how lints handle +stability. + +[feature gate]: ../feature-gates.md + +## Edition parsing + +For the most part, the lexer is edition-agnostic. +Within [`StringReader`], tokens can be modified based on edition-specific behavior. +For example, C-String literals like `c"foo"` are split into multiple tokens in editions before 2021. +This is also where things like reserved prefixes are handled for the 2021 edition. + +Edition-specific parsing is relatively rare. One example is `async fn` which checks the span of the +token to determine if it is the 2015 edition, and emits an error in that case. +This can only be done if the syntax was already invalid. + +If you need to do edition checking in the parser, you will normally want to look at the edition of +the token, see [Edition hygiene]. +In some rare cases you may instead need to check the global edition from [`ParseSess::edition`]. + +Most edition-specific parsing behavior is handled with [migration lints] instead of in the parser. +This is appropriate when there is a *change* in syntax (as opposed to new syntax). +This allows the old syntax to continue to work on previous editions. +The lint then checks for the change in behavior. +On older editions, the lint pass should emit the migration lint to help with migrating to new +editions. +On newer editions, your code should emit a hard error with `emit_err` instead. +For example, the deprecated `start...end` pattern syntax emits the +[`ellipsis_inclusive_range_patterns`] lint on editions before 2021, and in 2021 is an hard error via +the `emit_err` method. + +[`StringReader`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/lexer/struct.StringReader.html +[`ParseSess::edition`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/parse/struct.ParseSess.html#structfield.edition +[`ellipsis_inclusive_range_patterns`]: https://doc.rust-lang.org/nightly/rustc/lints/listing/warn-by-default.html#ellipsis-inclusive-range-patterns + +### Keywords + +New keywords can be introduced across an edition boundary. +This is implemented by functions like [`Symbol::is_used_keyword_conditional`], which rely on the +ordering of how the keywords are defined. + +When new keywords are introduced, the [`keyword_idents`] lint should be updated so that automatic +migrations can transition code that might be using the keyword as an identifier (see +[`KeywordIdents`]). +An alternative to consider is to implement the keyword as a weak keyword if the position it is used +is sufficient to distinguish it. + +An additional option to consider is the `k#` prefix which was introduced in [RFC 3101]. +This allows the use of a keyword in editions *before* the edition where the keyword is introduced. +This is currently not implemented. + +[`Symbol::is_used_keyword_conditional`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/symbol/struct.Symbol.html#method.is_used_keyword_conditional +[`keyword_idents`]: https://doc.rust-lang.org/nightly/rustc/lints/listing/allowed-by-default.html#keyword-idents +[`KeywordIdents`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/builtin/struct.KeywordIdents.html +[RFC 3101]: https://rust-lang.github.io/rfcs/3101-reserved_prefixes.html + +### Edition hygiene +[edition hygiene]: #edition-hygiene + +Spans are marked with the edition of the crate that the span came from. +See [Macro hygiene] in the Edition Guide for a user-centric description of what this means. + +You should normally use the edition from the token span instead of looking at the global `Session` +edition. +For example, use `span.edition().at_least_rust_2021()` instead of `sess.at_least_rust_2021()`. +This helps ensure that macros behave correctly when used across crates. + +[Macro hygiene]: https://doc.rust-lang.org/nightly/edition-guide/editions/advanced-migrations.html#macro-hygiene + +## Lints + +Lints support a few different options for interacting with editions. +Lints can be *future incompatible edition migration lints*, which are used to support +[migrations][migration lints] to newer editions. +Alternatively, lints can be [edition-specific](#edition-specific-lints), where they change their +default level starting in a specific edition. + +### Migration lints +[migration lints]: #migration-lints +[migration lint]: #migration-lints + +*Migration lints* are used to migrate projects from one edition to the next. +They are implemented with a `MachineApplicable` [suggestion](../diagnostics.md#suggestions) which +will rewrite code so that it will **successfully compile in both the previous and the next +edition**. +For example, the [`keyword_idents`] lint will take identifiers that conflict with a new keyword to +use the raw identifier syntax to avoid the conflict (for example changing `async` to `r#async`). + +Migration lints must be declared with the [`FutureIncompatibilityReason::EditionError`] or +[`FutureIncompatibilityReason::EditionSemanticsChange`] [future-incompatible +option](../diagnostics.md#future-incompatible-lints) in the lint declaration: + +```rust,ignore +declare_lint! { + pub KEYWORD_IDENTS, + Allow, + "detects edition keywords being used as an identifier", + @future_incompatible = FutureIncompatibleInfo { + reason: FutureIncompatibilityReason::EditionError(Edition::Edition2018), + reference: "issue #49716 ", + }; +} +``` + +When declared like this, the lint is automatically added to the appropriate +`rust-20xx-compatibility` lint group. +When a user runs `cargo fix --edition`, cargo will pass the `--force-warn rust-20xx-compatibility` +flag to force all of these lints to appear during the edition migration. +Cargo also passes `--cap-lints=allow` so that no other lints interfere with the edition migration. + +Migration lints can be either `Allow` or `Warn` by default. +If it is `Allow`, users usually won't see this warning unless they are doing an edition migration +manually or there is a problem during the migration. +Most migration lints are `Allow`. + +If it is `Warn` by default, users on all editions will see this warning. +Only use `Warn` if you think it is important for everyone to be aware of the change, and to +encourage people to update their code on all editions. +Beware that new warn-by-default lint that hit many projects can be very disruptive and frustrating +for users. +You may consider switching an `Allow` to `Warn` several years after the edition stabilizes. +This will only show up for the relatively small number of stragglers who have not updated to the new +edition. + +[`keyword_idents`]: https://doc.rust-lang.org/nightly/rustc/lints/listing/allowed-by-default.html#keyword-idents +[`FutureIncompatibilityReason::EditionError`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint_defs/enum.FutureIncompatibilityReason.html#variant.EditionError +[`FutureIncompatibilityReason::EditionSemanticsChange`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint_defs/enum.FutureIncompatibilityReason.html#variant.EditionSemanticsChange + +### Edition-specific lints + +Lints can be marked so that they have a different level starting in a specific edition. +In the lint declaration, use the `@edition` marker: + +```rust,ignore +declare_lint! { + pub SOME_LINT_NAME, + Allow, + "my lint description", + @edition Edition2024 => Warn; +} +``` + +Here, `SOME_LINT_NAME` defaults to `Allow` on all editions before 2024, and then becomes `Warn` +afterwards. + +This should generally be used sparingly, as there are other options: + +- Small impact stylistic changes unrelated to an edition can just make the lint `Warn` on all + editions. If you want people to adopt a different way to write things, then go ahead and commit to + having it show up for all projects. + + Beware that if a new warn-by-default lint hits many projects, it can be very disruptive and + frustrating for users. + +- Change the new style to be a hard error in the new edition, and use a [migration lint] to + automatically convert projects to the new style. For example, + [`ellipsis_inclusive_range_patterns`] is a hard error in 2021, and warns in all previous editions. + + Beware that these cannot be added after the edition stabilizes. + +- Migration lints can also change over time. + For example, the migration lint can start out as `Allow` by default. + For people performing the migration, they will automatically get updated to the new code. + Then, after some years, the lint can be made to `Warn` in previous editions. + + For example [`anonymous_parameters`] was a 2018 Edition migration lint (and a hard-error in 2018) + that was `Allow` by default in previous editions. + Then, three years later, it was changed to `Warn` for all previous editions, so that all users got + a warning that the style was being phased out. + If this was a warning from the start, it would have impacted many projects and be very disruptive. + By making it part of the edition, most users eventually updated to the new edition and were + handled by the migration. + Switching to `Warn` only impacted a few stragglers who did not update. + +[`ellipsis_inclusive_range_patterns`]: https://doc.rust-lang.org/nightly/rustc/lints/listing/warn-by-default.html#ellipsis-inclusive-range-patterns +[`anonymous_parameters`]: https://doc.rust-lang.org/nightly/rustc/lints/listing/warn-by-default.html#anonymous-parameters + +### Lints and stability + +Lints can be marked as being unstable, which can be helpful when developing a new edition feature, +and you want to test out a migration lint. +The feature gate can be specified in the lint's declaration like this: + +```rust,ignore +declare_lint! { + pub SOME_LINT_NAME, + Allow, + "my cool lint", + @feature_gate = sym::my_feature_name; +} +``` + +Then, the lint will only fire if the user has the appropriate `#![feature(my_feature_name)]`. +Just beware that when it comes time to do crater runs testing the migration that the feature gate +will need to be removed. + +Alternatively, you can implement an allow-by-default [migration lint] for an upcoming unstable +edition without a feature gate. +Although users may technically be able to enable the lint before the edition is stabilized, most +will not notice the new lint exists, and it should not disrupt anything or cause any breakage. + +### Idiom lints + +In the 2018 edition, there was a concept of "idiom lints" under the `rust-2018-idioms` lint group. +The concept was to have new idiomatic styles under a different lint group separate from the forced +migrations under the `rust-2018-compatibility` lint group, giving some flexibility as to how people +opt-in to certain edition changes. + +Overall this approach did not seem to work very well, +and it is unlikely that we will use the idiom groups in the future. + +## Standard library changes + +### Preludes + +Each edition comes with a specific prelude of the standard library. +These are implemented as regular modules in [`core::prelude`] and [`std::prelude`]. +New items can be added to the prelude, just beware that this can conflict with user's pre-existing +code. +Usually a [migration lint] should be used to migrate existing code to avoid the conflict. +For example, [`rust_2021_prelude_collisions`] is used to handle the collisions with the new traits +in 2021. + +[`core::prelude`]: https://doc.rust-lang.org/core/prelude/index.html +[`std::prelude`]: https://doc.rust-lang.org/std/prelude/index.html +[`rust_2021_prelude_collisions`]: https://doc.rust-lang.org/nightly/rustc/lints/listing/allowed-by-default.html#rust-2021-prelude-collisions + +### Customized language behavior + +Usually it is not possible to make breaking changes to the standard library. +In some rare cases, the teams may decide that the behavior change is important enough to break this +rule. +The downside is that this requires special handling in the compiler to be able to distinguish when +the old and new signatures or behaviors should be used. + +One example is the change in method resolution for [`into_iter()` of arrays][into-iter]. +This was implemented with the `#[rustc_skip_array_during_method_dispatch]` attribute on the +`IntoIterator` trait which then tells the compiler to consider an alternate trait resolution choice +based on the edition. + +Another example is the [`panic!` macro changes][panic-macro]. +This required defining multiple panic macros, and having the built-in panic macro implementation +determine the appropriate way to expand it. +This also included the [`non_fmt_panics`] [migration lint] to adjust old code to the new form, which +required the `rustc_diagnostic_item` attribute to detect the usage of the panic macro. + +In general it is recommended to avoid these special cases except for very high value situations. + +[into-iter]: https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html +[panic-macro]: https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html +[`non_fmt_panics`]: https://doc.rust-lang.org/nightly/rustc/lints/listing/warn-by-default.html#non-fmt-panics diff --git a/src/doc/rustc-dev-guide/src/hir-debugging.md b/src/doc/rustc-dev-guide/src/hir-debugging.md new file mode 100644 index 000000000000..5a0bda208421 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/hir-debugging.md @@ -0,0 +1,15 @@ +# HIR Debugging + +Use the `-Z unpretty=hir` flag to produce a human-readable representation of the HIR. +For cargo projects this can be done with `cargo rustc -- -Z unpretty=hir`. +This output is useful when you need to see at a glance how your code was desugared and transformed +during AST lowering. + +For a full `Debug` dump of the data in the HIR, use the `-Z unpretty=hir-tree` flag. +This may be useful when you need to see the full structure of the HIR from the perspective of the +compiler. + +If you are trying to correlate `NodeId`s or `DefId`s with source code, the +`-Z unpretty=expanded,identified` flag may be useful. + +TODO: anything else? [#1159](https://github.com/rust-lang/rustc-dev-guide/issues/1159) diff --git a/src/doc/rustc-dev-guide/src/hir.md b/src/doc/rustc-dev-guide/src/hir.md new file mode 100644 index 000000000000..51893d537d75 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/hir.md @@ -0,0 +1,167 @@ +# The HIR + + + +The HIR – "High-Level Intermediate Representation" – is the primary IR used +in most of rustc. It is a compiler-friendly representation of the abstract +syntax tree (AST) that is generated after parsing, macro expansion, and name +resolution (see [Lowering](./ast-lowering.html) for how the HIR is created). +Many parts of HIR resemble Rust surface syntax quite closely, with +the exception that some of Rust's expression forms have been desugared away. +For example, `for` loops are converted into a `loop` and do not appear in +the HIR. This makes HIR more amenable to analysis than a normal AST. + +This chapter covers the main concepts of the HIR. + +You can view the HIR representation of your code by passing the +`-Z unpretty=hir-tree` flag to rustc: + +```bash +cargo rustc -- -Z unpretty=hir-tree +``` + + +You can also use the `-Z unpretty=hir` option to generate a HIR +that is closer to the original source code expression: + +```bash +cargo rustc -- -Z unpretty=hir +``` + +## Out-of-band storage and the `Crate` type + +The top-level data-structure in the HIR is the [`Crate`], which stores +the contents of the crate currently being compiled (we only ever +construct HIR for the current crate). Whereas in the AST the crate +data structure basically just contains the root module, the HIR +`Crate` structure contains a number of maps and other things that +serve to organize the content of the crate for easier access. + +[`Crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Crate.html + +For example, the contents of individual items (e.g. modules, +functions, traits, impls, etc) in the HIR are not immediately +accessible in the parents. So, for example, if there is a module item +`foo` containing a function `bar()`: + +```rust +mod foo { + fn bar() { } +} +``` + +then in the HIR the representation of module `foo` (the [`Mod`] +struct) would only have the **`ItemId`** `I` of `bar()`. To get the +details of the function `bar()`, we would lookup `I` in the +`items` map. + +[`Mod`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Mod.html + +One nice result from this representation is that one can iterate +over all items in the crate by iterating over the key-value pairs +in these maps (without the need to trawl through the whole HIR). +There are similar maps for things like trait items and impl items, +as well as "bodies" (explained below). + +The other reason to set up the representation this way is for better +integration with incremental compilation. This way, if you gain access +to an [`&rustc_hir::Item`] (e.g. for the mod `foo`), you do not immediately +gain access to the contents of the function `bar()`. Instead, you only +gain access to the **id** for `bar()`, and you must invoke some +function to lookup the contents of `bar()` given its id; this gives +the compiler a chance to observe that you accessed the data for +`bar()`, and then record the dependency. + +[`&rustc_hir::Item`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Item.html + +
+ +## Identifiers in the HIR + +The HIR uses a bunch of different identifiers that coexist and serve different purposes. + +- A [`DefId`], as the name suggests, identifies a particular definition, or top-level + item, in a given crate. It is composed of two parts: a [`CrateNum`] which identifies + the crate the definition comes from, and a [`DefIndex`] which identifies the definition + within the crate. Unlike [`HirId`]s, there isn't a [`DefId`] for every expression, which + makes them more stable across compilations. + +- A [`LocalDefId`] is basically a [`DefId`] that is known to come from the current crate. + This allows us to drop the [`CrateNum`] part, and use the type system to ensure that + only local definitions are passed to functions that expect a local definition. + +- A [`HirId`] uniquely identifies a node in the HIR of the current crate. It is composed + of two parts: an `owner` and a `local_id` that is unique within the `owner`. This + combination makes for more stable values which are helpful for incremental compilation. + Unlike [`DefId`]s, a [`HirId`] can refer to [fine-grained entities][Node] like expressions, + but stays local to the current crate. + +- A [`BodyId`] identifies a HIR [`Body`] in the current crate. It is currently only + a wrapper around a [`HirId`]. For more info about HIR bodies, please refer to the + [HIR chapter][hir-bodies]. + +These identifiers can be converted into one another through the [HIR map][map]. + +[`DefId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.DefId.html +[`LocalDefId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.LocalDefId.html +[`HirId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir_id/struct.HirId.html +[`BodyId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.BodyId.html +[Node]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/enum.Node.html +[`CrateNum`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.CrateNum.html +[`DefIndex`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.DefIndex.html +[`Body`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Body.html +[hir-map]: ./hir.md#the-hir-map +[hir-bodies]: ./hir.md#hir-bodies +[map]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html + +## The HIR Map + +Most of the time when you are working with the HIR, you will do so via +the **HIR Map**, accessible in the tcx via [`tcx.hir()`] (and defined in +the [`hir::map`] module). The [HIR map] contains a [number of methods] to +convert between IDs of various kinds and to lookup data associated +with a HIR node. + +[`tcx.hir()`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html#method.hir +[`hir::map`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/index.html +[HIR map]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html +[number of methods]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#methods + +For example, if you have a [`LocalDefId`], and you would like to convert it +to a [`HirId`], you can use [`tcx.hir().local_def_id_to_hir_id(def_id)`][local_def_id_to_hir_id]. +You need a `LocalDefId`, rather than a `DefId`, since only local items have HIR nodes. + +[local_def_id_to_hir_id]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.local_def_id_to_hir_id + +Similarly, you can use [`tcx.hir().find(n)`][find] to lookup the node for a +[`HirId`]. This returns a `Option>`, where [`Node`] is an enum +defined in the map. By matching on this, you can find out what sort of +node the `HirId` referred to and also get a pointer to the data +itself. Often, you know what sort of node `n` is – e.g. if you know +that `n` must be some HIR expression, you can do +[`tcx.hir().expect_expr(n)`][expect_expr], which will extract and return the +[`&hir::Expr`][Expr], panicking if `n` is not in fact an expression. + +[find]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.find +[`Node`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/enum.Node.html +[expect_expr]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.expect_expr +[Expr]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Expr.html + +Finally, you can use the HIR map to find the parents of nodes, via +calls like [`tcx.hir().get_parent(n)`][get_parent]. + +[get_parent]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.get_parent + +## HIR Bodies + +A [`rustc_hir::Body`] represents some kind of executable code, such as the body +of a function/closure or the definition of a constant. Bodies are +associated with an **owner**, which is typically some kind of item +(e.g. an `fn()` or `const`), but could also be a closure expression +(e.g. `|x, y| x + y`). You can use the HIR map to find the body +associated with a given def-id ([`maybe_body_owned_by`]) or to find +the owner of a body ([`body_owner_def_id`]). + +[`rustc_hir::Body`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Body.html +[`maybe_body_owned_by`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.maybe_body_owned_by +[`body_owner_def_id`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.body_owner_def_id diff --git a/src/doc/rustc-dev-guide/src/img/coverage-branch-counting-01.png b/src/doc/rustc-dev-guide/src/img/coverage-branch-counting-01.png new file mode 100644 index 000000000000..c445f3552a65 Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/coverage-branch-counting-01.png differ diff --git a/src/doc/rustc-dev-guide/src/img/dataflow-graphviz-example.png b/src/doc/rustc-dev-guide/src/img/dataflow-graphviz-example.png new file mode 100644 index 000000000000..718411a8c42a Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/dataflow-graphviz-example.png differ diff --git a/src/doc/rustc-dev-guide/src/img/github-cli.png b/src/doc/rustc-dev-guide/src/img/github-cli.png new file mode 100644 index 000000000000..c3b0e7707ebf Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/github-cli.png differ diff --git a/src/doc/rustc-dev-guide/src/img/github-whitespace-changes.png b/src/doc/rustc-dev-guide/src/img/github-whitespace-changes.png new file mode 100644 index 000000000000..9a19a10aace0 Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/github-whitespace-changes.png differ diff --git a/src/doc/rustc-dev-guide/src/img/llvm-cov-show-01.png b/src/doc/rustc-dev-guide/src/img/llvm-cov-show-01.png new file mode 100644 index 000000000000..35f04594347a Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/llvm-cov-show-01.png differ diff --git a/src/doc/rustc-dev-guide/src/img/other-peoples-commits.png b/src/doc/rustc-dev-guide/src/img/other-peoples-commits.png new file mode 100644 index 000000000000..e4fc2c7972e9 Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/other-peoples-commits.png differ diff --git a/src/doc/rustc-dev-guide/src/img/rustbot-submodules.png b/src/doc/rustc-dev-guide/src/img/rustbot-submodules.png new file mode 100644 index 000000000000..c2e6937cbebc Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/rustbot-submodules.png differ diff --git a/src/doc/rustc-dev-guide/src/img/submodule-conflicts.png b/src/doc/rustc-dev-guide/src/img/submodule-conflicts.png new file mode 100644 index 000000000000..e90a6bbe8fd7 Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/submodule-conflicts.png differ diff --git a/src/doc/rustc-dev-guide/src/img/wpa-initial-memory.png b/src/doc/rustc-dev-guide/src/img/wpa-initial-memory.png new file mode 100644 index 000000000000..b6020667ef00 Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/wpa-initial-memory.png differ diff --git a/src/doc/rustc-dev-guide/src/img/wpa-stack.png b/src/doc/rustc-dev-guide/src/img/wpa-stack.png new file mode 100644 index 000000000000..29eb5a54b5d0 Binary files /dev/null and b/src/doc/rustc-dev-guide/src/img/wpa-stack.png differ diff --git a/src/doc/rustc-dev-guide/src/implementing_new_features.md b/src/doc/rustc-dev-guide/src/implementing_new_features.md new file mode 100644 index 000000000000..d87afeaedce6 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/implementing_new_features.md @@ -0,0 +1,206 @@ +# Implementing new language features + + + +When you want to implement a new significant feature in the compiler, +you need to go through this process to make sure everything goes +smoothly. + +**NOTE: this section is for *language* features, not *library* features, +which use [a different process].** + +[a different process]: ./stability.md + +## The @rfcbot FCP process + +When the change is small and uncontroversial, then it can be done +with just writing a PR and getting an r+ from someone who knows that +part of the code. However, if the change is potentially controversial, +it would be a bad idea to push it without consensus from the rest +of the team (both in the "distributed system" sense to make sure +you don't break anything you don't know about, and in the social +sense to avoid PR fights). + +If such a change seems to be too small to require a full formal RFC process +(e.g., a small standard library addition, a big refactoring of the code, a +"technically-breaking" change, or a "big bugfix" that basically amounts to a +small feature) but is still too controversial or big to get by with a single r+, +you can propose a final comment period (FCP). Or, if you're not on the relevant +team (and thus don't have @rfcbot permissions), ask someone who is to start one; +unless they have a concern themselves, they should. + +Again, the FCP process is only needed if you need consensus – if you +don't think anyone would have a problem with your change, it's OK to +get by with only an r+. For example, it is OK to add or modify +unstable command-line flags or attributes without an FCP for +compiler development or standard library use, as long as you don't +expect them to be in wide use in the nightly ecosystem. +Some teams have lighter weight processes that they use in scenarios +like this; for example, the compiler team recommends +filing a Major Change Proposal ([MCP][mcp]) as a lightweight way to +garner support and feedback without requiring full consensus. + +[mcp]: https://forge.rust-lang.org/compiler/mcp.html#public-facing-changes-require-rfcbot-fcp + +You don't need to have the implementation fully ready for r+ to propose an FCP, +but it is generally a good idea to have at least a proof +of concept so that people can see what you are talking about. + +When an FCP is proposed, it requires all members of the team to sign off the +FCP. After they all do so, there's a 10-day-long "final comment period" (hence +the name) where everybody can comment, and if no concerns are raised, the +PR/issue gets FCP approval. + +## The logistics of writing features + +There are a few "logistic" hoops you might need to go through in +order to implement a feature in a working way. + +### Warning Cycles + +In some cases, a feature or bugfix might break some existing programs +in some edge cases. In that case, you might want to do a crater run +to assess the impact and possibly add a future-compatibility lint, +similar to those used for +[edition-gated lints](diagnostics.md#edition-gated-lints). + +### Stability + +We [value the stability of Rust]. Code that works and runs on stable +should (mostly) not break. Because of that, we don't want to release +a feature to the world with only team consensus and code review - +we want to gain real-world experience on using that feature on nightly, +and we might want to change the feature based on that experience. + +To allow for that, we must make sure users don't accidentally depend +on that new feature - otherwise, especially if experimentation takes +time or is delayed and the feature takes the trains to stable, +it would end up de facto stable and we'll not be able to make changes +in it without breaking people's code. + +The way we do that is that we make sure all new features are feature +gated - they can't be used without enabling a feature gate +(`#[feature(foo)]`), which can't be done in a stable/beta compiler. +See the [stability in code] section for the technical details. + +Eventually, after we gain enough experience using the feature, +make the necessary changes, and are satisfied, we expose it to +the world using the stabilization process described [here]. +Until then, the feature is not set in stone: every part of the +feature can be changed, or the feature might be completely +rewritten or removed. Features are not supposed to gain tenure +by being unstable and unchanged for a year. + +### Tracking Issues + +To keep track of the status of an unstable feature, the +experience we get while using it on nightly, and of the +concerns that block its stabilization, every feature-gate +needs a tracking issue. General discussions about the feature should be done on the tracking issue. + +For features that have an RFC, you should use the RFC's +tracking issue for the feature. + +For other features, you'll have to make a tracking issue +for that feature. The issue title should be "Tracking issue +for YOUR FEATURE". Use the ["Tracking Issue" issue template][template]. + +[template]: https://github.com/rust-lang/rust/issues/new?template=tracking_issue.md + +## Stability in code + +The below steps needs to be followed in order to implement +a new unstable feature: + +1. Open a [tracking issue] - + if you have an RFC, you can use the tracking issue for the RFC. + + The tracking issue should be labeled with at least `C-tracking-issue`. + For a language feature, a label `F-feature_name` should be added as well. + +1. Pick a name for the feature gate (for RFCs, use the name + in the RFC). + +1. Add the feature name to `rustc_span/src/symbol.rs` in the `Symbols {...}` block. + + Note that this block must be in alphabetical order. + +1. Add a feature gate declaration to `rustc_feature/src/unstable.rs` in the unstable + `declare_features` block. + + ```rust ignore + /// description of feature + (unstable, $feature_name, "CURRENT_RUSTC_VERSION", Some($tracking_issue_number)) + ``` + + If you haven't yet + opened a tracking issue (e.g. because you want initial feedback on whether the feature is likely + to be accepted), you can temporarily use `None` - but make sure to update it before the PR is + merged! + + For example: + + ```rust ignore + /// Allows defining identifiers beyond ASCII. + (unstable, non_ascii_idents, "CURRENT_RUSTC_VERSION", Some(55467), None), + ``` + + Features can be marked as incomplete, and trigger the warn-by-default [`incomplete_features` + lint] + by setting their type to `incomplete`: + + [`incomplete_features` lint]: https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#incomplete-features + + ```rust ignore + /// Allows unsized rvalues at arguments and parameters. + (incomplete, unsized_locals, "CURRENT_RUSTC_VERSION", Some(48055), None), + ``` + + To avoid [semantic merge conflicts], please use `CURRENT_RUSTC_VERSION` instead of `1.70` or + another explicit version number. + + [semantic merge conflicts]: https://bors.tech/essay/2017/02/02/pitch/ + +1. Prevent usage of the new feature unless the feature gate is set. + You can check it in most places in the compiler using the + expression `tcx.features().$feature_name` (or + `sess.features_untracked().$feature_name` if the + tcx is unavailable) + + If the feature gate is not set, you should either maintain + the pre-feature behavior or raise an error, depending on + what makes sense. Errors should generally use [`rustc_session::parse::feature_err`]. + For an example of adding an error, see [#81015]. + + For features introducing new syntax, pre-expansion gating should be used instead. + During parsing, when the new syntax is parsed, the symbol must be inserted to the + current crate's [`GatedSpans`] via `self.sess.gated_span.gate(sym::my_feature, span)`. + + After being inserted to the gated spans, the span must be checked in the + [`rustc_ast_passes::feature_gate::check_crate`] function, which actually denies + features. Exactly how it is gated depends on the exact type of feature, but most + likely will use the `gate_all!()` macro. + +1. Add a test to ensure the feature cannot be used without + a feature gate, by creating `tests/ui/feature-gates/feature-gate-$feature_name.rs`. + You can generate the corresponding `.stderr` file by running `./x test +tests/ui/feature-gates/ --bless`. + +1. Add a section to the unstable book, in + `src/doc/unstable-book/src/language-features/$feature_name.md`. + +1. Write a lot of tests for the new feature, preferably in `tests/ui/$feature_name/`. + PRs without tests will not be accepted! + +1. Get your PR reviewed and land it. You have now successfully + implemented a feature in Rust! + +[`GatedSpans`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/parse/struct.GatedSpans.html +[#81015]: https://github.com/rust-lang/rust/pull/81015 +[`rustc_session::parse::feature_err`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/parse/fn.feature_err.html +[`rustc_ast_passes::feature_gate::check_crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_passes/feature_gate/fn.check_crate.html +[value the stability of Rust]: https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md +[stability in code]: #stability-in-code +[here]: ./stabilization_guide.md +[tracking issue]: #tracking-issues +[add-feature-gate]: ./feature-gates.md#adding-a-feature-gate diff --git a/src/doc/rustc-dev-guide/src/incrcomp-debugging.md b/src/doc/rustc-dev-guide/src/incrcomp-debugging.md new file mode 100644 index 000000000000..7045d3fa39d3 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/incrcomp-debugging.md @@ -0,0 +1,129 @@ +# Debugging and Testing Dependencies + +## Testing the dependency graph + +There are various ways to write tests against the dependency graph. The +simplest mechanisms are the `#[rustc_if_this_changed]` and +`#[rustc_then_this_would_need]` annotations. These are used in [ui] tests to test +whether the expected set of paths exist in the dependency graph. + +[`tests/ui/dep-graph/dep-graph-caller-callee.rs`]: https://github.com/rust-lang/rust/blob/master/tests/ui/dep-graph/dep-graph-caller-callee.rs +[ui]: tests/ui.html + +As an example, see [`tests/ui/dep-graph/dep-graph-caller-callee.rs`], or the +tests below. + +```rust,ignore +#[rustc_if_this_changed] +fn foo() { } + +#[rustc_then_this_would_need(TypeckTables)] //~ ERROR OK +fn bar() { foo(); } +``` + +This should be read as +> If this (`foo`) is changed, then this (i.e. `bar`)'s TypeckTables would need to be changed. + +Technically, what occurs is that the test is expected to emit the string "OK" on +stderr, associated to this line. + +You could also add the lines + +```rust,ignore +#[rustc_then_this_would_need(TypeckTables)] //~ ERROR no path +fn baz() { } +``` + +Whose meaning is +> If `foo` is changed, then `baz`'s TypeckTables does not need to be changed. +> The macro must emit an error, and the error message must contains "no path". + +Recall that the `//~ ERROR OK` is a comment from the point of view of the Rust +code we test, but is meaningful from the point of view of the test itself. + +## Debugging the dependency graph + +### Dumping the graph + +The compiler is also capable of dumping the dependency graph for your +debugging pleasure. To do so, pass the `-Z dump-dep-graph` flag. The +graph will be dumped to `dep_graph.{txt,dot}` in the current +directory. You can override the filename with the `RUST_DEP_GRAPH` +environment variable. + +Frequently, though, the full dep graph is quite overwhelming and not +particularly helpful. Therefore, the compiler also allows you to filter +the graph. You can filter in three ways: + +1. All edges originating in a particular set of nodes (usually a single node). +2. All edges reaching a particular set of nodes. +3. All edges that lie between given start and end nodes. + +To filter, use the `RUST_DEP_GRAPH_FILTER` environment variable, which should +look like one of the following: + +```text +source_filter // nodes originating from source_filter +-> target_filter // nodes that can reach target_filter +source_filter -> target_filter // nodes in between source_filter and target_filter +``` + +`source_filter` and `target_filter` are a `&`-separated list of strings. +A node is considered to match a filter if all of those strings appear in its +label. So, for example: + +```text +RUST_DEP_GRAPH_FILTER='-> TypeckTables' +``` + +would select the predecessors of all `TypeckTables` nodes. Usually though you +want the `TypeckTables` node for some particular fn, so you might write: + +```text +RUST_DEP_GRAPH_FILTER='-> TypeckTables & bar' +``` + +This will select only the predecessors of `TypeckTables` nodes for functions +with `bar` in their name. + +Perhaps you are finding that when you change `foo` you need to re-type-check +`bar`, but you don't think you should have to. In that case, you might do: + +```text +RUST_DEP_GRAPH_FILTER='Hir & foo -> TypeckTables & bar' +``` + +This will dump out all the nodes that lead from `Hir(foo)` to +`TypeckTables(bar)`, from which you can (hopefully) see the source +of the erroneous edge. + +### Tracking down incorrect edges + +Sometimes, after you dump the dependency graph, you will find some +path that should not exist, but you will not be quite sure how it came +to be. **When the compiler is built with debug assertions,** it can +help you track that down. Simply set the `RUST_FORBID_DEP_GRAPH_EDGE` +environment variable to a filter. Every edge created in the dep-graph +will be tested against that filter – if it matches, a `bug!` is +reported, so you can easily see the backtrace (`RUST_BACKTRACE=1`). + +The syntax for these filters is the same as described in the previous +section. However, note that this filter is applied to every **edge** +and doesn't handle longer paths in the graph, unlike the previous +section. + +Example: + +You find that there is a path from the `Hir` of `foo` to the type +check of `bar` and you don't think there should be. You dump the +dep-graph as described in the previous section and open `dep-graph.txt` +to see something like: + +```text +Hir(foo) -> Collect(bar) +Collect(bar) -> TypeckTables(bar) +``` + +That first edge looks suspicious to you. So you set +`RUST_FORBID_DEP_GRAPH_EDGE` to `Hir&foo -> Collect&bar`, re-run, and +then observe the backtrace. Voila, bug fixed! diff --git a/src/doc/rustc-dev-guide/src/lang-items.md b/src/doc/rustc-dev-guide/src/lang-items.md new file mode 100644 index 000000000000..867c42144770 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/lang-items.md @@ -0,0 +1,67 @@ +# Lang items + +The compiler has certain pluggable operations; that is, functionality that isn't hard-coded into +the language, but is implemented in libraries, with a special marker to tell the compiler it +exists. The marker is the attribute `#[lang = "..."]`, and there are various different values of +`...`, i.e. various different 'lang items'. + +Many such lang items can be implemented only in one sensible way, such as `add` (`trait +core::ops::Add`) or `future_trait` (`trait core::future::Future`). Others can be overridden to +achieve some specific goals; for example, you can control your binary's entrypoint. + +Features provided by lang items include: + +- overloadable operators via traits: the traits corresponding to the + `==`, `<`, dereference (`*`), `+`, etc. operators are all + marked with lang items; those specific four are `eq`, `ord`, + `deref`, and `add` respectively. +- panicking and stack unwinding; the `eh_personality`, `panic` and + `panic_bounds_checks` lang items. +- the traits in `std::marker` used to indicate properties of types used by the compiler; + lang items `send`, `sync` and `copy`. +- the special marker types used for variance indicators found in + `core::marker`; lang item `phantom_data`. + +Lang items are loaded lazily by the compiler; e.g. if one never uses `Box` +then there is no need to define functions for `exchange_malloc` and +`box_free`. `rustc` will emit an error when an item is needed but not found +in the current crate or any that it depends on. + +Most lang items are defined by the `core` library, but if you're trying to build an +executable with `#![no_std]`, you'll still need to define a few lang items that are +usually provided by `std`. + +## Retrieving a language item + +You can retrieve lang items by calling [`tcx.lang_items()`]. + +Here's a small example of retrieving the `trait Sized {}` language item: + +```rust +// Note that in case of `#![no_core]`, the trait is not available. +if let Some(sized_trait_def_id) = tcx.lang_items().sized_trait() { + // do something with `sized_trait_def_id` +} +``` + +Note that `sized_trait()` returns an `Option`, not the `DefId` itself. +That's because language items are defined in the standard library, so if someone compiles with +`#![no_core]` (or for some lang items, `#![no_std]`), the lang item may not be present. +You can either: + +- Give a hard error if the lang item is necessary to continue (don't panic, since this can happen in + user code). +- Proceed with limited functionality, by just omitting whatever you were going to do with the + `DefId`. + +[`tcx.lang_items()`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html#method.lang_items + +## List of all language items + +You can find language items in the following places: +- An exhaustive reference in the compiler documentation: [`rustc_hir::LangItem`] +- An auto-generated list with source locations by using ripgrep: `rg '#\[.*lang =' library/` + +Note that language items are explicitly unstable and may change in any new release. + +[`rustc_hir::LangItem`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/lang_items/enum.LangItem.html diff --git a/src/doc/rustc-dev-guide/src/licenses.md b/src/doc/rustc-dev-guide/src/licenses.md new file mode 100644 index 000000000000..1d5158a9c6d6 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/licenses.md @@ -0,0 +1,47 @@ +# `rust-lang/rust` Licenses + +The `rustc` compiler source and standard library are dual licensed under the [Apache License v2.0](https://github.com/rust-lang/rust/blob/master/LICENSE-APACHE) and the [MIT License](https://github.com/rust-lang/rust/blob/master/LICENSE-MIT) unless otherwise specified. + +Detailed licensing information is available in the [COPYRIGHT document](https://github.com/rust-lang/rust/blob/master/COPYRIGHT) of the `rust-lang/rust` repository. + +## Guidelines for reviewers + +In general, reviewers need to be looking not only for the code quality of contributions but also +that they are properly licensed. +We have some tips below for things to look out for when reviewing, but if you ever feel uncertain +as to whether some code might be properly licensed, err on the safe side — reach out to the Council +or Compiler Team Leads for feedback! + +Things to watch out for: + +- The PR author states that they copied, ported, or adapted the code from some other source. +- There is a comment in the code pointing to a webpage or describing where the algorithm was taken +from. +- The algorithm or code pattern seems like it was likely copied from somewhere else. +- When adding new dependencies, double check the dependency's license. + +In all of these cases, we will want to check that source to make sure it is licensed in a way +that is compatible with Rust’s license. + +Examples + +- Porting C code from a GPL project, like GNU binutils, is not allowed. That would require Rust +itself to be licensed under the GPL. +- Copying code from an algorithms text book may be allowed, but some algorithms are patented. + +## Porting + +Contributions to rustc, especially around platform and compiler intrinsics, often include porting +over work from other projects, mainly LLVM and GCC. + +Some general rules apply: + +- Copying work needs to adhere to the original license + - This applies to direct copy & paste + - This also applies to code you looked at and ported + +In general, taking inspiration from other codebases is fine, but please exercise caution when +porting code. + +Ports of full libraries (e.g. C libraries shipped with LLVM) must keep the license of the original +library. diff --git a/src/doc/rustc-dev-guide/src/llvm-coverage-instrumentation.md b/src/doc/rustc-dev-guide/src/llvm-coverage-instrumentation.md new file mode 100644 index 000000000000..3078ae094c34 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/llvm-coverage-instrumentation.md @@ -0,0 +1,139 @@ +# LLVM Source-Based Code Coverage + + + +`rustc` supports detailed source-based code and test coverage analysis +with a command line option (`-C instrument-coverage`) that instruments Rust +libraries and binaries with additional instructions and data, at compile time. + +The coverage instrumentation injects calls to the LLVM intrinsic instruction +[`llvm.instrprof.increment`][llvm-instrprof-increment] at code branches +(based on a MIR-based control flow analysis), and LLVM converts these to +instructions that increment static counters, when executed. The LLVM coverage +instrumentation also requires a [Coverage Map] that encodes source metadata, +mapping counter IDs--directly and indirectly--to the file locations (with +start and end line and column). + +Rust libraries, with or without coverage instrumentation, can be linked into +instrumented binaries. When the program is executed and cleanly terminates, +LLVM libraries write the final counter values to a file (`default.profraw` or +a custom file set through environment variable `LLVM_PROFILE_FILE`). + +Developers use existing LLVM coverage analysis tools to decode `.profraw` +files, with corresponding Coverage Maps (from matching binaries that produced +them), and generate various reports for analysis, for example: + +Screenshot of sample `llvm-cov show` result, for function add_quoted_string +
+ +Detailed instructions and examples are documented in the +[rustc book][rustc-book-instrument-coverage]. + +[llvm-instrprof-increment]: https://llvm.org/docs/LangRef.html#llvm-instrprof-increment-intrinsic +[coverage map]: https://llvm.org/docs/CoverageMappingFormat.html +[rustc-book-instrument-coverage]: https://doc.rust-lang.org/nightly/rustc/instrument-coverage.html + +## Recommended `config.toml` settings + +When working on the coverage instrumentation code, it is usually necessary to +**enable the profiler runtime** by setting `profiler = true` in `[build]`. +This allows the compiler to produce instrumented binaries, and makes it possible +to run the full coverage test suite. + +Enabling debug assertions in the compiler and in LLVM is recommended, but not +mandatory. + +```toml +# Similar to the "compiler" profile, but also enables debug assertions in LLVM. +# These assertions can detect malformed coverage mappings in some cases. +profile = "codegen" + +[build] +# IMPORTANT: This tells the build system to build the LLVM profiler runtime. +# Without it, the compiler can't produce coverage-instrumented binaries, +# and many of the coverage tests will be skipped. +profiler = true + +[rust] +# Enable debug assertions in the compiler. +debug-assertions = true +``` + +## Rust symbol mangling + +`-C instrument-coverage` automatically enables Rust symbol mangling `v0` (as +if the user specified `-C symbol-mangling-version=v0` option when invoking +`rustc`) to ensure consistent and reversible name mangling. This has two +important benefits: + +1. LLVM coverage tools can analyze coverage over multiple runs, including some + changes to source code; so mangled names must be consistent across compilations. +2. LLVM coverage reports can report coverage by function, and even separates + out the coverage counts of each unique instantiation of a generic function, + if invoked with multiple type substitution variations. + +## The LLVM profiler runtime + +Coverage data is only generated by running the executable Rust program. `rustc` +statically links coverage-instrumented binaries with LLVM runtime code +([compiler-rt][compiler-rt-profile]) that implements program hooks +(such as an `exit` hook) to write the counter values to the `.profraw` file. + +In the `rustc` source tree, +`library/profiler_builtins` bundles the LLVM `compiler-rt` code into a Rust library crate. +Note that when building `rustc`, +`profiler_builtins` is only included when `build.profiler = true` is set in `config.toml`. + +When compiling with `-C instrument-coverage`, +[`CrateLoader::postprocess()`][crate-loader-postprocess] dynamically loads +`profiler_builtins` by calling `inject_profiler_runtime()`. + +[compiler-rt-profile]: https://github.com/llvm/llvm-project/tree/main/compiler-rt/lib/profile +[crate-loader-postprocess]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/creader/struct.CrateLoader.html#method.postprocess + +## Testing coverage instrumentation + +[(See also the compiletest documentation for the `tests/coverage` +test suite.)](./tests/compiletest.md#coverage-tests) + +Coverage instrumentation in the MIR is validated by a `mir-opt` test: +[`tests/mir-opt/coverage/instrument_coverage.rs`]. + +Coverage instrumentation in LLVM IR is validated by the [`tests/coverage`] +test suite in `coverage-map` mode. +These tests compile a test program to LLVM IR assembly, and then +use the [`src/tools/coverage-dump`] tool to extract and pretty-print the +coverage mappings that would be embedded in the final binary. + +End-to-end testing of coverage instrumentation and coverage reporting is +performed by the [`tests/coverage`] test suite in `coverage-run` mode, +and by the [`tests/coverage-run-rustdoc`] test suite. +These tests compile and run a test program with coverage +instrumentation, then use LLVM tools to convert the coverage data into a +human-readable coverage report. + +> Tests in `coverage-run` mode have an implicit `//@ needs-profiler-runtime` +> directive, so they will be skipped if the profiler runtime has not been +> [enabled in `config.toml`](#recommended-configtoml-settings). + +Finally, the [`tests/codegen/instrument-coverage/testprog.rs`] test compiles a simple Rust program +with `-C instrument-coverage` and compares the compiled program's LLVM IR to +expected LLVM IR instructions and structured data for a coverage-enabled +program, including various checks for Coverage Map-related metadata and the LLVM +intrinsic calls to increment the runtime counters. + +Expected results for the `coverage`, `coverage-run-rustdoc`, +and `mir-opt` tests can be refreshed by running: + +```shell +./x test coverage --bless +./x test coverage-run-rustdoc --bless +./x test tests/mir-opt --bless +``` + +[`tests/mir-opt/coverage/instrument_coverage.rs`]: https://github.com/rust-lang/rust/blob/master/tests/mir-opt/coverage/instrument_coverage.rs +[`tests/coverage`]: https://github.com/rust-lang/rust/tree/master/tests/coverage +[`src/tools/coverage-dump`]: https://github.com/rust-lang/rust/tree/master/src/tools/coverage-dump +[`tests/coverage-run-rustdoc`]: https://github.com/rust-lang/rust/tree/master/tests/coverage-run-rustdoc +[`tests/codegen/instrument-coverage/testprog.rs`]: https://github.com/rust-lang/rust/blob/master/tests/mir-opt/coverage/instrument_coverage.rs diff --git a/src/doc/rustc-dev-guide/src/macro-expansion.md b/src/doc/rustc-dev-guide/src/macro-expansion.md new file mode 100644 index 000000000000..ebab56ad20af --- /dev/null +++ b/src/doc/rustc-dev-guide/src/macro-expansion.md @@ -0,0 +1,627 @@ +# Macro expansion + + + +> N.B. [`rustc_ast`], [`rustc_expand`], and [`rustc_builtin_macros`] are all +> undergoing refactoring, so some of the links in this chapter may be broken. + +Rust has a very powerful macro system. In the previous chapter, we saw how +the parser sets aside macros to be expanded (using temporary [placeholders]). +This chapter is about the process of expanding those macros iteratively until +we have a complete [*Abstract Syntax Tree* (AST)][ast] for our crate with no +unexpanded macros (or a compile error). + +[ast]: ./ast-validation.md +[`rustc_ast`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/index.html +[`rustc_expand`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/index.html +[`rustc_builtin_macros`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_builtin_macros/index.html +[placeholders]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/placeholders/index.html + +First, we discuss the algorithm that expands and integrates macro output into +ASTs. Next, we take a look at how hygiene data is collected. Finally, we look +at the specifics of expanding different types of macros. + +Many of the algorithms and data structures described below are in [`rustc_expand`], +with fundamental data structures in [`rustc_expand::base`][base]. + +Also of note, `cfg` and `cfg_attr` are treated specially from other macros, and are +handled in [`rustc_expand::config`][cfg]. + +[`rustc_expand`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/index.html +[base]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/index.html +[cfg]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/config/index.html + +## Expansion and AST Integration + +Firstly, expansion happens at the crate level. Given a raw source code for +a crate, the compiler will produce a massive AST with all macros expanded, all +modules inlined, etc. The primary entry point for this process is the +[`MacroExpander::fully_expand_fragment`][fef] method. With few exceptions, we +use this method on the whole crate (see ["Eager Expansion"](#eager-expansion) +below for more detailed discussion of edge case expansion issues). + +[`rustc_builtin_macros`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_builtin_macros/index.html +[reb]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/build/index.html + +At a high level, [`fully_expand_fragment`][fef] works in iterations. We keep a +queue of unresolved macro invocations (i.e. macros we haven't found the +definition of yet). We repeatedly try to pick a macro from the queue, resolve +it, expand it, and integrate it back. If we can't make progress in an +iteration, this represents a compile error. Here is the [algorithm][original]: + +[fef]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/expand/struct.MacroExpander.html#method.fully_expand_fragment +[original]: https://github.com/rust-lang/rust/pull/53778#issuecomment-419224049 + +1. Initialize a `queue` of unresolved macros. +2. Repeat until `queue` is empty (or we make no progress, which is an error): + 1. [Resolve](./name-resolution.md) imports in our partially built crate as + much as possible. + 2. Collect as many macro [`Invocation`s][inv] as possible from our + partially built crate (`fn`-like, attributes, derives) and add them to the + queue. + 3. Dequeue the first element and attempt to resolve it. + 4. If it's resolved: + 1. Run the macro's expander function that consumes a [`TokenStream`] or + AST and produces a [`TokenStream`] or [`AstFragment`] (depending on + the macro kind). (A [`TokenStream`] is a collection of [`TokenTree`s][tt], + each of which are a token (punctuation, identifier, or literal) or a + delimited group (anything inside `()`/`[]`/`{}`)). + - At this point, we know everything about the macro itself and can + call [`set_expn_data`] to fill in its properties in the global + data; that is the [hygiene] data associated with [`ExpnId`] (see + [Hygiene][hybelow] below). + 2. Integrate that piece of AST into the currently-existing though + partially-built AST. This is essentially where the "token-like mass" + becomes a proper set-in-stone AST with side-tables. It happens as + follows: + - If the macro produces tokens (e.g. a proc macro), we parse into + an AST, which may produce parse errors. + - During expansion, we create [`SyntaxContext`]s (hierarchy 2) (see + [Hygiene][hybelow] below). + - These three passes happen one after another on every AST fragment + freshly expanded from a macro: + - [`NodeId`]s are assigned by [`InvocationCollector`]. This + also collects new macro calls from this new AST piece and + adds them to the queue. + - ["Def paths"][defpath] are created and [`DefId`]s are + assigned to them by [`DefCollector`]. + - Names are put into modules (from the resolver's point of + view) by [`BuildReducedGraphVisitor`]. + 3. After expanding a single macro and integrating its output, continue + to the next iteration of [`fully_expand_fragment`][fef]. + 5. If it's not resolved: + 1. Put the macro back in the queue. + 2. Continue to next iteration... + +[`AstFragment`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/expand/enum.AstFragment.html +[`BuildReducedGraphVisitor`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/build_reduced_graph/struct.BuildReducedGraphVisitor.html +[`DefCollector`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/def_collector/struct.DefCollector.html +[`DefId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.DefId.html +[`ExpnId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnId.html +[`InvocationCollector`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/expand/struct.InvocationCollector.html +[`NodeId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/node_id/struct.NodeId.html +[`set_expn_data`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.LocalExpnId.html#method.set_expn_data +[`SyntaxContext`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContext.html +[`TokenStream`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/tokenstream/struct.TokenStream.html +[defpath]: hir.md#identifiers-in-the-hir +[hybelow]: #hygiene-and-hierarchies +[hygiene]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/index.html +[inv]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/expand/struct.Invocation.html +[tt]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/tokenstream/enum.TokenTree.html + +### Error Recovery + +If we make no progress in an iteration we have reached a compilation error +(e.g. an undefined macro). We attempt to recover from failures (i.e. +unresolved macros or imports) with the intent of generating diagnostics. +Failure recovery happens by expanding unresolved macros into +[`ExprKind::Err`][err] and allows compilation to continue past the first error +so that `rustc` can report more errors than just the original failure. + +[err]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/ast/enum.ExprKind.html#variant.Err + +### Name Resolution + +Notice that name resolution is involved here: we need to resolve imports and +macro names in the above algorithm. This is done in +[`rustc_resolve::macros`][mresolve], which resolves macro paths, validates +those resolutions, and reports various errors (e.g. "not found", "found, but +it's unstable", "expected x, found y"). However, we don't try to resolve +other names yet. This happens later, as we will see in the chapter: [Name +Resolution](./name-resolution.md). + +[mresolve]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/macros/index.html + +### Eager Expansion + +_Eager expansion_ means we expand the arguments of a macro invocation before +the macro invocation itself. This is implemented only for a few special +built-in macros that expect literals; expanding arguments first for some of +these macro results in a smoother user experience. As an example, consider +the following: + +```rust,ignore +macro bar($i: ident) { $i } +macro foo($i: ident) { $i } + +foo!(bar!(baz)); +``` + +A lazy-expansion would expand `foo!` first. An eager-expansion would expand +`bar!` first. + +Eager-expansion is not a generally available feature of Rust. Implementing +eager-expansion more generally would be challenging, so we implement it for a +few special built-in macros for the sake of user-experience. The built-in +macros are implemented in [`rustc_builtin_macros`], along with some other +early code generation facilities like injection of standard library imports or +generation of test harness. There are some additional helpers for building +AST fragments in [`rustc_expand::build`][reb]. Eager-expansion generally +performs a subset of the things that lazy (normal) expansion does. It is done +by invoking [`fully_expand_fragment`][fef] on only part of a crate (as opposed +to the whole crate, like we normally do). + +### Other Data Structures + +Here are some other notable data structures involved in expansion and +integration: +- [`ResolverExpand`] - a `trait` used to break crate dependencies. This allows the + resolver services to be used in [`rustc_ast`], despite [`rustc_resolve`] and + pretty much everything else depending on [`rustc_ast`]. +- [`ExtCtxt`]/[`ExpansionData`] - holds various intermediate expansion + infrastructure data. +- [`Annotatable`] - a piece of AST that can be an attribute target, almost the same + thing as [`AstFragment`] except for types and patterns that can be produced by + macros but cannot be annotated with attributes. +- [`MacResult`] - a "polymorphic" AST fragment, something that can turn into + a different [`AstFragment`] depending on its [`AstFragmentKind`] (i.e. an item, + expression, pattern, etc). + +[`AstFragment`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/expand/enum.AstFragment.html +[`rustc_ast`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/index.html +[`rustc_resolve`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/index.html +[`ResolverExpand`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/trait.ResolverExpand.html +[`ExtCtxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/struct.ExtCtxt.html +[`ExpansionData`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/struct.ExpansionData.html +[`Annotatable`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/enum.Annotatable.html +[`MacResult`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/trait.MacResult.html +[`AstFragmentKind`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/expand/enum.AstFragmentKind.html + +## Hygiene and Hierarchies + +If you have ever used the C/C++ preprocessor macros, you know that there are some +annoying and hard-to-debug gotchas! For example, consider the following C code: + +```c +#define DEFINE_FOO struct Bar {int x;}; struct Foo {Bar bar;}; + +// Then, somewhere else +struct Bar { + ... +}; + +DEFINE_FOO +``` + +Most people avoid writing C like this – and for good reason: it doesn't +compile. The `struct Bar` defined by the macro clashes names with the `struct +Bar` defined in the code. Consider also the following example: + +```c +#define DO_FOO(x) {\ + int y = 0;\ + foo(x, y);\ + } + +// Then elsewhere +int y = 22; +DO_FOO(y); +``` + +Do you see the problem? We wanted to generate a call `foo(22, 0)`, but instead +we got `foo(0, 0)` because the macro defined its own `y`! + +These are both examples of _macro hygiene_ issues. _Hygiene_ relates to how to +handle names defined _within a macro_. In particular, a hygienic macro system +prevents errors due to names introduced within a macro. Rust macros are hygienic +in that they do not allow one to write the sorts of bugs above. + +At a high level, hygiene within the Rust compiler is accomplished by keeping +track of the context where a name is introduced and used. We can then +disambiguate names based on that context. Future iterations of the macro system +will allow greater control to the macro author to use that context. For example, +a macro author may want to introduce a new name to the context where the macro +was called. Alternately, the macro author may be defining a variable for use +only within the macro (i.e. it should not be visible outside the macro). + +[code_dir]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_expand/src/mbe +[code_mp]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/mbe/macro_parser +[code_mr]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/mbe/macro_rules +[code_parse_int]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/mbe/macro_parser/struct.TtParser.html#method.parse_tt +[parsing]: ./the-parser.html + +The context is attached to AST nodes. All AST nodes generated by macros have +context attached. Additionally, there may be other nodes that have context +attached, such as some desugared syntax (non-macro-expanded nodes are +considered to just have the "root" context, as described below). +Throughout the compiler, we use [`rustc_span::Span`s][span] to refer to code locations. +This struct also has hygiene information attached to it, as we will see later. + +[span]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.Span.html + +Because macros invocations and definitions can be nested, the syntax context of +a node must be a hierarchy. For example, if we expand a macro and there is +another macro invocation or definition in the generated output, then the syntax +context should reflect the nesting. + +However, it turns out that there are actually a few types of context we may +want to track for different purposes. Thus, there are not just one but _three_ +expansion hierarchies that together comprise the hygiene information for a +crate. + +All of these hierarchies need some sort of "macro ID" to identify individual +elements in the chain of expansions. This ID is [`ExpnId`]. All macros receive +an integer ID, assigned continuously starting from 0 as we discover new macro +calls. All hierarchies start at [`ExpnId::root`][rootid], which is its own +parent. + +The [`rustc_span::hygiene`][hy] crate contains all of the hygiene-related algorithms +(with the exception of some hacks in [`Resolver::resolve_crate_root`][hacks]) +and structures related to hygiene and expansion that are kept in global data. + +The actual hierarchies are stored in [`HygieneData`][hd]. This is a global +piece of data containing hygiene and expansion info that can be accessed from +any [`Ident`] without any context. + + +[`ExpnId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnId.html +[rootid]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnId.html#method.root +[hd]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.HygieneData.html +[hy]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/index.html +[hacks]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/struct.Resolver.html#method.resolve_crate_root +[`Ident`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/symbol/struct.Ident.html + +### The Expansion Order Hierarchy + +The first hierarchy tracks the order of expansions, i.e., when a macro +invocation is in the output of another macro. + +Here, the children in the hierarchy will be the "innermost" tokens. The +[`ExpnData`] struct itself contains a subset of properties from both macro +definition and macro call available through global data. +[`ExpnData::parent`][edp] tracks the child-to-parent link in this hierarchy. + +[`ExpnData`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnData.html +[edp]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnData.html#structfield.parent + +For example: + +```rust,ignore +macro_rules! foo { () => { println!(); } } + +fn main() { foo!(); } +``` + +In this code, the AST nodes that are finally generated would have hierarchy +`root -> id(foo) -> id(println)`. + +### The Macro Definition Hierarchy + +The second hierarchy tracks the order of macro definitions, i.e., when we are +expanding one macro another macro definition is revealed in its output. This +one is a bit tricky and more complex than the other two hierarchies. + +[`SyntaxContext`][sc] represents a whole chain in this hierarchy via an ID. +[`SyntaxContextData`][scd] contains data associated with the given +[`SyntaxContext`][sc]; mostly it is a cache for results of filtering that chain in +different ways. [`SyntaxContextData::parent`][scdp] is the child-to-parent +link here, and [`SyntaxContextData::outer_expns`][scdoe] are individual +elements in the chain. The "chaining-operator" is +[`SyntaxContext::apply_mark`][am] in compiler code. + +A [`Span`][span], mentioned above, is actually just a compact representation of +a code location and [`SyntaxContext`][sc]. Likewise, an [`Ident`] is just an interned +[`Symbol`] + `Span` (i.e. an interned string + hygiene data). + +[`Symbol`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/symbol/struct.Symbol.html +[scd]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContextData.html +[scdp]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContextData.html#structfield.parent +[sc]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContext.html +[scdoe]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContextData.html#structfield.outer_expn +[am]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContext.html#method.apply_mark + +For built-in macros, we use the context: +[`SyntaxContext::empty().apply_mark(expn_id)`], and such macros are +considered to be defined at the hierarchy root. We do the same for `proc +macro`s because we haven't implemented cross-crate hygiene yet. + +[`SyntaxContext::empty().apply_mark(expn_id)`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContext.html#method.apply_mark + +If the token had context `X` before being produced by a macro then after being +produced by the macro it has context `X -> macro_id`. Here are some examples: + +Example 0: + +```rust,ignore +macro m() { ident } + +m!(); +``` + +Here `ident` which initially has context [`SyntaxContext::root`][scr] has +context `ROOT -> id(m)` after it's produced by `m`. + +[scr]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.SyntaxContext.html#method.root + +Example 1: + +```rust,ignore +macro m() { macro n() { ident } } + +m!(); +n!(); +``` + +In this example the `ident` has context `ROOT` initially, then `ROOT -> id(m)` +after the first expansion, then `ROOT -> id(m) -> id(n)`. + +Example 2: + +Note that these chains are not entirely determined by their last element, in +other words [`ExpnId`] is not isomorphic to [`SyntaxContext`][sc]. + +```rust,ignore +macro m($i: ident) { macro n() { ($i, bar) } } + +m!(foo); +``` + +After all expansions, `foo` has context `ROOT -> id(n)` and `bar` has context +`ROOT -> id(m) -> id(n)`. + +Currently this hierarchy for tracking macro definitions is subject to the +so-called ["context transplantation hack"][hack]. Modern (i.e. experimental) +macros have stronger hygiene than the legacy "Macros By Example" (MBE) +system which can result in weird interactions between the two. The hack is +intended to make things "just work" for now. + +[`ExpnId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnId.html +[hack]: https://github.com/rust-lang/rust/pull/51762#issuecomment-401400732 + +### The Call-site Hierarchy + +The third and final hierarchy tracks the location of macro invocations. + +In this hierarchy [`ExpnData::call_site`][callsite] is the `child -> parent` +link. + +[callsite]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnData.html#structfield.call_site + +Here is an example: + +```rust,ignore +macro bar($i: ident) { $i } +macro foo($i: ident) { $i } + +foo!(bar!(baz)); +``` + +For the `baz` AST node in the final output, the expansion-order hierarchy is +`ROOT -> id(foo) -> id(bar) -> baz`, while the call-site hierarchy is `ROOT -> +baz`. + +### Macro Backtraces + +Macro backtraces are implemented in [`rustc_span`] using the hygiene machinery +in [`rustc_span::hygiene`][hy]. + +[`rustc_span`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/index.html + +## Producing Macro Output + +Above, we saw how the output of a macro is integrated into the AST for a crate, +and we also saw how the hygiene data for a crate is generated. But how do we +actually produce the output of a macro? It depends on the type of macro. + +There are two types of macros in Rust: + 1. `macro_rules!` macros (a.k.a. "Macros By Example" (MBE)), and, + 2. procedural macros (proc macros); including custom derives. + +During the parsing phase, the normal Rust parser will set aside the contents of +macros and their invocations. Later, macros are expanded using these +portions of the code. + +Some important data structures/interfaces here: +- [`SyntaxExtension`] - a lowered macro representation, contains its expander + function, which transforms a [`TokenStream`] or AST into another + [`TokenStream`] or AST + some additional data like stability, or a list of + unstable features allowed inside the macro. +- [`SyntaxExtensionKind`] - expander functions may have several different + signatures (take one token stream, or two, or a piece of AST, etc). This is + an `enum` that lists them. +- [`BangProcMacro`]/[`TTMacroExpander`]/[`AttrProcMacro`]/[`MultiItemModifier`] - + `trait`s representing the expander function signatures. + +[`SyntaxExtension`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/struct.SyntaxExtension.html +[`SyntaxExtensionKind`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/enum.SyntaxExtensionKind.html +[`BangProcMacro`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/trait.BangProcMacro.html +[`TTMacroExpander`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/trait.TTMacroExpander.html +[`AttrProcMacro`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/trait.AttrProcMacro.html +[`MultiItemModifier`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/trait.MultiItemModifier.html + +## Macros By Example + +MBEs have their own parser distinct from the Rust parser. When macros are +expanded, we may invoke the MBE parser to parse and expand a macro. The +MBE parser, in turn, may call the Rust parser when it needs to bind a +metavariable (e.g. `$my_expr`) while parsing the contents of a macro +invocation. The code for macro expansion is in +[`compiler/rustc_expand/src/mbe/`][code_dir]. + +### Example + +```rust,ignore +macro_rules! printer { + (print $mvar:ident) => { + println!("{}", $mvar); + }; + (print twice $mvar:ident) => { + println!("{}", $mvar); + println!("{}", $mvar); + }; +} +``` + +Here `$mvar` is called a _metavariable_. Unlike normal variables, rather than +binding to a value _at runtime_, a metavariable binds _at compile time_ to a +tree of _tokens_. A _token_ is a single "unit" of the grammar, such as an +identifier (e.g. `foo`) or punctuation (e.g. `=>`). There are also other +special tokens, such as `EOF`, which its self indicates that there are no more +tokens. There are token trees resulting from the paired parentheses-like +characters (`(`...`)`, `[`...`]`, and `{`...`}`) – they include the open and +close and all the tokens in between (Rust requires that parentheses-like +characters be balanced). Having macro expansion operate on token streams +rather than the raw bytes of a source-file abstracts away a lot of complexity. +The macro expander (and much of the rest of the compiler) doesn't consider +the exact line and column of some syntactic construct in the code; it considers +which constructs are used in the code. Using tokens allows us to care about +_what_ without worrying about _where_. For more information about tokens, see +the [Parsing][parsing] chapter of this book. + +```rust,ignore +printer!(print foo); // `foo` is a variable +``` + +The process of expanding the macro invocation into the syntax tree +`println!("{}", foo)` and then expanding the syntax tree into a call to +`Display::fmt` is one common example of _macro expansion_. + +### The MBE parser + +There are two parts to MBE expansion done by the macro parser: + 1. parsing the definition, and, + 2. parsing the invocations. + +We think of the MBE parser as a nondeterministic finite automaton (NFA) based +regex parser since it uses an algorithm similar in spirit to the [Earley +parsing algorithm](https://en.wikipedia.org/wiki/Earley_parser). The macro +parser is defined in +[`compiler/rustc_expand/src/mbe/macro_parser.rs`][code_mp]. + +The interface of the macro parser is as follows (this is slightly simplified): + +```rust,ignore +fn parse_tt( + &mut self, + parser: &mut Cow<'_, Parser<'_>>, + matcher: &[MatcherLoc] +) -> ParseResult +``` + +We use these items in macro parser: + +- a `parser` variable is a reference to the state of a normal Rust parser, + including the token stream and parsing session. The token stream is what we + are about to ask the MBE parser to parse. We will consume the raw stream of + tokens and output a binding of metavariables to corresponding token trees. + The parsing session can be used to report parser errors. +- a `matcher` variable is a sequence of [`MatcherLoc`]s that we want to match + the token stream against. They're converted from token trees before matching. + +[`MatcherLoc`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/mbe/macro_parser/enum.MatcherLoc.html + +In the analogy of a regex parser, the token stream is the input and we are +matching it against the pattern defined by matcher. Using our examples, the +token stream could be the stream of tokens containing the inside of the example +invocation `print foo`, while matcher might be the sequence of token (trees) +`print $mvar:ident`. + +The output of the parser is a [`ParseResult`], which indicates which of +three cases has occurred: + +- **Success**: the token stream matches the given matcher and we have produced a + binding from metavariables to the corresponding token trees. +- **Failure**: the token stream does not match matcher and results in an error + message such as "No rule expected token ...". +- **Error**: some fatal error has occurred _in the parser_. For example, this + happens if there is more than one pattern match, since that indicates the + macro is ambiguous. + +The full interface is defined [here][code_parse_int]. + +The macro parser does pretty much exactly the same as a normal regex parser +with one exception: in order to parse different types of metavariables, such as +`ident`, `block`, `expr`, etc., the macro parser must call back to the normal +Rust parser. Both the definition and invocation of macros are parsed using +the parser in a process which is non-intuitively self-referential. + +The code to parse macro _definitions_ is in +[`compiler/rustc_expand/src/mbe/macro_rules.rs`][code_mr]. It defines the +pattern for matching a macro definition as `$( $lhs:tt => $rhs:tt );+`. In +other words, a `macro_rules` definition should have in its body at least one +occurrence of a token tree followed by `=>` followed by another token tree. +When the compiler comes to a `macro_rules` definition, it uses this pattern to +match the two token trees per the rules of the definition of the macro, _thereby +utilizing the macro parser itself_. In our example definition, the +metavariable `$lhs` would match the patterns of both arms: `(print +$mvar:ident)` and `(print twice $mvar:ident)`. And `$rhs` would match the +bodies of both arms: `{ println!("{}", $mvar); }` and `{ println!("{}", $mvar); +println!("{}", $mvar); }`. The parser keeps this knowledge around for when it +needs to expand a macro invocation. + +When the compiler comes to a macro invocation, it parses that invocation using +a NFA-based macro parser described above. However, the matcher variable +used is the first token tree (`$lhs`) extracted from the arms of the macro +_definition_. Using our example, we would try to match the token stream `print +foo` from the invocation against the matchers `print $mvar:ident` and `print +twice $mvar:ident` that we previously extracted from the definition. The +algorithm is exactly the same, but when the macro parser comes to a place in the +current matcher where it needs to match a _non-terminal_ (e.g. `$mvar:ident`), +it calls back to the normal Rust parser to get the contents of that +non-terminal. In this case, the Rust parser would look for an `ident` token, +which it finds (`foo`) and returns to the macro parser. Then, the macro parser +proceeds in parsing as normal. Also, note that exactly one of the matchers from +the various arms should match the invocation; if there is more than one match, +the parse is ambiguous, while if there are no matches at all, there is a syntax +error. + +For more information about the macro parser's implementation, see the comments +in [`compiler/rustc_expand/src/mbe/macro_parser.rs`][code_mp]. + +## Procedural Macros + +Procedural macros are also expanded during parsing. However, rather than +having a parser in the compiler, proc macros are implemented as custom, +third-party crates. The compiler will compile the proc macro crate and +specially annotated functions in them (i.e. the proc macro itself), passing +them a stream of tokens. A proc macro can then transform the token stream and +output a new token stream, which is synthesized into the AST. + +The token stream type used by proc macros is _stable_, so `rustc` does not +use it internally. The compiler's (unstable) token stream is defined in +[`rustc_ast::tokenstream::TokenStream`][rustcts]. This is converted into the +stable [`proc_macro::TokenStream`][stablets] and back in +[`rustc_expand::proc_macro`][pm] and [`rustc_expand::proc_macro_server`][pms]. +Since the Rust ABI is currently unstable, we use the C ABI for this conversion. + +[tsmod]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/tokenstream/index.html +[rustcts]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/tokenstream/struct.TokenStream.html +[stablets]: https://doc.rust-lang.org/proc_macro/struct.TokenStream.html +[pm]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/proc_macro/index.html +[pms]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/proc_macro_server/index.html +[`ParseResult`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/mbe/macro_parser/enum.ParseResult.html + + + +### Custom Derive + +Custom derives are a special type of proc macro. + +### Macros By Example and Macros 2.0 + +There is an legacy and mostly undocumented effort to improve the MBE system +by giving it more hygiene-related features, better scoping and visibility +rules, etc. Internally this uses the same machinery as today's MBEs with some +additional syntactic sugar and are allowed to be in namespaces. + + diff --git a/src/doc/rustc-dev-guide/src/memory.md b/src/doc/rustc-dev-guide/src/memory.md new file mode 100644 index 000000000000..1e030ff45a78 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/memory.md @@ -0,0 +1,106 @@ +# Memory Management in Rustc + +Generally rustc tries to be pretty careful how it manages memory. +The compiler allocates _a lot_ of data structures throughout compilation, +and if we are not careful, it will take a lot of time and space to do so. + +One of the main way the compiler manages this is using [arena]s and [interning]. + +[arena]: https://en.wikipedia.org/wiki/Region-based_memory_management +[interning]: https://en.wikipedia.org/wiki/String_interning + +## Arenas and Interning + +Since A LOT of data structures are created during compilation, for performance +reasons, we allocate them from a global memory pool. +Each are allocated once from a long-lived *arena*. +This is called _arena allocation_. +This system reduces allocations/deallocations of memory. +It also allows for easy comparison of types (more on types [here](./ty.md)) for equality: +for each interned type `X`, we implemented [`PartialEq` for X][peqimpl], +so we can just compare pointers. +The [`CtxtInterners`] type contains a bunch of maps of interned types and the arena itself. + +[`CtxtInterners`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.CtxtInterners.html#structfield.arena +[peqimpl]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Ty.html#implementations + +### Example: `ty::TyKind` + +Taking the example of [`ty::TyKind`] which represents a type in the compiler (you +can read more [here](./ty.md)). Each time we want to construct a type, the +compiler doesn’t naively allocate from the buffer. Instead, we check if that +type was already constructed. If it was, we just get the same pointer we had +before, otherwise we make a fresh pointer. With this schema if we want to know +if two types are the same, all we need to do is compare the pointers which is +efficient. [`ty::TyKind`] should never be constructed on the stack, and it would be unusable +if done so. +You always allocate them from this arena and you always intern them so they are +unique. + +At the beginning of the compilation we make a buffer and each time we need to allocate a type we use +some of this memory buffer. If we run out of space we get another one. The lifetime of that buffer +is `'tcx`. Our types are tied to that lifetime, so when compilation finishes all the memory related +to that buffer is freed and our `'tcx` references would be invalid. + +In addition to types, there are a number of other arena-allocated data structures that you can +allocate, and which are found in this module. Here are a few examples: + +- [`GenericArgs`], allocated with [`mk_args`] – this will intern a slice of types, often used +to specify the values to be substituted for generics args (e.g. `HashMap` would be +represented as a slice `&'tcx [tcx.types.i32, tcx.types.u32]`). +- [`TraitRef`], typically passed by value – a **trait reference** consists of a reference to a trait + along with its various type parameters (including `Self`), like `i32: Display` (here, the def-id + would reference the `Display` trait, and the args would contain `i32`). Note that `def-id` is + defined and discussed in depth in the [`AdtDef and DefId`][adtdefid] section. +- [`Predicate`] defines something the trait system has to prove (see [traits] module). + +[`GenericArgs`]: ./ty_module/generic_arguments.md#the-genericargs-type +[adtdefid]: ./ty_module/generic_arguments.md#adtdef-and-defid +[`TraitRef`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/type.TraitRef.html +[`AdtDef` and `DefId`]: ./ty.md#adts-representation +[`def-id`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.DefId.html +[`GenericArgs`]: ./generic_arguments.html#GenericArgs +[`mk_args`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.mk_args +[adtdefid]: ./ty_module/generic_arguments.md#adtdef-and-defid +[`Predicate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Predicate.html +[`TraitRef`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TraitRef.html +[`ty::TyKind`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/sty/type.TyKind.html +[traits]: ./traits/resolution.md + +## The `tcx` and how it uses lifetimes + +The typing context (`tcx`) is the central data structure in the compiler. It is the context that +you use to perform all manner of queries. The `struct` [`TyCtxt`] defines a reference to this shared +context: + +```rust,ignore +tcx: TyCtxt<'tcx> +// ---- +// | +// arena lifetime +``` + +As you can see, the `TyCtxt` type takes a lifetime parameter. When you see a reference with a +lifetime like `'tcx`, you know that it refers to arena-allocated data (or data that lives as long as +the arenas, anyhow). + +[`TyCtxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html + +### A Note On Lifetimes + +The Rust compiler is a fairly large program containing lots of big data +structures (e.g. the [Abstract Syntax Tree (AST)][ast], [High-Level Intermediate +Representation (`HIR`)][hir], and the type system) and as such, arenas and +references are heavily relied upon to minimize unnecessary memory use. This +manifests itself in the way people can plug into the compiler (i.e. the +[driver](./rustc-driver/intro.md)), preferring a "push"-style API (callbacks) instead +of the more Rust-ic "pull" style (think the `Iterator` trait). + +Thread-local storage and interning are used a lot through the compiler to reduce +duplication while also preventing a lot of the ergonomic issues due to many +pervasive lifetimes. The [`rustc_middle::ty::tls`][tls] module is used to access these +thread-locals, although you should rarely need to touch it. + +[ast]: ./ast-validation.md +[hir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/index.html +[tls]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/tls/index.html diff --git a/src/doc/rustc-dev-guide/src/method-lookup.md b/src/doc/rustc-dev-guide/src/method-lookup.md new file mode 100644 index 000000000000..8b49e8d004b1 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/method-lookup.md @@ -0,0 +1,113 @@ +# Method lookup + +Method lookup can be rather complex due to the interaction of a number +of factors, such as self types, autoderef, trait lookup, etc. This +file provides an overview of the process. More detailed notes are in +the code itself, naturally. + +One way to think of method lookup is that we convert an expression of +the form `receiver.method(...)` into a more explicit [fully-qualified syntax][] +(formerly called [UFCS][]): + +- `Trait::method(ADJ(receiver), ...)` for a trait call +- `ReceiverType::method(ADJ(receiver), ...)` for an inherent method call + +Here `ADJ` is some kind of adjustment, which is typically a series of +autoderefs and then possibly an autoref (e.g., `&**receiver`). However +we sometimes do other adjustments and coercions along the way, in +particular unsizing (e.g., converting from `[T; n]` to `[T]`). + +Method lookup is divided into two major phases: + +1. Probing ([`probe.rs`][probe]). The probe phase is when we decide what method + to call and how to adjust the receiver. +2. Confirmation ([`confirm.rs`][confirm]). The confirmation phase "applies" + this selection, updating the side-tables, unifying type variables, and + otherwise doing side-effectful things. + +One reason for this division is to be more amenable to caching. The +probe phase produces a "pick" (`probe::Pick`), which is designed to be +cacheable across method-call sites. Therefore, it does not include +inference variables or other information. + +[fully-qualified syntax]: https://doc.rust-lang.org/nightly/book/ch19-03-advanced-traits.html#fully-qualified-syntax-for-disambiguation-calling-methods-with-the-same-name +[UFCS]: https://github.com/rust-lang/rfcs/blob/master/text/0132-ufcs.md +[probe]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/method/probe/ +[confirm]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/method/confirm/ + +## The Probe phase + +### Steps + +The first thing that the probe phase does is to create a series of +*steps*. This is done by progressively dereferencing the receiver type +until it cannot be deref'd anymore, as well as applying an optional +"unsize" step. So if the receiver has type `Rc>`, this +might yield: + +1. `Rc>` +2. `Box<[T; 3]>` +3. `[T; 3]` +4. `[T]` + +### Candidate assembly + +We then search along those steps to create a list of *candidates*. A +`Candidate` is a method item that might plausibly be the method being +invoked. For each candidate, we'll derive a "transformed self type" +that takes into account explicit self. + +Candidates are grouped into two kinds, inherent and extension. + +**Inherent candidates** are those that are derived from the +type of the receiver itself. So, if you have a receiver of some +nominal type `Foo` (e.g., a struct), any methods defined within an +impl like `impl Foo` are inherent methods. Nothing needs to be +imported to use an inherent method, they are associated with the type +itself (note that inherent impls can only be defined in the same +crate as the type itself). + +FIXME: Inherent candidates are not always derived from impls. If you +have a trait object, such as a value of type `Box`, then the +trait methods (`to_string()`, in this case) are inherently associated +with it. Another case is type parameters, in which case the methods of +their bounds are inherent. However, this part of the rules is subject +to change: when DST's "impl Trait for Trait" is complete, trait object +dispatch could be subsumed into trait matching, and the type parameter +behavior should be reconsidered in light of where clauses. + +TODO: Is this FIXME still accurate? + +**Extension candidates** are derived from imported traits. If I have +the trait `ToString` imported, and I call `to_string()` as a method, +then we will list the `to_string()` definition in each impl of +`ToString` as a candidate. These kinds of method calls are called +"extension methods". + +So, let's continue our example. Imagine that we were calling a method +`foo` with the receiver `Rc>` and there is a trait `Foo` +that defines it with `&self` for the type `Rc` as well as a method +on the type `Box` that defines `foo` but with `&mut self`. Then we +might have two candidates: + +- `&Rc` as an extension candidate +- `&mut Box` as an inherent candidate + +### Candidate search + +Finally, to actually pick the method, we will search down the steps, +trying to match the receiver type against the candidate types. At +each step, we also consider an auto-ref and auto-mut-ref to see whether +that makes any of the candidates match. For each resulting receiver +type, we consider inherent candidates before extension candidates. +If there are multiple matching candidates in a group, we report an +error, except that multiple impls of the same trait are treated as a +single match. Otherwise we pick the first match we find. + +In the case of our example, the first step is `Rc>`, +which does not itself match any candidate. But when we autoref it, we +get the type `&Rc>` which matches `&Rc`. We would then +recursively consider all where-clauses that appear on the impl: if +those match (or we cannot rule out that they do), then this is the +method we would pick. Otherwise, we would continue down the series of +steps. diff --git a/src/doc/rustc-dev-guide/src/mir/construction.md b/src/doc/rustc-dev-guide/src/mir/construction.md new file mode 100644 index 000000000000..f2559a22b955 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/construction.md @@ -0,0 +1,148 @@ +# MIR construction + + + +The lowering of [HIR] to [MIR] occurs for the following (probably incomplete) +list of items: + +* Function and closure bodies +* Initializers of `static` and `const` items +* Initializers of enum discriminants +* Glue and shims of any kind + * Tuple struct initializer functions + * Drop code (the `Drop::drop` function is not called directly) + * Drop implementations of types without an explicit `Drop` implementation + +The lowering is triggered by calling the [`mir_built`] query. The MIR builder does +not actually use the HIR but operates on the [THIR] instead, processing THIR +expressions recursively. + +The lowering creates local variables for every argument as specified in the signature. +Next, it creates local variables for every binding specified (e.g. `(a, b): (i32, String)`) +produces 3 bindings, one for the argument, and two for the bindings. Next, it generates +field accesses that read the fields from the argument and writes the value to the binding +variable. + +With this initialization out of the way, the lowering triggers a recursive call +to a function that generates the MIR for the body (a `Block` expression) and +writes the result into the `RETURN_PLACE`. + +## `unpack!` all the things + +Functions that generate MIR tend to fall into one of two patterns. +First, if the function generates only statements, then it will take a +basic block as argument onto which those statements should be appended. +It can then return a result as normal: + +```rust,ignore +fn generate_some_mir(&mut self, block: BasicBlock) -> ResultType { + ... +} +``` + +But there are other functions that may generate new basic blocks as well. +For example, lowering an expression like `if foo { 22 } else { 44 }` +requires generating a small "diamond-shaped graph". +In this case, the functions take a basic block where their code starts +and return a (potentially) new basic block where the code generation ends. +The `BlockAnd` type is used to represent this: + +```rust,ignore +fn generate_more_mir(&mut self, block: BasicBlock) -> BlockAnd { + ... +} +``` + +When you invoke these functions, it is common to have a local variable `block` +that is effectively a "cursor". It represents the point at which we are adding new MIR. +When you invoke `generate_more_mir`, you want to update this cursor. +You can do this manually, but it's tedious: + +```rust,ignore +let mut block; +let v = match self.generate_more_mir(..) { + BlockAnd { block: new_block, value: v } => { + block = new_block; + v + } +}; +``` + +For this reason, we offer a macro that lets you write +`let v = unpack!(block = self.generate_more_mir(...))`. +It simply extracts the new block and overwrites the +variable `block` that you named in the `unpack!`. + +## Lowering expressions into the desired MIR + +There are essentially four kinds of representations one might want of an expression: + +* `Place` refers to a (or part of a) preexisting memory location (local, static, promoted) +* `Rvalue` is something that can be assigned to a `Place` +* `Operand` is an argument to e.g. a `+` operation or a function call +* a temporary variable containing a copy of the value + +The following image depicts a general overview of the interactions between the +representations: + + + +[Click here for a more detailed view](mir_detailed.svg) + +We start out with lowering the function body to an `Rvalue` so we can create an +assignment to `RETURN_PLACE`, This `Rvalue` lowering will in turn trigger lowering to +`Operand` for its arguments (if any). `Operand` lowering either produces a `const` +operand, or moves/copies out of a `Place`, thus triggering a `Place` lowering. An +expression being lowered to a `Place` can in turn trigger a temporary to be created +if the expression being lowered contains operations. This is where the snake bites its +own tail and we need to trigger an `Rvalue` lowering for the expression to be written +into the local. + +## Operator lowering + +Operators on builtin types are not lowered to function calls (which would end up being +infinite recursion calls, because the trait impls just contain the operation itself +again). Instead there are `Rvalue`s for binary and unary operators and index operations. +These `Rvalue`s later get codegened to llvm primitive operations or llvm intrinsics. + +Operators on all other types get lowered to a function call to their `impl` of the +operator's corresponding trait. + +Regardless of the lowering kind, the arguments to the operator are lowered to `Operand`s. +This means all arguments are either constants, or refer to an already existing value +somewhere in a local or static. + +## Method call lowering + +Method calls are lowered to the same `TerminatorKind` that function calls are. +In [MIR] there is no difference between method calls and function calls anymore. + +## Conditions + +`if` conditions and `match` statements for `enum`s with variants that have no fields are +lowered to `TerminatorKind::SwitchInt`. Each possible value (so `0` and `1` for `if` +conditions) has a corresponding `BasicBlock` to which the code continues. +The argument being branched on is (again) an `Operand` representing the value of +the if condition. + +### Pattern matching + +`match` statements for `enum`s with variants that have fields are lowered to +`TerminatorKind::SwitchInt`, too, but the `Operand` refers to a `Place` where the +discriminant of the value can be found. This often involves reading the discriminant +to a new temporary variable. + +## Aggregate construction + +Aggregate values of any kind (e.g. structs or tuples) are built via `Rvalue::Aggregate`. +All fields are +lowered to `Operator`s. This is essentially equivalent to one assignment +statement per aggregate field plus an assignment to the discriminant in the +case of `enum`s. + +[MIR]: ./index.html +[HIR]: ../hir.html +[THIR]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_build/thir/index.html + +[`rustc_mir_build::thir::cx::expr`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_build/thir/cx/expr/index.html +[`mir_built`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/fn.mir_built.html diff --git a/src/doc/rustc-dev-guide/src/mir/dataflow.md b/src/doc/rustc-dev-guide/src/mir/dataflow.md new file mode 100644 index 000000000000..f31da5ca22ee --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/dataflow.md @@ -0,0 +1,195 @@ +# Dataflow Analysis + + + +If you work on the MIR, you will frequently come across various flavors of +[dataflow analysis][wiki]. `rustc` uses dataflow to find uninitialized +variables, determine what variables are live across a generator `yield` +statement, and compute which `Place`s are borrowed at a given point in the +control-flow graph. Dataflow analysis is a fundamental concept in modern +compilers, and knowledge of the subject will be helpful to prospective +contributors. + +However, this documentation is not a general introduction to dataflow analysis. +It is merely a description of the framework used to define these analyses in +`rustc`. It assumes that the reader is familiar with the core ideas as well as +some basic terminology, such as "transfer function", "fixpoint" and "lattice". +If you're unfamiliar with these terms, or if you want a quick refresher, +[*Static Program Analysis*] by Anders Møller and Michael I. Schwartzbach is an +excellent, freely available textbook. For those who prefer audiovisual +learning, we previously recommended a series of short lectures +by the Goethe University Frankfurt on YouTube, but it has since been deleted. +See [this PR][pr-1295] for the context and [this comment][pr-1295-comment] +for the alternative lectures. + +## Defining a Dataflow Analysis + +A dataflow analysis is defined by the [`Analysis`] trait. In addition to the +type of the dataflow state, this trait defines the initial value of that state +at entry to each block, as well as the direction of the analysis, either +forward or backward. The domain of your dataflow analysis must be a [lattice][] +(strictly speaking a join-semilattice) with a well-behaved `join` operator. See +documentation for the [`lattice`] module, as well as the [`JoinSemiLattice`] +trait, for more information. + +### Transfer Functions and Effects + +The dataflow framework in `rustc` allows each statement (and terminator) inside +a basic block to define its own transfer function. For brevity, these +individual transfer functions are known as "effects". Each effect is applied +successively in dataflow order, and together they define the transfer function +for the entire basic block. It's also possible to define an effect for +particular outgoing edges of some terminators (e.g. +[`apply_call_return_effect`] for the `success` edge of a `Call` +terminator). Collectively, these are referred to as "per-edge effects". + +### "Before" Effects + +Observant readers of the documentation may notice that there are actually *two* +possible effects for each statement and terminator, the "before" effect and the +unprefixed (or "primary") effect. The "before" effects are applied immediately +before the unprefixed effect **regardless of the direction of the analysis**. +In other words, a backward analysis will apply the "before" effect and then the +"primary" effect when computing the transfer function for a basic block, just +like a forward analysis. + +The vast majority of analyses should use only the unprefixed effects: Having +multiple effects for each statement makes it difficult for consumers to know +where they should be looking. However, the "before" variants can be useful in +some scenarios, such as when the effect of the right-hand side of an assignment +statement must be considered separately from the left-hand side. + +### Convergence + +Your analysis must converge to "fixpoint", otherwise it will run forever. +Converging to fixpoint is just another way of saying "reaching equilibrium". +In order to reach equilibrium, your analysis must obey some laws. One of the +laws it must obey is that the bottom value[^bottom-purpose] joined with some +other value equals the second value. Or, as an equation: + +> *bottom* join *x* = *x* + +Another law is that your analysis must have a "top value" such that + +> *top* join *x* = *top* + +Having a top value ensures that your semilattice has a finite height, and the +law state above ensures that once the dataflow state reaches top, it will no +longer change (the fixpoint will be top). + +[^bottom-purpose]: The bottom value's primary purpose is as the initial dataflow + state. Each basic block's entry state is initialized to bottom before the + analysis starts. + +## A Brief Example + +This section provides a brief example of a simple data-flow analysis at a high +level. It doesn't explain everything you need to know, but hopefully it will +make the rest of this page clearer. + +Let's say we want to do a simple analysis to find if `mem::transmute` may have +been called by a certain point in the program. Our analysis domain will just +be a `bool` that records whether `transmute` has been called so far. The bottom +value will be `false`, since by default `transmute` has not been called. The top +value will be `true`, since our analysis is done as soon as we determine that +`transmute` has been called. Our join operator will just be the boolean OR (`||`) +operator. We use OR and not AND because of this case: + +```rust +# unsafe fn example(some_cond: bool) { +let x = if some_cond { + std::mem::transmute::(0_i32) // transmute was called! +} else { + 1_u32 // transmute was not called +}; + +// Has transmute been called by this point? We conservatively approximate that +// as yes, and that is why we use the OR operator. +println!("x: {}", x); +# } +``` + +## Inspecting the Results of a Dataflow Analysis + +Once you have constructed an analysis, you must call `iterate_to_fixpoint` +which will return a `Results`, which contains the dataflow state at fixpoint +upon entry of each block. Once you have a `Results`, you can inspect the +dataflow state at fixpoint at any point in the CFG. If you only need the state +at a few locations (e.g., each `Drop` terminator) use a [`ResultsCursor`]. If +you need the state at *every* location, a [`ResultsVisitor`] will be more +efficient. + +```text + Analysis + | + | iterate_to_fixpoint() + | + Results + / \ + into_results_cursor(…) / \ visit_with(…) + / \ + ResultsCursor ResultsVisitor +``` + +For example, the following code uses a [`ResultsVisitor`]... + + +```rust,ignore +// Assuming `MyVisitor` implements `ResultsVisitor`... +let mut my_visitor = MyVisitor::new(); + +// inspect the fixpoint state for every location within every block in RPO. +let results = MyAnalysis::new() + .iterate_to_fixpoint(tcx, body, None); +results.visit_with(body, &mut my_visitor);` +``` + +whereas this code uses [`ResultsCursor`]: + +```rust,ignore +let mut results = MyAnalysis::new() + .into_engine(tcx, body, def_id) + .iterate_to_fixpoint() + .into_results_cursor(body); + +// Inspect the fixpoint state immediately before each `Drop` terminator. +for (bb, block) in body.basic_blocks().iter_enumerated() { + if let TerminatorKind::Drop { .. } = block.terminator().kind { + results.seek_before_primary_effect(body.terminator_loc(bb)); + let state = results.get(); + println!("state before drop: {:#?}", state); + } +} +``` + +### Graphviz Diagrams + +When the results of a dataflow analysis are not what you expect, it often helps +to visualize them. This can be done with the `-Z dump-mir` flags described in +[Debugging MIR]. Start with `-Z dump-mir=F -Z dump-mir-dataflow`, where `F` is +either "all" or the name of the MIR body you are interested in. + +These `.dot` files will be saved in your `mir_dump` directory and will have the +[`NAME`] of the analysis (e.g. `maybe_inits`) as part of their filename. Each +visualization will display the full dataflow state at entry and exit of each +block, as well as any changes that occur in each statement and terminator. See +the example below: + +![A graphviz diagram for a dataflow analysis](../img/dataflow-graphviz-example.png) + +["gen-kill" problems]: https://en.wikipedia.org/wiki/Data-flow_analysis#Bit_vector_problems +[*Static Program Analysis*]: https://cs.au.dk/~amoeller/spa/ +[Debugging MIR]: ./debugging.md +[`Analysis`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/trait.Analysis.html +[`GenKillAnalysis`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/trait.GenKillAnalysis.html +[`JoinSemiLattice`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/lattice/trait.JoinSemiLattice.html +[`NAME`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/trait.Analysis.html#associatedconstant.NAME +[`ResultsCursor`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/struct.ResultsCursor.html +[`ResultsVisitor`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/trait.ResultsVisitor.html +[`apply_call_return_effect`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/trait.Analysis.html#tymethod.apply_call_return_effect +[`into_engine`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/trait.Analysis.html#method.into_engine +[`lattice`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/lattice/index.html +[pr-1295]: https://github.com/rust-lang/rustc-dev-guide/pull/1295 +[pr-1295-comment]: https://github.com/rust-lang/rustc-dev-guide/pull/1295#issuecomment-1118131294 +[lattice]: https://en.wikipedia.org/wiki/Lattice_(order) +[wiki]: https://en.wikipedia.org/wiki/Data-flow_analysis#Basic_principles diff --git a/src/doc/rustc-dev-guide/src/mir/debugging.md b/src/doc/rustc-dev-guide/src/mir/debugging.md new file mode 100644 index 000000000000..eec2737a423c --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/debugging.md @@ -0,0 +1,93 @@ +# MIR Debugging + +The `-Z dump-mir` flag can be used to dump a text representation of the MIR. +The following optional flags, used in combination with `-Z dump-mir`, enable +additional output formats, including: + +* `-Z dump-mir-graphviz` - dumps a `.dot` file that represents MIR as a +control-flow graph +* `-Z dump-mir-dataflow` - dumps a `.dot` file showing the [dataflow state] at + each point in the control-flow graph + +`-Z dump-mir=F` is a handy compiler option that will let you view the MIR for +each function at each stage of compilation. `-Z dump-mir` takes a **filter** `F` +which allows you to control which functions and which passes you are +interested in. For example: + +```bash +> rustc -Z dump-mir=foo ... +``` + +This will dump the MIR for any function whose name contains `foo`; it +will dump the MIR both before and after every pass. Those files will +be created in the `mir_dump` directory. There will likely be quite a +lot of them! + +```bash +> cat > foo.rs +fn main() { + println!("Hello, world!"); +} +^D +> rustc -Z dump-mir=main foo.rs +> ls mir_dump/* | wc -l + 161 +``` + +The files have names like `rustc.main.000-000.CleanEndRegions.after.mir`. These +names have a number of parts: + +```text +rustc.main.000-000.CleanEndRegions.after.mir + ---- --- --- --------------- ----- either before or after + | | | name of the pass + | | index of dump within the pass (usually 0, but some passes dump intermediate states) + | index of the pass + def-path to the function etc being dumped +``` + +You can also make more selective filters. For example, `main & CleanEndRegions` +will select for things that reference *both* `main` and the pass +`CleanEndRegions`: + +```bash +> rustc -Z dump-mir='main & CleanEndRegions' foo.rs +> ls mir_dump +rustc.main.000-000.CleanEndRegions.after.mir rustc.main.000-000.CleanEndRegions.before.mir +``` + +Filters can also have `|` parts to combine multiple sets of +`&`-filters. For example `main & CleanEndRegions | main & +NoLandingPads` will select *either* `main` and `CleanEndRegions` *or* +`main` and `NoLandingPads`: + +```bash +> rustc -Z dump-mir='main & CleanEndRegions | main & NoLandingPads' foo.rs +> ls mir_dump +rustc.main-promoted[0].002-000.NoLandingPads.after.mir +rustc.main-promoted[0].002-000.NoLandingPads.before.mir +rustc.main-promoted[0].002-006.NoLandingPads.after.mir +rustc.main-promoted[0].002-006.NoLandingPads.before.mir +rustc.main-promoted[1].002-000.NoLandingPads.after.mir +rustc.main-promoted[1].002-000.NoLandingPads.before.mir +rustc.main-promoted[1].002-006.NoLandingPads.after.mir +rustc.main-promoted[1].002-006.NoLandingPads.before.mir +rustc.main.000-000.CleanEndRegions.after.mir +rustc.main.000-000.CleanEndRegions.before.mir +rustc.main.002-000.NoLandingPads.after.mir +rustc.main.002-000.NoLandingPads.before.mir +rustc.main.002-006.NoLandingPads.after.mir +rustc.main.002-006.NoLandingPads.before.mir +``` + +(Here, the `main-promoted[0]` files refer to the MIR for "promoted constants" +that appeared within the `main` function.) + +The `-Z unpretty=mir-cfg` flag can be used to create a graphviz MIR +control-flow diagram for the whole crate: + +![A control-flow diagram](mir_cfg.svg) + +TODO: anything else? + +[dataflow state]: ./dataflow.html#graphviz-diagrams diff --git a/src/doc/rustc-dev-guide/src/mir/drop-elaboration.md b/src/doc/rustc-dev-guide/src/mir/drop-elaboration.md new file mode 100644 index 000000000000..3b321fd44d1d --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/drop-elaboration.md @@ -0,0 +1,195 @@ +# Drop elaboration + + + +## Dynamic drops + +According to the [reference][reference-drop]: + +> When an initialized variable or temporary goes out of scope, its destructor +> is run, or it is dropped. Assignment also runs the destructor of its +> left-hand operand, if it's initialized. If a variable has been partially +> initialized, only its initialized fields are dropped. + +When building the MIR, the `Drop` and `DropAndReplace` terminators represent +places where drops may occur. However, in this phase, the presence of these +terminators does not guarantee that a destructor will run. That's because the +target of a drop may be uninitialized (usually because it has been moved from) +before the terminator is reached. In general, we cannot know at compile-time whether a +variable is initialized. + +```rust +let mut y = vec![]; + +{ + let x = vec![1, 2, 3]; + if std::process::id() % 2 == 0 { + y = x; // conditionally move `x` into `y` + } +} // `x` goes out of scope here. Should it be dropped? +``` + +In these cases, we need to keep track of whether a variable is initialized +*dynamically*. The rules are laid out in detail in [RFC 320: Non-zeroing +dynamic drops][RFC 320]. + +## Drop obligations + +From the RFC: + +> When a local variable becomes initialized, it establishes a set of "drop +> obligations": a set of structural paths (e.g. a local `a`, or a path to a +> field `b.f.y`) that need to be dropped. +> +> The drop obligations for a local variable x of struct-type `T` are computed +> from analyzing the structure of `T`. If `T` itself implements `Drop`, then `x` is a +> drop obligation. If `T` does not implement `Drop`, then the set of drop +> obligations is the union of the drop obligations of the fields of `T`. + +When a structural path is moved from (and thus becomes uninitialized), any drop +obligations for that path or its descendants (`path.f`, `path.f.g.h`, etc.) are +released. Types with `Drop` implementations do not permit moves from individual +fields, so there is no need to track initializedness through them. + +When a local variable goes out of scope (`Drop`), or when a structural path is +overwritten via assignment (`DropAndReplace`), we check for any drop +obligations for that variable or path. Unless that obligation has been +released by this point, its associated `Drop` implementation will be called. +For `enum` types, only fields corresponding to the "active" variant need to be +dropped. When processing drop obligations for such types, we first check the +discriminant to determine the active variant. All drop obligations for variants +besides the active one are ignored. + +Here are a few interesting types to help illustrate these rules: + +```rust +struct NoDrop(u8); // No `Drop` impl. No fields with `Drop` impls. + +struct NeedsDrop(Vec); // No `Drop` impl but has fields with `Drop` impls. + +struct ThinVec(*const u8); // Custom `Drop` impl. Individual fields cannot be moved from. + +impl Drop for ThinVec { + fn drop(&mut self) { /* ... */ } +} + +enum MaybeDrop { + Yes(NeedsDrop), + No(NoDrop), +} +``` + +## Drop elaboration + +One valid model for these rules is to keep a boolean flag (a "drop flag") for +every structural path that is used at any point in the function. This flag is +set when its path is initialized and is cleared when the path is moved from. +When a `Drop` occurs, we check the flags for every obligation associated with +the target of the `Drop` and call the associated `Drop` impl for those that are +still applicable. + +This process—transforming the newly built MIR with its imprecise `Drop` and +`DropAndReplace` terminators into one with drop flags—is known as drop +elaboration. When a MIR statement causes a variable to become initialized (or +uninitialized), drop elaboration inserts code that sets (or clears) the drop +flag for that variable. It wraps `Drop` terminators in conditionals that check +the newly inserted drop flags. + +Drop elaboration also splits `DropAndReplace` terminators into a `Drop` of the +target and a write of the newly dropped place. This is somewhat unrelated to what +we've discussed above. + +Once this is complete, `Drop` terminators in the MIR correspond to a call to +the "drop glue" or "drop shim" for the type of the dropped place. The drop +glue for a type calls the `Drop` impl for that type (if one exists), and then +recursively calls the drop glue for all fields of that type. + +## Drop elaboration in `rustc` + +The approach described above is more expensive than necessary. One can imagine +a few optimizations: + +- Only paths that are the target of a `Drop` (or have the target as a prefix) + need drop flags. +- Some variables are known to be initialized (or uninitialized) when they are + dropped. These do not need drop flags. +- If a set of paths are only dropped or moved from via a shared prefix, those + paths can share a single drop flag. + +A subset of these are implemented in `rustc`. + +In the compiler, drop elaboration is split across several modules. The pass +itself is defined [here][drops-transform], but the [main logic][drops] is +defined elsewhere since it is also used to build [drop shims][drops-shim]. + +Drop elaboration designates each `Drop` in the newly built MIR as one of four +kinds: + +- `Static`, the target is always initialized. +- `Dead`, the target is always **un**initialized. +- `Conditional`, the target is either wholly initialized or wholly + uninitialized. It is not partly initialized. +- `Open`, the target may be partly initialized. + +For this, it uses a pair of dataflow analyses, `MaybeInitializedPlaces` and +`MaybeUninitializedPlaces`. If a place is in one but not the other, then the +initializedness of the target is known at compile-time (`Dead` or `Static`). +In this case, drop elaboration does not add a flag for the target. It simply +removes (`Dead`) or preserves (`Static`) the `Drop` terminator. + +For `Conditional` drops, we know that the initializedness of the variable as a +whole is the same as the initializedness of its fields. Therefore, once we +generate a drop flag for the target of that drop, it's safe to call the drop +glue for that target. + +### `Open` drops + +`Open` drops are the most complex, since we need to break down a single `Drop` +terminator into several different ones, one for each field of the target whose +type has drop glue (`Ty::needs_drop`). We cannot call the drop glue for the +target itself because that requires all fields of the target to be initialized. +Remember, variables whose type has a custom `Drop` impl do not allow `Open` +drops because their fields cannot be moved from. + +This is accomplished by recursively categorizing each field as `Dead`, +`Static`, `Conditional` or `Open`. Fields whose type does not have drop glue +are automatically `Dead` and need not be considered during the recursion. When +we reach a field whose kind is not `Open`, we handle it as we did above. If the +field is also `Open`, the recursion continues. + +It's worth noting how we handle `Open` drops of enums. Inside drop elaboration, +each variant of the enum is treated like a field, with the invariant that only +one of those "variant fields" can be initialized at any given time. In the +general case, we do not know which variant is the active one, so we will have +to call the drop glue for the enum (which checks the discriminant) or check the +discriminant ourselves as part of an elaborated `Open` drop. However, in +certain cases (within a `match` arm, for example) we do know which variant of +an enum is active. This information is encoded in the `MaybeInitializedPlaces` +and `MaybeUninitializedPlaces` dataflow analyses by marking all places +corresponding to inactive variants as uninitialized. + +### Cleanup paths + +TODO: Discuss drop elaboration and unwinding. + +## Aside: drop elaboration and const-eval + +In Rust, functions that are eligible for evaluation at compile-time must be +marked explicitly using the `const` keyword. This includes implementations of +the `Drop` trait, which may or may not be `const`. Code that is eligible for +compile-time evaluation may only call `const` functions, so any calls to +non-const `Drop` implementations in such code must be forbidden. + +A call to a `Drop` impl is encoded as a `Drop` terminator in the MIR. However, +as we discussed above, a `Drop` terminator in newly built MIR does not +necessarily result in a call to `Drop::drop`. The drop target may be +uninitialized at that point. This means that checking for non-const `Drop`s on +the newly built MIR can result in spurious errors. Instead, we wait until after +drop elaboration runs, which eliminates `Dead` drops (ones where the target is +known to be uninitialized) to run these checks. + +[RFC 320]: https://rust-lang.github.io/rfcs/0320-nonzeroing-dynamic-drop.html +[reference-drop]: https://doc.rust-lang.org/reference/destructors.html +[drops]: https://github.com/rust-lang/rust/blob/master/compiler/rustc_mir_dataflow/src/elaborate_drops.rs +[drops-shim]: https://github.com/rust-lang/rust/blob/master/compiler/rustc_mir_transform/src/shim.rs +[drops-transform]: https://github.com/rust-lang/rust/blob/master/compiler/rustc_mir_transform/src/elaborate_drops.rs diff --git a/src/doc/rustc-dev-guide/src/mir/index.md b/src/doc/rustc-dev-guide/src/mir/index.md new file mode 100644 index 000000000000..778c583919b5 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/index.md @@ -0,0 +1,355 @@ +# The MIR (Mid-level IR) + + + +MIR is Rust's _Mid-level Intermediate Representation_. It is +constructed from [HIR](../hir.html). MIR was introduced in +[RFC 1211]. It is a radically simplified form of Rust that is used for +certain flow-sensitive safety checks – notably the borrow checker! – +and also for optimization and code generation. + +If you'd like a very high-level introduction to MIR, as well as some +of the compiler concepts that it relies on (such as control-flow +graphs and desugaring), you may enjoy the +[rust-lang blog post that introduced MIR][blog]. + +[blog]: https://blog.rust-lang.org/2016/04/19/MIR.html + +## Introduction to MIR + +MIR is defined in the [`compiler/rustc_middle/src/mir/`][mir] module, but much of the code +that manipulates it is found in [`compiler/rustc_mir_build`][mirmanip_build], +[`compiler/rustc_mir_transform`][mirmanip_transform], and +[`compiler/rustc_mir_dataflow`][mirmanip_dataflow]. + +[RFC 1211]: https://rust-lang.github.io/rfcs/1211-mir.html + +Some of the key characteristics of MIR are: + +- It is based on a [control-flow graph][cfg]. +- It does not have nested expressions. +- All types in MIR are fully explicit. + +[cfg]: ../appendix/background.html#cfg + +## Key MIR vocabulary + +This section introduces the key concepts of MIR, summarized here: + +- **Basic blocks**: units of the control-flow graph, consisting of: + - **statements:** actions with one successor + - **terminators:** actions with potentially multiple successors; always at + the end of a block + - (if you're not familiar with the term *basic block*, see the [background + chapter][cfg]) +- **Locals:** Memory locations allocated on the stack (conceptually, at + least), such as function arguments, local variables, and + temporaries. These are identified by an index, written with a + leading underscore, like `_1`. There is also a special "local" + (`_0`) allocated to store the return value. +- **Places:** expressions that identify a location in memory, like `_1` or + `_1.f`. +- **Rvalues:** expressions that produce a value. The "R" stands for + the fact that these are the "right-hand side" of an assignment. + - **Operands:** the arguments to an rvalue, which can either be a + constant (like `22`) or a place (like `_1`). + +You can get a feeling for how MIR is constructed by translating simple +programs into MIR and reading the pretty printed output. In fact, the +playground makes this easy, since it supplies a MIR button that will +show you the MIR for your program. Try putting this program into play +(or [clicking on this link][sample-play]), and then clicking the "MIR" +button on the top: + +[sample-play]: https://play.rust-lang.org/?gist=30074856e62e74e91f06abd19bd72ece&version=stable&edition=2021 + +```rust +fn main() { + let mut vec = Vec::new(); + vec.push(1); + vec.push(2); +} +``` + +You should see something like: + +```mir +// WARNING: This output format is intended for human consumers only +// and is subject to change without notice. Knock yourself out. +fn main() -> () { + ... +} +``` + +This is the MIR format for the `main` function. +MIR shown by above link is optimized. +Some statements like `StorageLive` are removed in optimization. +This happens because the compiler notices the value is never accessed in the code. +We can use `rustc [filename].rs -Z mir-opt-level=0 --emit mir` to view unoptimized MIR. +This requires the nightly toolchain. + + +**Variable declarations.** If we drill in a bit, we'll see it begins +with a bunch of variable declarations. They look like this: + +```mir +let mut _0: (); // return place +let mut _1: std::vec::Vec; // in scope 0 at src/main.rs:2:9: 2:16 +let mut _2: (); +let mut _3: &mut std::vec::Vec; +let mut _4: (); +let mut _5: &mut std::vec::Vec; +``` + +You can see that variables in MIR don't have names, they have indices, +like `_0` or `_1`. We also intermingle the user's variables (e.g., +`_1`) with temporary values (e.g., `_2` or `_3`). You can tell apart +user-defined variables because they have debuginfo associated to them (see below). + +**User variable debuginfo.** Below the variable declarations, we find the only +hint that `_1` represents a user variable: +```mir +scope 1 { + debug vec => _1; // in scope 1 at src/main.rs:2:9: 2:16 +} +``` +Each `debug => ;` annotation describes a named user variable, +and where (i.e. the place) a debugger can find the data of that variable. +Here the mapping is trivial, but optimizations may complicate the place, +or lead to multiple user variables sharing the same place. +Additionally, closure captures are described using the same system, and so +they're complicated even without optimizations, e.g.: `debug x => (*((*_1).0: &T));`. + +The "scope" blocks (e.g., `scope 1 { .. }`) describe the lexical structure of +the source program (which names were in scope when), so any part of the program +annotated with `// in scope 0` would be missing `vec`, if you were stepping +through the code in a debugger, for example. + +**Basic blocks.** Reading further, we see our first **basic block** (naturally +it may look slightly different when you view it, and I am ignoring some of the +comments): + +```mir +bb0: { + StorageLive(_1); + _1 = const >::new() -> bb2; +} +``` + +A basic block is defined by a series of **statements** and a final +**terminator**. In this case, there is one statement: + +```mir +StorageLive(_1); +``` + +This statement indicates that the variable `_1` is "live", meaning +that it may be used later – this will persist until we encounter a +`StorageDead(_1)` statement, which indicates that the variable `_1` is +done being used. These "storage statements" are used by LLVM to +allocate stack space. + +The **terminator** of the block `bb0` is the call to `Vec::new`: + +```mir +_1 = const >::new() -> bb2; +``` + +Terminators are different from statements because they can have more +than one successor – that is, control may flow to different +places. Function calls like the call to `Vec::new` are always +terminators because of the possibility of unwinding, although in the +case of `Vec::new` we are able to see that indeed unwinding is not +possible, and hence we list only one successor block, `bb2`. + +If we look ahead to `bb2`, we will see it looks like this: + +```mir +bb2: { + StorageLive(_3); + _3 = &mut _1; + _2 = const >::push(move _3, const 1i32) -> [return: bb3, unwind: bb4]; +} +``` + +Here there are two statements: another `StorageLive`, introducing the `_3` +temporary, and then an assignment: + +```mir +_3 = &mut _1; +``` + +Assignments in general have the form: + +```text + = +``` + +A place is an expression like `_3`, `_3.f` or `*_3` – it denotes a +location in memory. An **Rvalue** is an expression that creates a +value: in this case, the rvalue is a mutable borrow expression, which +looks like `&mut `. So we can kind of define a grammar for +rvalues like so: + +```text + = & (mut)? + | + + | - + | ... + + = Constant + | copy Place + | move Place +``` + +As you can see from this grammar, rvalues cannot be nested – they can +only reference places and constants. Moreover, when you use a place, +we indicate whether we are **copying it** (which requires that the +place have a type `T` where `T: Copy`) or **moving it** (which works +for a place of any type). So, for example, if we had the expression `x += a + b + c` in Rust, that would get compiled to two statements and a +temporary: + +```mir +TMP1 = a + b +x = TMP1 + c +``` + +([Try it and see][play-abc], though you may want to do release mode to skip +over the overflow checks.) + +[play-abc]: https://play.rust-lang.org/?gist=1751196d63b2a71f8208119e59d8a5b6&version=stable + +## MIR data types + +The MIR data types are defined in the [`compiler/rustc_middle/src/mir/`][mir] +module. Each of the key concepts mentioned in the previous section +maps in a fairly straightforward way to a Rust type. + +The main MIR data type is [`Body`]. It contains the data for a single +function (along with sub-instances of Mir for "promoted constants", +but [you can read about those below](#promoted)). + +- **Basic blocks**: The basic blocks are stored in the field + [`Body::basic_blocks`][basicblocks]; this is a vector + of [`BasicBlockData`] structures. Nobody ever references a + basic block directly: instead, we pass around [`BasicBlock`] + values, which are [newtype'd] indices into this vector. +- **Statements** are represented by the type [`Statement`]. +- **Terminators** are represented by the [`Terminator`]. +- **Locals** are represented by a [newtype'd] index type [`Local`]. + The data for a local variable is found in the + [`Body::local_decls`][localdecls] vector. There is also a special constant + [`RETURN_PLACE`] identifying the special "local" representing the return value. +- **Places** are identified by the struct [`Place`]. There are a few + fields: + - Local variables like `_1` + - **Projections**, which are fields or other things that "project + out" from a base place. These are represented by the [newtype'd] type + [`ProjectionElem`]. So e.g. the place `_1.f` is a projection, + with `f` being the "projection element" and `_1` being the base + path. `*_1` is also a projection, with the `*` being represented + by the [`ProjectionElem::Deref`] element. +- **Rvalues** are represented by the enum [`Rvalue`]. +- **Operands** are represented by the enum [`Operand`]. + +## Representing constants + +When code has reached the MIR stage, constants can generally come in two forms: +*MIR constants* ([`mir::Constant`]) and *type system constants* ([`ty::Const`]). +MIR constants are used as operands: in `x + CONST`, `CONST` is a MIR constant; +similarly, in `x + 2`, `2` is a MIR constant. Type system constants are used in +the type system, in particular for array lengths but also for const generics. + +Generally, both kinds of constants can be "unevaluated" or "already evaluated". +An unevaluated constant simply stores the `DefId` of what needs to be evaluated +to compute this result. An evaluated constant (a "value") has already been +computed; their representation differs between type system constants and MIR +constants: MIR constants evaluate to a `mir::ConstValue`; type system constants +evaluate to a `ty::ValTree`. + +Type system constants have some more variants to support const generics: they +can refer to local const generic parameters, and they are subject to inference. +Furthermore, the `mir::Constant::Ty` variant lets us use an arbitrary type +system constant as a MIR constant; this happens whenever a const generic +parameter is used as an operand. + +### MIR constant values + +In general, a MIR constant value (`mir::ConstValue`) was computed by evaluating +some constant the user wrote. This [const evaluation](../const-eval.md) produces +a very low-level representation of the result in terms of individual bytes. We +call this an "indirect" constant (`mir::ConstValue::Indirect`) since the value +is stored in-memory. + +However, storing everything in-memory would be awfully inefficient. Hence there +are some other variants in `mir::ConstValue` that can represent certain simple +and common values more efficiently. In particular, everything that can be +directly written as a literal in Rust (integers, floats, chars, bools, but also +`"string literals"` and `b"byte string literals"`) has an optimized variant that +avoids the full overhead of the in-memory representation. + +### ValTrees + +An evaluated type system constant is a "valtree". The `ty::ValTree` datastructure +allows us to represent + +* arrays, +* many structs, +* tuples, +* enums and, +* most primitives. + +The most important rule for +this representation is that every value must be uniquely represented. In other +words: a specific value must only be representable in one specific way. For example: there is only +one way to represent an array of two integers as a `ValTree`: +`ValTree::Branch(&[ValTree::Leaf(first_int), ValTree::Leaf(second_int)])`. +Even though theoretically a `[u32; 2]` could be encoded in a `u64` and thus just be a +`ValTree::Leaf(bits_of_two_u32)`, that is not a legal construction of `ValTree` +(and is very complex to do, so it is unlikely anyone is tempted to do so). + +These rules also mean that some values are not representable. There can be no `union`s in type +level constants, as it is not clear how they should be represented, because their active variant +is unknown. Similarly there is no way to represent raw pointers, as addresses are unknown at +compile-time and thus we cannot make any assumptions about them. References on the other hand +*can* be represented, as equality for references is defined as equality on their value, so we +ignore their address and just look at the backing value. We must make sure that the pointer values +of the references are not observable at compile time. We thus encode `&42` exactly like `42`. +Any conversion from +valtree back to a MIR constant value must reintroduce an actual indirection. At codegen time the +addresses may be deduplicated between multiple uses or not, entirely depending on arbitrary +optimization choices. + +As a consequence, all decoding of `ValTree` must happen by matching on the type first and making +decisions depending on that. The value itself gives no useful information without the type that +belongs to it. + + + +### Promoted constants + +See the const-eval WG's [docs on promotion](https://github.com/rust-lang/const-eval/blob/master/promotion.md). + + +[mir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/index.html +[mirmanip_build]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_build/index.html +[mirmanip_transform]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/index.html +[mirmanip_dataflow]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/index.html +[`Body`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Body.html +[newtype'd]: ../appendix/glossary.html#newtype +[basicblocks]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Body.html#structfield.basic_blocks +[`BasicBlock`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.BasicBlock.html +[`BasicBlockData`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.BasicBlockData.html +[`Statement`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Statement.html +[`Terminator`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/terminator/struct.Terminator.html +[`Local`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Local.html +[localdecls]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Body.html#structfield.local_decls +[`RETURN_PLACE`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/constant.RETURN_PLACE.html +[`Place`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Place.html +[`ProjectionElem`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.ProjectionElem.html +[`ProjectionElem::Deref`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.ProjectionElem.html#variant.Deref +[`Rvalue`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.Rvalue.html +[`Operand`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.Operand.html +[`mir::Constant`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.Const.html +[`ty::Const`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Const.html diff --git a/src/doc/rustc-dev-guide/src/mir/mir_cfg.svg b/src/doc/rustc-dev-guide/src/mir/mir_cfg.svg new file mode 100644 index 000000000000..70705ec0430b --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/mir_cfg.svg @@ -0,0 +1,270 @@ + + + + + + +__crate__ + + +cluster_Mir_0_4 + +fn main() -> () +let _1: i32; +let mut _2: i32; +let mut _3: bool; +let mut _4: i32; +let mut _5: i32; +debug x => _1; +debug y => _2; + + +cluster_Mir_0_3 + +fn incr() -> i32 +let mut _1: i32; +let mut _2: bool; +let mut _3: bool; +debug ret => _1; + + + +bb0__0_4 + + +0 + +StorageLive(_1) +_1 = const 5_i32 +StorageLive(_2) +_2 = const 3_i32 +StorageLive(_3) +StorageLive(_4) +_4 = _1 +_3 = Gt(move _4, const 3_i32) +StorageDead(_4) + +switchInt(move _3) + + + +bb1__0_4 + + +1 + +_2 = const 4_i32 +_0 = const () + +goto + + + +bb0__0_4->bb1__0_4 + + +otherwise + + + +bb2__0_4 + + +2 + +StorageLive(_5) + +_5 = incr() + + + +bb0__0_4->bb2__0_4 + + +false + + + +bb4__0_4 + + +4 + +StorageDead(_3) +StorageDead(_2) +StorageDead(_1) + +return + + + +bb1__0_4->bb4__0_4 + + + + + +bb3__0_4 + + +3 + +_2 = Add(_2, move _5) +StorageDead(_5) +_0 = const () + +goto + + + +bb2__0_4->bb3__0_4 + + +return + + + +bb3__0_4->bb4__0_4 + + + + + +bb0__0_3 + + +0 + +StorageLive(_1) +StorageLive(_2) +_2 = const true + +switchInt(move _2) + + + +bb1__0_3 + + +1 + +_1 = const 7_i32 + +goto + + + +bb0__0_3->bb1__0_3 + + +otherwise + + + +bb2__0_3 + + +2 + +StorageLive(_3) +_3 = const true + +switchInt(move _3) + + + +bb0__0_3->bb2__0_3 + + +false + + + +bb6__0_3 + + +6 + +StorageDead(_2) +_1 = Add(_1, const 1_i32) +_0 = _1 +StorageDead(_1) + +return + + + +bb1__0_3->bb6__0_3 + + + + + +bb3__0_3 + + +3 + +_1 = const 8_i32 + +goto + + + +bb2__0_3->bb3__0_3 + + +otherwise + + + +bb4__0_3 + + +4 + +_1 = const 9_i32 + +goto + + + +bb2__0_3->bb4__0_3 + + +false + + + +bb5__0_3 + + +5 + +StorageDead(_3) + +goto + + + +bb3__0_3->bb5__0_3 + + + + + +bb4__0_3->bb5__0_3 + + + + + +bb5__0_3->bb6__0_3 + + + + + diff --git a/src/doc/rustc-dev-guide/src/mir/mir_detailed.dot b/src/doc/rustc-dev-guide/src/mir/mir_detailed.dot new file mode 100644 index 000000000000..1494f4f0bd2a --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/mir_detailed.dot @@ -0,0 +1,27 @@ +digraph G { + Operand -> Constant + Operand -> Place [taillabel="read"] + Place -> Projection + Projection -> Place + Place -> LocalId + Rvalue -> "Rvalue\nAggregate" + Rvalue -> "Rvalue\nBinaryOp" + Rvalue -> "Rvalue\nUnaryOp" + Rvalue -> "Rvalue\n..." + "Rvalue\nAggregate" -> Operand [headlabel="*"] + "Rvalue\nBinaryOp" -> Operand [headlabel="2"] + "Rvalue\nUnaryOp" -> Operand + "Statement\nAssignment" -> Place [taillabel="write"] + "Statement\nAssignment" -> Rvalue + Statement -> "Statement\nAssignment" + Statement -> "Statement\n..." + Block -> Statement [headlabel="*"] + Block -> Terminator + Terminator -> "Terminator\nSwitchInt" + "Terminator\nSwitchInt" -> Operand + "Terminator\nSwitchInt" -> Constant [headlabel="*"] + "Terminator\nSwitchInt" -> BlockId [headlabel="*"] + Terminator -> "Terminator\n..." + Mir -> Block [headlabel="*"] + Mir -> Local [headlabel="*"] +} \ No newline at end of file diff --git a/src/doc/rustc-dev-guide/src/mir/mir_detailed.svg b/src/doc/rustc-dev-guide/src/mir/mir_detailed.svg new file mode 100644 index 000000000000..771e9e5dc0a7 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/mir_detailed.svg @@ -0,0 +1,300 @@ + + + + + + +G + + + +Operand + +Operand + + + +Constant + +Constant + + + +Operand->Constant + + + + + +Place + +Place + + + +Operand->Place + + +read + + + +Projection + +Projection + + + +Place->Projection + + + + + +LocalId + +LocalId + + + +Place->LocalId + + + + + +Projection->Place + + + + + +Rvalue + +Rvalue + + + +Rvalue\nAggregate + +Rvalue +Aggregate + + + +Rvalue->Rvalue\nAggregate + + + + + +Rvalue\nBinaryOp + +Rvalue +BinaryOp + + + +Rvalue->Rvalue\nBinaryOp + + + + + +Rvalue\nUnaryOp + +Rvalue +UnaryOp + + + +Rvalue->Rvalue\nUnaryOp + + + + + +Rvalue\n... + +Rvalue +... + + + +Rvalue->Rvalue\n... + + + + + +Rvalue\nAggregate->Operand + + +* + + + +Rvalue\nBinaryOp->Operand + + +2 + + + +Rvalue\nUnaryOp->Operand + + + + + +Statement\nAssignment + +Statement +Assignment + + + +Statement\nAssignment->Place + + +write + + + +Statement\nAssignment->Rvalue + + + + + +Statement + +Statement + + + +Statement->Statement\nAssignment + + + + + +Statement\n... + +Statement +... + + + +Statement->Statement\n... + + + + + +Block + +Block + + + +Block->Statement + + +* + + + +Terminator + +Terminator + + + +Block->Terminator + + + + + +Terminator\nSwitchInt + +Terminator +SwitchInt + + + +Terminator->Terminator\nSwitchInt + + + + + +Terminator\n... + +Terminator +... + + + +Terminator->Terminator\n... + + + + + +Terminator\nSwitchInt->Operand + + + + + +Terminator\nSwitchInt->Constant + + +* + + + +BlockId + +BlockId + + + +Terminator\nSwitchInt->BlockId + + +* + + + +Mir + +Mir + + + +Mir->Block + + +* + + + +Local + +Local + + + +Mir->Local + + +* + + + diff --git a/src/doc/rustc-dev-guide/src/mir/mir_overview.dot b/src/doc/rustc-dev-guide/src/mir/mir_overview.dot new file mode 100644 index 000000000000..c0b51674dc17 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/mir_overview.dot @@ -0,0 +1,10 @@ +digraph G { + Operand -> Constant + Operand -> Place + Place -> Projection + Projection -> Place + Place -> Local + Rvalue -> Operand + Assignment -> Place + Assignment -> Operand +} \ No newline at end of file diff --git a/src/doc/rustc-dev-guide/src/mir/mir_overview.svg b/src/doc/rustc-dev-guide/src/mir/mir_overview.svg new file mode 100644 index 000000000000..b8f092cd2801 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/mir_overview.svg @@ -0,0 +1,103 @@ + + + + + + +G + + + +Operand + +Operand + + + +Constant + +Constant + + + +Operand->Constant + + + + + +Place + +Place + + + +Operand->Place + + + + + +Projection + +Projection + + + +Place->Projection + + + + + +Local + +Local + + + +Place->Local + + + + + +Projection->Place + + + + + +Rvalue + +Rvalue + + + +Rvalue->Operand + + + + + +Assignment + +Assignment + + + +Assignment->Operand + + + + + +Assignment->Place + + + + + diff --git a/src/doc/rustc-dev-guide/src/mir/optimizations.md b/src/doc/rustc-dev-guide/src/mir/optimizations.md new file mode 100644 index 000000000000..93eeb9a372f7 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/optimizations.md @@ -0,0 +1,112 @@ +# MIR optimizations + +MIR optimizations are optimizations run on the [MIR][mir] to produce better MIR +before codegen. This is important for two reasons: first, it makes the final +generated executable code better, and second, it means that LLVM has less work +to do, so compilation is faster. Note that since MIR is generic (not +[monomorphized][monomorph] yet), these optimizations are particularly +effective; we can optimize the generic version, so all of the monomorphizations +are cheaper! + +[mir]: ../mir/index.md +[monomorph]: ../appendix/glossary.md#mono + +MIR optimizations run after borrow checking. We run a series of optimization +passes over the MIR to improve it. Some passes are required to run on all code, +some passes don't actually do optimizations but only check stuff, and some +passes are only turned on in `release` mode. + +The [`optimized_mir`][optmir] [query] is called to produce the optimized MIR +for a given [`DefId`][defid]. This query makes sure that the borrow checker has +run and that some validation has occurred. Then, it [steals][steal] the MIR, +optimizes it, and returns the improved MIR. + +[optmir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/fn.optimized_mir.html +[query]: ../query.md +[defid]: ../appendix/glossary.md#def-id +[steal]: ../mir/passes.md#stealing + +## Quickstart for adding a new optimization + +1. Make a Rust source file in `tests/mir-opt` that shows the code you want to + optimize. This should be kept simple, so avoid `println!` or other formatting + code if it's not necessary for the optimization. The reason for this is that + `println!`, `format!`, etc. generate a lot of MIR that can make it harder to + understand what the optimization does to the test. + +2. Run `./x test --bless tests/mir-opt/.rs` to generate a MIR + dump. Read [this README][mir-opt-test-readme] for instructions on how to dump + things. + +3. Commit the current working directory state. The reason you should commit the + test output before you implement the optimization is so that you (and your + reviewers) can see a before/after diff of what the optimization changed. + +4. Implement a new optimization in [`compiler/rustc_mir_transform/src`]. + The fastest and easiest way to do this is to + + 1. pick a small optimization (such as [`remove_storage_markers`]) and copy it + to a new file, + 2. add your optimization to one of the lists in the + [`run_optimization_passes()`] function, + 3. and then start modifying the copied optimization. + +5. Rerun `./x test --bless tests/mir-opt/.rs` to regenerate the + MIR dumps. Look at the diffs to see if they are what you expect. + +6. Run `./x test tests/ui` to see if your optimization broke anything. + +7. If there are issues with your optimization, experiment with it a bit and + repeat steps 5 and 6. + +8. Commit and open a PR. You can do this at any point, even if things aren't + working yet, so that you can ask for feedback on the PR. Open a "WIP" PR + (just prefix your PR title with `[WIP]` or otherwise note that it is a + work in progress) in that case. + + Make sure to commit the blessed test output as well! It's necessary for CI to + pass and it's very helpful to reviewers. + +If you have any questions along the way, feel free to ask in +`#t-compiler/wg-mir-opt` on Zulip. + +[mir-opt-test-readme]: https://github.com/rust-lang/rust/blob/master/tests/mir-opt/README.md +[`compiler/rustc_mir_transform/src`]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_mir_transform/src +[`remove_storage_markers`]: https://github.com/rust-lang/rust/blob/HEAD/compiler/rustc_mir_transform/src/remove_storage_markers.rs +[`run_optimization_passes()`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/fn.run_optimization_passes.html + +## Defining optimization passes + +The list of passes run and the order in which they are run is defined by the +[`run_optimization_passes`][rop] function. It contains an array of passes to +run. Each pass in the array is a struct that implements the [`MirPass`] trait. +The array is an array of `&dyn MirPass` trait objects. Typically, a pass is +implemented in its own module of the [`rustc_mir_transform`][trans] crate. + +[rop]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/fn.run_optimization_passes.html +[`MirPass`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/pass_manager/trait.MirPass.html +[trans]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/index.html + +Some examples of passes are: +- `CleanupPostBorrowck`: Remove some of the info that is only needed for + analyses, rather than codegen. +- `ConstProp`: Does [constant propagation][constprop]. + +You can see the ["Implementors" section of the `MirPass` rustdocs][impl] for more examples. + +[impl]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/pass_manager/trait.MirPass.html#implementors +[constprop]: https://en.wikipedia.org/wiki/Constant_folding#Constant_propagation + +## MIR optimization levels + +MIR optimizations can come in various levels of readiness. Experimental +optimizations may cause miscompilations, or slow down compile times. +These passes are still included in nightly builds to gather feedback and make it easier to modify +the pass. To enable working with slow or otherwise experimental optimization passes, +you can specify the `-Z mir-opt-level` debug flag. You can find the +definitions of the levels in the [compiler MCP]. If you are developing a MIR pass and +want to query whether your optimization pass should run, you can check the +current level using [`tcx.sess.opts.unstable_opts.mir_opt_level`][mir_opt_level]. + +[compiler MCP]: https://github.com/rust-lang/compiler-team/issues/319 +[mir_opt_level]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/config/struct.UnstableOptions.html#structfield.mir_opt_level diff --git a/src/doc/rustc-dev-guide/src/mir/passes.md b/src/doc/rustc-dev-guide/src/mir/passes.md new file mode 100644 index 000000000000..5e3dbb5984ba --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/passes.md @@ -0,0 +1,182 @@ +# MIR queries and passes + +If you would like to get the MIR: + +- for a function - you can use the `optimized_mir` query (typically used by codegen) or the `mir_for_ctfe` query (typically used by compile time function evaluation, i.e., *CTFE*); +- for a promoted - you can use the `promoted_mir` query. + +These will give you back the final, optimized MIR. For foreign def-ids, we simply read the MIR +from the other crate's metadata. But for local def-ids, the query will +construct the optimized MIR by requesting a pipeline of upstream queries[^query]. +Each query will contain a series of passes. +This section describes how those queries and passes work and how you can extend them. + +To produce the optimized MIR for a given def-id `D`, `optimized_mir(D)` +goes through several suites of passes, each grouped by a +query. Each suite consists of passes which perform linting, analysis, transformation or +optimization. Each query represent a useful intermediate point +where we can access the MIR dialect for type checking or other purposes: + +- `mir_built(D)` – it gives the initial MIR just after it's built; +- `mir_const(D)` – it applies some simple transformation passes to make MIR ready for + const qualification; +- `mir_promoted(D)` - it extracts promotable temps into separate MIR bodies, and also makes MIR + ready for borrow checking; +- `mir_drops_elaborated_and_const_checked(D)` - it performs borrow checking, runs major + transformation passes (such as drop elaboration) and makes MIR ready for optimization; +- `optimized_mir(D)` – it performs all enabled optimizations and reaches the final state. + +[^query]: See the [Queries](../query.md) chapter for the general concept of query. + +## Implementing and registering a pass + +A `MirPass` is some bit of code that processes the MIR, typically transforming it along the way +somehow. But it may also do other things like linting (e.g., [`CheckPackedRef`][lint1], +[`CheckConstItemMutation`][lint2], [`FunctionItemReferences`][lint3], which implement `MirLint`) or +optimization (e.g., [`SimplifyCfg`][opt1], [`RemoveUnneededDrops`][opt2]). While most MIR passes +are defined in the [`rustc_mir_transform`][mirtransform] crate, the `MirPass` trait itself is +[found][mirpass] in the `rustc_middle` crate, and it basically consists of one primary method, +`run_pass`, that simply gets an `&mut Body` (along with the `tcx`). +The MIR is therefore modified in place (which helps to keep things efficient). + +A basic example of a MIR pass is [`RemoveStorageMarkers`], which walks +the MIR and removes all storage marks if they won't be emitted during codegen. As you +can see from its source, a MIR pass is defined by first defining a +dummy type, a struct with no fields: + +```rust +pub struct RemoveStorageMarkers; +``` + +for which we implement the `MirPass` trait. We can then insert +this pass into the appropriate list of passes found in a query like +`mir_built`, `optimized_mir`, etc. (If this is an optimization, it +should go into the `optimized_mir` list.) + +Another example of a simple MIR pass is [`CleanupPostBorrowck`][cleanup-pass], which walks +the MIR and removes all statements that are not relevant to code generation. As you can see from +its [source][cleanup-source], it is defined by first defining a dummy type, a struct with no +fields: + +```rust +pub struct CleanupPostBorrowck; +``` + +for which we implement the `MirPass` trait: + +```rust +impl<'tcx> MirPass<'tcx> for CleanupPostBorrowck { + fn run_pass(&self, tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) { + ... + } +} +``` + +We [register][pass-register] this pass inside the `mir_drops_elaborated_and_const_checked` query. +(If this is an optimization, it should go into the `optimized_mir` list.) + +If you are writing a pass, there's a good chance that you are going to +want to use a [MIR visitor]. MIR visitors are a handy way to walk all +the parts of the MIR, either to search for something or to make small +edits. + +## Stealing + +The intermediate queries `mir_const()` and `mir_promoted()` yield up +a `&'tcx Steal>`, allocated using `tcx.alloc_steal_mir()`. +This indicates that the result may be **stolen** by a subsequent query – this is an +optimization to avoid cloning the MIR. Attempting to use a stolen +result will cause a panic in the compiler. Therefore, it is important +that you do not accidentally read from these intermediate queries without +the consideration of the dependency in the MIR processing pipeline. + +Because of this stealing mechanism, some care must be taken to +ensure that, before the MIR at a particular phase in the processing +pipeline is stolen, anyone who may want to read from it has already +done so. + +Concretely, this means that if you have a query `foo(D)` +that wants to access the result of `mir_promoted(D)`, you need to have `foo(D)` +calling the `mir_const(D)` query first. This will force it +to execute even though you don't directly require its result. + +> This mechanism is a bit dodgy. There is a discussion of more elegant +alternatives in [rust-lang/rust#41710]. + +### Overview + +Below is an overview of the stealing dependency in the MIR processing pipeline[^part]: + +```mermaid +flowchart BT + mir_for_ctfe* --borrow--> id40 + id5 --steal--> id40 + + mir_borrowck* --borrow--> id3 + id41 --steal part 1--> id3 + id40 --steal part 0--> id3 + + mir_const_qualif* -- borrow --> id2 + id3 -- steal --> id2 + + id2 -- steal --> id1 + + id1([mir_built]) + id2([mir_const]) + id3([mir_promoted]) + id40([mir_drops_elaborated_and_const_checked]) + id41([promoted_mir]) + id5([optimized_mir]) + + style id1 fill:#bbf + style id2 fill:#bbf + style id3 fill:#bbf + style id40 fill:#bbf + style id41 fill:#bbf + style id5 fill:#bbf +``` + +The stadium-shape queries (e.g., `mir_built`) with a deep color are the primary queries in the +pipeline, while the rectangle-shape queries (e.g., `mir_const_qualif*`[^star]) with a shallow color +are those subsequent queries that need to read the results from `&'tcx Steal>`. With the +stealing mechanism, the rectangle-shape queries must be performed before any stadium-shape queries, +that have an equal or larger height in the dependency tree, ever do. + +[^part]: The `mir_promoted` query will yield up a tuple +`(&'tcx Steal>, &'tcx Steal>>)`, `promoted_mir` will steal +part 1 (`&'tcx Steal>>`) and `mir_drops_elaborated_and_const_checked` +will steal part 0 (`&'tcx Steal>`). And their stealing is irrelevant to each other, +i.e., can be performed separately. + +[^star]: Note that the `*` suffix in the queries represent a set of queries with the same prefix. +For example, `mir_borrowck*` represents `mir_borrowck`, `mir_borrowck_const_arg` and +`mir_borrowck_opt_const_arg`. + +### Example + +As an example, consider MIR const qualification. It wants to read the result produced by the +`mir_const` query. However, that result will be **stolen** by the `mir_promoted` query at some +time in the pipeline. Before `mir_promoted` is ever queried, calling the `mir_const_qualif` query +will succeed since `mir_const` will produce (if queried the first time) or cache (if queried +multiple times) the `Steal` result and the result is **not** stolen yet. After `mir_promoted` is +queried, the result would be stolen and calling the `mir_const_qualif` query to read the result +would cause a panic. + +Therefore, with this stealing mechanism, `mir_promoted` should guarantee any `mir_const_qualif*` +queries are called before it actually steals, thus ensuring that the reads have already happened +(remember that [queries are memoized](../query.html), so executing a query twice +simply loads from a cache the second time). + +[rust-lang/rust#41710]: https://github.com/rust-lang/rust/issues/41710 +[mirpass]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/pass_manager/trait.MirPass.html +[lint1]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/check_packed_ref/struct.CheckPackedRef.html +[lint2]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/check_const_item_mutation/struct.CheckConstItemMutation.html +[lint3]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/function_item_references/struct.FunctionItemReferences.html +[opt1]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/simplify/enum.SimplifyCfg.html +[opt2]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/remove_unneeded_drops/struct.RemoveUnneededDrops.html +[mirtransform]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/ +[`RemoveStorageMarkers`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/remove_storage_markers/struct.RemoveStorageMarkers.html +[cleanup-pass]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/cleanup_post_borrowck/struct.CleanupPostBorrowck.html +[cleanup-source]: https://github.com/rust-lang/rust/blob/e2b52ff73edc8b0b7c74bc28760d618187731fe8/compiler/rustc_mir_transform/src/cleanup_post_borrowck.rs#L27 +[pass-register]: https://github.com/rust-lang/rust/blob/e2b52ff73edc8b0b7c74bc28760d618187731fe8/compiler/rustc_mir_transform/src/lib.rs#L413 +[MIR visitor]: ./visitor.html diff --git a/src/doc/rustc-dev-guide/src/mir/visitor.md b/src/doc/rustc-dev-guide/src/mir/visitor.md new file mode 100644 index 000000000000..b0facee69a5f --- /dev/null +++ b/src/doc/rustc-dev-guide/src/mir/visitor.md @@ -0,0 +1,55 @@ +# MIR visitor + +The MIR visitor is a convenient tool for traversing the MIR and either +looking for things or making changes to it. The visitor traits are +defined in [the `rustc_middle::mir::visit` module][m-v] – there are two of +them, generated via a single macro: `Visitor` (which operates on a +`&Mir` and gives back shared references) and `MutVisitor` (which +operates on a `&mut Mir` and gives back mutable references). + +[m-v]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/visit/index.html + +To implement a visitor, you have to create a type that represents +your visitor. Typically, this type wants to "hang on" to whatever +state you will need while processing MIR: + +```rust,ignore +struct MyVisitor<...> { + tcx: TyCtxt<'tcx>, + ... +} +``` + +and you then implement the `Visitor` or `MutVisitor` trait for that type: + +```rust,ignore +impl<'tcx> MutVisitor<'tcx> for MyVisitor { + fn visit_foo(&mut self, ...) { + ... + self.super_foo(...); + } +} +``` + +As shown above, within the impl, you can override any of the +`visit_foo` methods (e.g., `visit_terminator`) in order to write some +code that will execute whenever a `foo` is found. If you want to +recursively walk the contents of the `foo`, you then invoke the +`super_foo` method. (NB. You never want to override `super_foo`.) + +A very simple example of a visitor can be found in [`LocalFinder`]. +By implementing `visit_local` method, this visitor identifies local variables that +can be candidates for reordering. + +[`LocalFinder`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/prettify/struct.LocalFinder.html + +## Traversal + +In addition the visitor, [the `rustc_middle::mir::traversal` module][t] +contains useful functions for walking the MIR CFG in +[different standard orders][traversal] (e.g. pre-order, reverse +post-order, and so forth). + +[t]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/traversal/index.html +[traversal]: https://en.wikipedia.org/wiki/Tree_traversal + diff --git a/src/doc/rustc-dev-guide/src/name-resolution.md b/src/doc/rustc-dev-guide/src/name-resolution.md new file mode 100644 index 000000000000..2727b8142f2a --- /dev/null +++ b/src/doc/rustc-dev-guide/src/name-resolution.md @@ -0,0 +1,193 @@ +# Name resolution + + + +In the previous chapters, we saw how the [*Abstract Syntax Tree* (`AST`)][ast] +is built with all macros expanded. We saw how doing that requires doing some +name resolution to resolve imports and macro names. In this chapter, we show +how this is actually done and more. + +[ast]: ./ast-validation.md + +In fact, we don't do full name resolution during macro expansion -- we only +resolve imports and macros at that time. This is required to know what to even +expand. Later, after we have the whole AST, we do full name resolution to +resolve all names in the crate. This happens in [`rustc_resolve::late`][late]. +Unlike during macro expansion, in this late expansion, we only need to try to +resolve a name once, since no new names can be added. If we fail to resolve a +name, then it is a compiler error. + +Name resolution is complex. There are different namespaces (e.g. +macros, values, types, lifetimes), and names may be valid at different (nested) +scopes. Also, different types of names can fail resolution differently, and +failures can happen differently at different scopes. For example, in a module +scope, failure means no unexpanded macros and no unresolved glob imports in +that module. On the other hand, in a function body scope, failure requires that a +name be absent from the block we are in, all outer scopes, and the global +scope. + +[late]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/late/index.html + +## Basics + +In our programs we refer to variables, types, functions, etc, by giving them +a name. These names are not always unique. For example, take this valid Rust +program: + +```rust +type x = u32; +let x: x = 1; +let y: x = 2; +``` + +How do we know on line 3 whether `x` is a type (`u32`) or a value (1)? These +conflicts are resolved during name resolution. In this specific case, name +resolution defines that type names and variable names live in separate +namespaces and therefore can co-exist. + +The name resolution in Rust is a two-phase process. In the first phase, which runs +during `macro` expansion, we build a tree of modules and resolve imports. Macro +expansion and name resolution communicate with each other via the +[`ResolverAstLoweringExt`] trait. + +The input to the second phase is the syntax tree, produced by parsing input +files and expanding `macros`. This phase produces links from all the names in the +source to relevant places where the name was introduced. It also generates +helpful error messages, like typo suggestions, traits to import or lints about +unused items. + +A successful run of the second phase ([`Resolver::resolve_crate`]) creates kind +of an index the rest of the compilation may use to ask about the present names +(through the `hir::lowering::Resolver` interface). + +The name resolution lives in the [`rustc_resolve`] crate, with the bulk in +`lib.rs` and some helpers or symbol-type specific logic in the other modules. + +[`Resolver::resolve_crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/struct.Resolver.html#method.resolve_crate +[`ResolverAstLoweringExt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_lowering/trait.ResolverAstLoweringExt.html +[`rustc_resolve`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/index.html + +## Namespaces + +Different kind of symbols live in different namespaces ‒ e.g. types don't +clash with variables. This usually doesn't happen, because variables start with +lower-case letter while types with upper-case one, but this is only a +convention. This is legal Rust code that will compile (with warnings): + +```rust +type x = u32; +let x: x = 1; +let y: x = 2; // See? x is still a type here. +``` + +To cope with this, and with slightly different scoping rules for these +namespaces, the resolver keeps them separated and builds separate structures for +them. + +In other words, when the code talks about namespaces, it doesn't mean the module +hierarchy, it's types vs. values vs. macros. + +## Scopes and ribs + +A name is visible only in certain area in the source code. This forms a +hierarchical structure, but not necessarily a simple one ‒ if one scope is +part of another, it doesn't mean a name visible in the outer scope is also +visible in the inner scope, or that it refers to the same thing. + +To cope with that, the compiler introduces the concept of [`Rib`]s. This is +an abstraction of a scope. Every time the set of visible names potentially changes, +a new [`Rib`] is pushed onto a stack. The places where this can happen include for +example: + +[`Rib`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/late/struct.Rib.html + +* The obvious places ‒ curly braces enclosing a block, function boundaries, + modules. +* Introducing a `let` binding ‒ this can shadow another binding with the same + name. +* Macro expansion border ‒ to cope with macro hygiene. + +When searching for a name, the stack of [`ribs`] is traversed from the innermost +outwards. This helps to find the closest meaning of the name (the one not +shadowed by anything else). The transition to outer [`Rib`] may also affect +what names are usable ‒ if there are nested functions (not closures), +the inner one can't access parameters and local bindings of the outer one, +even though they should be visible by ordinary scoping rules. An example: + +[`ribs`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/late/struct.LateResolutionVisitor.html#structfield.ribs + +```rust +fn do_something(val: T) { // <- New rib in both types and values (1) + // `val` is accessible, as is the helper function + // `T` is accessible + let helper = || { // New rib on `helper` (2) and another on the block (3) + // `val` is accessible here + }; // End of (3) + // `val` is accessible, `helper` variable shadows `helper` function + fn helper() { // <- New rib in both types and values (4) + // `val` is not accessible here, (4) is not transparent for locals + // `T` is not accessible here + } // End of (4) + let val = T::default(); // New rib (5) + // `val` is the variable, not the parameter here +} // End of (5), (2) and (1) +``` + +Because the rules for different namespaces are a bit different, each namespace +has its own independent [`Rib`] stack that is constructed in parallel to the others. +In addition, there's also a [`Rib`] stack for local labels (e.g. names of loops or +blocks), which isn't a full namespace in its own right. + +## Overall strategy + +To perform the name resolution of the whole crate, the syntax tree is traversed +top-down and every encountered name is resolved. This works for most kinds of +names, because at the point of use of a name it is already introduced in the [`Rib`] +hierarchy. + +There are some exceptions to this. Items are bit tricky, because they can be +used even before encountered ‒ therefore every block needs to be first scanned +for items to fill in its [`Rib`]. + +Other, even more problematic ones, are imports which need recursive fixed-point +resolution and macros, that need to be resolved and expanded before the rest of +the code can be processed. + +Therefore, the resolution is performed in multiple stages. + +## Speculative crate loading + +To give useful errors, rustc suggests importing paths into scope if they're +not found. How does it do this? It looks through every module of every crate +and looks for possible matches. This even includes crates that haven't yet +been loaded! + +Eagerly loading crates to include import suggestions that haven't yet been +loaded is called _speculative crate loading_, because any errors it encounters +shouldn't be reported: [`rustc_resolve`] decided to load them, not the user. The function +that does this is [`lookup_import_candidates`] and lives in +[`rustc_resolve::diagnostics`]. + +[`rustc_resolve`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/index.html +[`lookup_import_candidates`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/struct.Resolver.html#method.lookup_import_candidates +[`rustc_resolve::diagnostics`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/diagnostics/index.html + +To tell the difference between speculative loads and loads initiated by the +user, [`rustc_resolve`] passes around a `record_used` parameter, which is `false` when +the load is speculative. + +## TODO: [#16](https://github.com/rust-lang/rustc-dev-guide/issues/16) + +This is a result of the first pass of learning the code. It is definitely +incomplete and not detailed enough. It also might be inaccurate in places. +Still, it probably provides useful first guidepost to what happens in there. + +* What exactly does it link to and how is that published and consumed by + following stages of compilation? +* Who calls it and how it is actually used. +* Is it a pass and then the result is only used, or can it be computed + incrementally? +* The overall strategy description is a bit vague. +* Where does the name `Rib` come from? +* Does this thing have its own tests, or is it tested only as part of some e2e + testing? diff --git a/src/doc/rustc-dev-guide/src/notification-groups/about.md b/src/doc/rustc-dev-guide/src/notification-groups/about.md new file mode 100644 index 000000000000..74629aa08ace --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/about.md @@ -0,0 +1,113 @@ +# Notification groups + +The **notification groups** are an easy way to help out with rustc in a +"piece-meal" fashion, without committing to a larger project. +Notification groups are **[easy to join](#join)** (just submit a PR!) +and joining does not entail any particular commitment. + +Once you [join a notification group](#join), you will be added to +a list that receives pings on github whenever a new issue is found +that fits the notification group's criteria. If you are interested, you +can then [claim the issue] and start working on it. + +Of course, you don't have to wait for new issues to be tagged! If you +prefer, you can use the Github label for a notification group to +search for existing issues that haven't been claimed yet. + +[claim the issue]: https://forge.rust-lang.org/triagebot/issue-assignment.html + +## List of notification groups + +Here's the list of the notification groups: +- [Apple](./apple.md) +- [ARM](./arm.md) +- [Cleanup Crew](./cleanup-crew.md) +- [Emscripten](./emscripten.md) +- [LLVM](./llvm.md) +- [RISC-V](./risc-v.md) +- [WASI](./wasi.md) +- [WebAssembly](./wasm.md) +- [Windows](./windows.md) +- [Rust for Linux](./rust-for-linux.md) + +## What issues are a good fit for notification groups? + +Notification groups tend to get pinged on **isolated** bugs, +particularly those of **middle priority**: + +- By **isolated**, we mean that we do not expect large-scale refactoring + to be required to fix the bug. +- By **middle priority**, we mean that we'd like to see the bug fixed, + but it's not such a burning problem that we are dropping everything + else to fix it. The danger with such bugs, of course, is that they + can accumulate over time, and the role of the notification group is + to try and stop that from happening! + + + +## Joining a notification group + +To join a notification group, you just have to open a PR adding your +Github username to the appropriate file in the Rust team repository. +See the "example PRs" below to get a precise idea and to identify the +file to edit. + +Also, if you are not already a member of a Rust team then -- in addition +to adding your name to the file -- you have to checkout the repository and +run the following command: + +```bash +cargo run add-person $your_user_name +``` + +Example PRs: + +* [Example of adding yourself to the Apple group.](https://github.com/rust-lang/team/pull/1434) +* [Example of adding yourself to the ARM group.](https://github.com/rust-lang/team/pull/358) +* [Example of adding yourself to the Cleanup Crew.](https://github.com/rust-lang/team/pull/221) +* [Example of adding yourself to the Emscripten group.](https://github.com/rust-lang/team/pull/1579) +* [Example of adding yourself to the LLVM group.](https://github.com/rust-lang/team/pull/140) +* [Example of adding yourself to the RISC-V group.](https://github.com/rust-lang/team/pull/394) +* [Example of adding yourself to the WASI group.](https://github.com/rust-lang/team/pull/1580) +* [Example of adding yourself to the WebAssembly group.](https://github.com/rust-lang/team/pull/1581) +* [Example of adding yourself to the Windows group.](https://github.com/rust-lang/team/pull/348) + +## Tagging an issue for a notification group + +To tag an issue as appropriate for a notification group, you give +[rustbot] a [`ping`] command with the name of the notification +group. For example: + +```text +@rustbot ping apple +@rustbot ping arm +@rustbot ping cleanup-crew +@rustbot ping emscripten +@rustbot ping llvm +@rustbot ping risc-v +@rustbot ping wasi +@rustbot ping wasm +@rustbot ping windows +``` + +To make some commands shorter and easier to remember, there are aliases, +defined in the [`triagebot.toml`] file. For example, all of these commands +are equivalent and will ping the Cleanup Crew: + +```text +@rustbot ping cleanup +@rustbot ping bisect +@rustbot ping reduce +``` + +Keep in mind that these aliases are meant to make humans' life easier. +They might be subject to change. If you need to ensure that a command +will always be valid, prefer the full invocations over the aliases. + +**Note though that this should only be done by compiler team members +or contributors, and is typically done as part of compiler team +triage.** + +[rustbot]: https://github.com/rust-lang/triagebot/ +[`ping`]: https://forge.rust-lang.org/triagebot/pinging.html +[`triagebot.toml`]: https://github.com/rust-lang/rust/blob/master/triagebot.toml diff --git a/src/doc/rustc-dev-guide/src/notification-groups/apple.md b/src/doc/rustc-dev-guide/src/notification-groups/apple.md new file mode 100644 index 000000000000..f1e62945a7ee --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/apple.md @@ -0,0 +1,53 @@ +# Apple notification group + +**Github Labels:** [O-macos], [O-ios], [O-tvos], [O-watchos] and [O-visionos]
+**Ping command:** `@rustbot ping apple` + +This list will be used to ask for help both in diagnosing and testing +Apple-related issues as well as suggestions on how to resolve interesting +questions regarding our macOS/iOS/tvOS/watchOS/visionOS support. + +To get a better idea for what the group will do, here are some examples of the +kinds of questions where we would have reached out to the group for advice in +determining the best course of action: + +* Raising the minimum supported versions (e.g. [#104385]) +* Additional Apple targets (e.g. [#121419]) +* Obscure Xcode linker details (e.g. [#121430]) + +[O-macos]: https://github.com/rust-lang/rust/labels/O-macos +[O-ios]: https://github.com/rust-lang/rust/labels/O-ios +[O-tvos]: https://github.com/rust-lang/rust/labels/O-tvos +[O-watchos]: https://github.com/rust-lang/rust/labels/O-watchos +[O-visionos]: https://github.com/rust-lang/rust/labels/O-visionos +[#104385]: https://github.com/rust-lang/rust/pull/104385 +[#121419]: https://github.com/rust-lang/rust/pull/121419 +[#121430]: https://github.com/rust-lang/rust/pull/121430 + +## Deployment targets + +Apple platforms have a concept of "deployment target", controlled with the +`*_DEPLOYMENT_TARGET` environment variables, and specifies the minimum OS +version that a binary runs on. + +Using an API from a newer OS version in the standard library than the default +that `rustc` uses will result in either a static or a dynamic linker error. +For this reason, try to suggest that people document on `extern "C"` APIs +which OS version they were introduced with, and if that's newer than the +current default used by `rustc`, suggest to use weak linking. + +## The App Store and private APIs + +Apple are very protective about using undocumented APIs, so it's important +that whenever a change uses a new function, that they are verified to actually +be public API, as even just mentioning undocumented APIs in the binary +(without calling it) can lead to rejections from the App Store. + +For example, Darwin / the XNU kernel actually has futex syscalls, but we can't +use them in `std` because they are not public API. + +In general, for an API to be considered public by Apple, it has to: +- Appear in a public header (i.e. one distributed with Xcode, and found for + the specific platform under `xcrun --show-sdk-path --sdk $SDK`). +- Have an availability attribute on it (like `__API_AVAILABLE`, + `API_AVAILABLE` or similar). diff --git a/src/doc/rustc-dev-guide/src/notification-groups/arm.md b/src/doc/rustc-dev-guide/src/notification-groups/arm.md new file mode 100644 index 000000000000..3abc32c68883 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/arm.md @@ -0,0 +1,23 @@ +# ARM notification group + +**Github Label:** [O-ARM]
+**Ping command:** `@rustbot ping arm` + +[O-ARM]: https://github.com/rust-lang/rust/labels/O-ARM + +This list will be used to ask for help both in diagnosing and testing +ARM-related issues as well as suggestions on how to resolve +interesting questions regarding our ARM support. + +The group also has an associated Zulip stream ([`#t-compiler/arm`]) +where people can go to pose questions and discuss ARM-specific +topics. + +So, if you are interested in participating, please sign up for the +ARM group! To do so, open a PR against the [rust-lang/team] +repository. Just [follow this example][eg], but change the username to +your own! + +[`#t-compiler/arm`]: https://rust-lang.zulipchat.com/#narrow/stream/242906-t-compiler.2Farm +[rust-lang/team]: https://github.com/rust-lang/team +[eg]: https://github.com/rust-lang/team/pull/358 diff --git a/src/doc/rustc-dev-guide/src/notification-groups/cleanup-crew.md b/src/doc/rustc-dev-guide/src/notification-groups/cleanup-crew.md new file mode 100644 index 000000000000..9cf4e512cbdf --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/cleanup-crew.md @@ -0,0 +1,90 @@ +# Cleanup Crew + +**Github Label:** [ICEBreaker-Cleanup-Crew]
+**Ping command:** `@rustbot ping cleanup-crew` + +[ICEBreaker-Cleanup-Crew]: https://github.com/rust-lang/rust/labels/ICEBreaker-Cleanup-Crew + +The "Cleanup Crew" are focused on improving bug reports. Specifically, +the goal is to try to ensure that every bug report has all the +information that will be needed for someone to fix it: + +* a minimal, standalone example that shows the problem +* links to duplicates or related bugs +* if the bug is a regression (something that used to work, but no longer does), + then a bisection to the PR or nightly that caused the regression + +This kind of cleanup is invaluable in getting bugs fixed. Better +still, it can be done by anybody who knows Rust, without any +particularly deep knowledge of the compiler. + +Let's look a bit at the workflow for doing "cleanup crew" actions. + +## Finding a minimal, standalone example + +Here the ultimate goal is to produce an example that reproduces the same +problem but without relying on any external crates. Such a test ought to contain +as little code as possible, as well. This will make it much easier to isolate the problem. + +However, even if the "ultimate minimal test" cannot be achieved, it's +still useful to post incremental minimizations. For example, if you +can eliminate some of the external dependencies, that is helpful, and +so forth. + +It's particularly useful to reduce to an example that works +in the [Rust playground](https://play.rust-lang.org/), rather than +requiring people to checkout a cargo build. + +There are many resources for how to produce minimized test cases. Here +are a few: + +* The [rust-reduce](https://github.com/jethrogb/rust-reduce) tool can try to reduce + code automatically. + * The [C-reduce](https://github.com/csmith-project/creduce) tool also works + on Rust code, though it requires that you start from a single + file. (A post explaining how to do it can be found [here](https://insaneinside.net/2017/09/12/whole-crate-bug-reduction-with-creduce.html).) +* pnkfelix's [Rust Bug Minimization Patterns] blog post + * This post focuses on "heavy bore" techniques, where you are + starting with a large, complex cargo project that you wish to + narrow down to something standalone. + +[Rust Bug Minimization Patterns]: http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/ + +## Links to duplicate or related bugs + +If you are on the "Cleanup Crew", you will sometimes see multiple bug +reports that seem very similar. You can link one to the other just by +mentioning the other bug number in a Github comment. Sometimes it is +useful to close duplicate bugs. But if you do so, you should always +copy any test case from the bug you are closing to the other bug that +remains open, as sometimes duplicate-looking bugs will expose +different facets of the same problem. + +## Bisecting regressions + +For regressions (something that used to work, but no longer does), it +is super useful if we can figure out precisely when the code stopped +working. The gold standard is to be able to identify the precise +**PR** that broke the code, so we can ping the author, but even +narrowing it down to a nightly build is helpful, especially as that +then gives us a range of PRs. (One other challenge is that we +sometimes land "rollup" PRs, which combine multiple PRs into one.) + +### cargo-bisect-rustc + +To help in figuring out the cause of a regression we have a tool +called [cargo-bisect-rustc]. It will automatically download and test +various builds of rustc. For recent regressions, it is even able to +use the builds from our CI to track down the regression to a specific +PR; for older regressions, it will simply identify a nightly. + +To learn to use [cargo-bisect-rustc], check out [this blog post][learn], which +gives a quick introduction to how it works. Additionally, there is a [Guide] +which goes into more detail on how to use it. You can also ask questions at +the Zulip stream [`#t-compiler/cargo-bisect-rustc`][zcbr], or help in +improving the tool. + +[cargo-bisect-rustc]: https://github.com/rust-lang/cargo-bisect-rustc/ +[learn]: https://blog.rust-lang.org/inside-rust/2019/12/18/bisecting-rust-compiler.html +[zcbr]: https://rust-lang.zulipchat.com/#narrow/stream/217417-t-compiler.2Fcargo-bisect-rustc +[Guide]: https://rust-lang.github.io/cargo-bisect-rustc/ diff --git a/src/doc/rustc-dev-guide/src/notification-groups/emscripten.md b/src/doc/rustc-dev-guide/src/notification-groups/emscripten.md new file mode 100644 index 000000000000..100dbdf9f2b3 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/emscripten.md @@ -0,0 +1,23 @@ +# Emscripten notification group + +**Github Label:** [O-emscripten]
+**Ping command:** `@rustbot ping emscripten` + +[O-emscripten]: https://github.com/rust-lang/rust/labels/O-emscripten + +This list will be used to ask for help both in diagnosing and testing +Emscripten-related issues as well as suggestions on how to resolve +interesting questions regarding our Emscripten support. + +The group also has an associated Zulip stream ([`#t-compiler/wasm`]) +where people can go to pose questions and discuss Emscripten-specific +topics. + +So, if you are interested in participating, please sign up for the +Emscripten group! To do so, open a PR against the [rust-lang/team] +repository. Just [follow this example][eg], but change the username to +your own! + +[`#t-compiler/wasm`]: https://rust-lang.zulipchat.com/#narrow/stream/463513-t-compiler.2Fwasm +[rust-lang/team]: https://github.com/rust-lang/team +[eg]: https://github.com/rust-lang/team/pull/1579 diff --git a/src/doc/rustc-dev-guide/src/notification-groups/llvm.md b/src/doc/rustc-dev-guide/src/notification-groups/llvm.md new file mode 100644 index 000000000000..2eff63713a9c --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/llvm.md @@ -0,0 +1,35 @@ +# LLVM Notification group + +**Github Label:** [A-LLVM]
+**Ping command:** `@rustbot ping llvm` + +[A-LLVM]: https://github.com/rust-lang/rust/labels/A-LLVM + +The "LLVM Notification Group" are focused on bugs that center around LLVM. +These bugs often arise because of LLVM optimizations gone awry, or as +the result of an LLVM upgrade. The goal here is: + +- to determine whether the bug is a result of us generating invalid LLVM IR, + or LLVM misoptimizing; +- if the former, to fix our IR; +- if the latter, to try and file a bug on LLVM (or identify an existing bug). + +The group may also be asked to weigh in on other sorts of LLVM-focused +questions. + +## Helpful tips and options + +The ["Debugging LLVM"][d] section of the +rustc-dev-guide gives a step-by-step process for how to help debug bugs +caused by LLVM. In particular, it discusses how to emit LLVM IR, run +the LLVM IR optimization pipelines, and so forth. You may also find +it useful to look at the various codegen options listed under `-C help` +and the internal options under `-Z help` -- there are a number that +pertain to LLVM (just search for LLVM). + +[d]: ../backend/debugging.md + +## If you do narrow to an LLVM bug + +The ["Debugging LLVM"][d] section also describes what to do once +you've identified the bug. diff --git a/src/doc/rustc-dev-guide/src/notification-groups/risc-v.md b/src/doc/rustc-dev-guide/src/notification-groups/risc-v.md new file mode 100644 index 000000000000..1b31297b600e --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/risc-v.md @@ -0,0 +1,23 @@ +# RISC-V notification group + +**Github Label:** [O-riscv]
+**Ping command:** `@rustbot ping risc-v` + +[O-riscv]: https://github.com/rust-lang/rust/labels/O-riscv + +This list will be used to ask for help both in diagnosing and testing +RISC-V-related issues as well as suggestions on how to resolve +interesting questions regarding our RISC-V support. + +The group also has an associated Zulip stream ([`#t-compiler/risc-v`]) +where people can go to pose questions and discuss RISC-V-specific +topics. + +So, if you are interested in participating, please sign up for the +RISC-V group! To do so, open a PR against the [rust-lang/team] +repository. Just [follow this example][eg], but change the username to +your own! + +[`#t-compiler/risc-v`]: https://rust-lang.zulipchat.com/#narrow/stream/250483-t-compiler.2Frisc-v +[rust-lang/team]: https://github.com/rust-lang/team +[eg]: https://github.com/rust-lang/team/pull/394 diff --git a/src/doc/rustc-dev-guide/src/notification-groups/rust-for-linux.md b/src/doc/rustc-dev-guide/src/notification-groups/rust-for-linux.md new file mode 100644 index 000000000000..9ba4eff629e7 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/rust-for-linux.md @@ -0,0 +1,23 @@ +# Rust for Linux notification group + +**Github Label:** [O-rfl]
+**Ping command:** `@rustbot ping rfl` + +[O-rfl]: https://github.com/rust-lang/rust/labels/O-rfl + +This list will be used to notify [Rust for Linux (RfL)][rfl] maintainers +when the compiler or the standard library changes in a way that would +break Rust for Linux, since it depends on several unstable flags +and features. The RfL maintainers should then ideally provide support +for resolving the breakage or decide to temporarily accept the breakage +and unblock CI by temporarily removing the RfL CI jobs. + +The group also has an associated Zulip stream ([`#rust-for-linux`]) +where people can go to ask questions and discuss topics related to Rust +for Linux. + +If you are interested in participating, please sign up for the +Rust for Linux group on [Zulip][`#rust-for-linux`]! + +[rfl]: https://rust-for-linux.com/ +[`#rust-for-linux`]: https://rust-lang.zulipchat.com/#narrow/stream/425075-rust-for-linux diff --git a/src/doc/rustc-dev-guide/src/notification-groups/wasi.md b/src/doc/rustc-dev-guide/src/notification-groups/wasi.md new file mode 100644 index 000000000000..e438ee4bd090 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/wasi.md @@ -0,0 +1,23 @@ +# WASI notification group + +**Github Label:** [O-wasi]
+**Ping command:** `@rustbot ping wasi` + +[O-wasi]: https://github.com/rust-lang/rust/labels/O-wasi + +This list will be used to ask for help both in diagnosing and testing +WASI-related issues as well as suggestions on how to resolve +interesting questions regarding our WASI support. + +The group also has an associated Zulip stream ([`#t-compiler/wasm`]) +where people can go to pose questions and discuss WASI-specific +topics. + +So, if you are interested in participating, please sign up for the +WASI group! To do so, open a PR against the [rust-lang/team] +repository. Just [follow this example][eg], but change the username to +your own! + +[`#t-compiler/wasm`]: https://rust-lang.zulipchat.com/#narrow/stream/463513-t-compiler.2Fwasm +[rust-lang/team]: https://github.com/rust-lang/team +[eg]: https://github.com/rust-lang/team/pull/1580 diff --git a/src/doc/rustc-dev-guide/src/notification-groups/wasm.md b/src/doc/rustc-dev-guide/src/notification-groups/wasm.md new file mode 100644 index 000000000000..c8b674cb93f2 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/wasm.md @@ -0,0 +1,23 @@ +# WebAssembly (WASM) notification group + +**Github Label:** [O-wasm]
+**Ping command:** `@rustbot ping wasm` + +[O-wasm]: https://github.com/rust-lang/rust/labels/O-wasm + +This list will be used to ask for help both in diagnosing and testing +WebAssembly-related issues as well as suggestions on how to resolve +interesting questions regarding our WASM support. + +The group also has an associated Zulip stream ([`#t-compiler/wasm`]) +where people can go to pose questions and discuss WASM-specific +topics. + +So, if you are interested in participating, please sign up for the +WASM group! To do so, open a PR against the [rust-lang/team] +repository. Just [follow this example][eg], but change the username to +your own! + +[`#t-compiler/wasm`]: https://rust-lang.zulipchat.com/#narrow/stream/463513-t-compiler.2Fwasm +[rust-lang/team]: https://github.com/rust-lang/team +[eg]: https://github.com/rust-lang/team/pull/1581 diff --git a/src/doc/rustc-dev-guide/src/notification-groups/windows.md b/src/doc/rustc-dev-guide/src/notification-groups/windows.md new file mode 100644 index 000000000000..e615a2cbd8de --- /dev/null +++ b/src/doc/rustc-dev-guide/src/notification-groups/windows.md @@ -0,0 +1,33 @@ +# Windows notification group + +**Github Label:** [O-Windows]
+**Ping command:** `@rustbot ping windows` + +[O-Windows]: https://github.com/rust-lang/rust/labels/O-Windows + +This list will be used to ask for help both in diagnosing and testing +Windows-related issues as well as suggestions on how to resolve +interesting questions regarding our Windows support. + +The group also has an associated Zulip stream ([`#t-compiler/windows`]) +where people can go to pose questions and discuss Windows-specific +topics. + +To get a better idea for what the group will do, here are some +examples of the kinds of questions where we would have reached out to +the group for advice in determining the best course of action: + +* Which versions of MinGW should we support? +* Should we remove the legacy InnoSetup GUI installer? [#72569] +* What names should we use for static libraries on Windows? [#29520] + +So, if you are interested in participating, please sign up for the +Windows group! To do so, open a PR against the [rust-lang/team] +repository. Just [follow this example][eg], but change the username to +your own! + +[`#t-compiler/windows`]: https://rust-lang.zulipchat.com/#streams/242869/t-compiler.2Fwindows +[rust-lang/team]: https://github.com/rust-lang/team +[eg]: https://github.com/rust-lang/team/pull/348/ +[#72569]: https://github.com/rust-lang/rust/pull/72569 +[#29520]: https://github.com/rust-lang/rust/pull/29520 diff --git a/src/doc/rustc-dev-guide/src/opaque-types-impl-trait-inference.md b/src/doc/rustc-dev-guide/src/opaque-types-impl-trait-inference.md new file mode 100644 index 000000000000..c56d51a4bb71 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/opaque-types-impl-trait-inference.md @@ -0,0 +1,277 @@ +# Inference of opaque types (`impl Trait`) + +This page describes how the compiler infers the [hidden type] for an [opaque type]. +This kind of type inference is particularly complex because, +unlike other kinds of type inference, +it can work across functions and function bodies. + +[hidden type]: ./borrow_check/region_inference/member_constraints.html?highlight=%22hidden%20type%22#member-constraints +[opaque type]: ./opaque-types-type-alias-impl-trait.md + +## Running example + +To help explain how it works, let's consider an example. + +```rust +mod m { + pub type Seq = impl IntoIterator; + + pub fn produce_singleton(t: T) -> Seq { + vec![t] + } + + pub fn produce_doubleton(t: T, u: T) -> Seq { + vec![t, u] + } +} + +fn is_send(_: &T) {} + +pub fn main() { + let elems = m::produce_singleton(22); + + is_send(&elems); + + for elem in elems { + println!("elem = {:?}", elem); + } +} +``` + +In this code, the *opaque type* is `Seq`. +Its defining scope is the module `m`. +Its *hidden type* is `Vec`, +which is inferred from `m::produce_singleton` and `m::produce_doubleton`. + +In the `main` function, the opaque type is out of its defining scope. +When `main` calls `m::produce_singleton`, it gets back a reference to the opaque type `Seq`. +The `is_send` call checks that `Seq: Send`. +`Send` is not listed amongst the bounds of the impl trait, +but because of auto-trait leakage, we are able to infer that it holds. +The `for` loop desugaring requires that `Seq: IntoIterator`, +which is provable from the bounds declared on `Seq`. + +### Type-checking `main` + +Let's start by looking what happens when we type-check `main`. +Initially we invoke `produce_singleton` and the return type is an opaque type +[`OpaqueTy`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/enum.ItemKind.html#variant.OpaqueTy). + +#### Type-checking the for loop + +The for loop desugars the `in elems` part to `IntoIterator::into_iter(elems)`. +`elems` is of type `Seq`, so the type checker registers a `Seq: IntoIterator` obligation. +This obligation is trivially satisfied, +because `Seq` is an opaque type (`impl IntoIterator`) that has a bound for the trait. +Similar to how a `U: Foo` where bound allows `U` to trivially satisfy `Foo`, +opaque types' bounds are available to the type checker and are used to fulfill obligations. + +The type of `elem` in the for loop is inferred to be ` as IntoIterator>::Item`, which is `T`. +At no point is the type checker interested in the hidden type. + +#### Type-checking the `is_send` call + +When trying to prove auto trait bounds, +we first repeat the process as above, +to see if the auto trait is in the bound list of the opaque type. +If that fails, we reveal the hidden type of the opaque type, +but only to prove this specific trait bound, not in general. +Revealing is done by invoking the `type_of` query on the `DefId` of the opaque type. +The query will internally request the hidden types from the defining function(s) +and return that (see [the section on `type_of`](#Within-the-type_of-query) for more details). + +#### Flowchart of type checking steps + +```mermaid +flowchart TD + TypeChecking["type checking `main`"] + subgraph TypeOfSeq["type_of(Seq) query"] + WalkModuleHir["Walk the HIR for the module `m`\nto find the hidden types from each\nfunction/const/static within"] + VisitProduceSingleton["visit `produce_singleton`"] + InterimType["`produce_singleton` hidden type is `Vec`\nkeep searching"] + VisitProduceDoubleton["visit `produce_doubleton`"] + CompareType["`produce_doubleton` hidden type is also Vec\nthis matches what we saw before ✅"] + Done["No more items to look at in scope\nReturn `Vec`"] + end + + BorrowCheckProduceSingleton["`borrow_check(produce_singleton)`"] + TypeCheckProduceSingleton["`type_check(produce_singleton)`"] + + BorrowCheckProduceDoubleton["`borrow_check(produce_doubleton)`"] + TypeCheckProduceDoubleton["`type_check(produce_doubleton)`"] + + Substitute["Substitute `T => u32`,\nyielding `Vec` as the hidden type"] + CheckSend["Check that `Vec: Send` ✅"] + + TypeChecking -- trait code for auto traits --> TypeOfSeq + TypeOfSeq --> WalkModuleHir + WalkModuleHir --> VisitProduceSingleton + VisitProduceSingleton --> BorrowCheckProduceSingleton + BorrowCheckProduceSingleton --> TypeCheckProduceSingleton + TypeCheckProduceSingleton --> InterimType + InterimType --> VisitProduceDoubleton + VisitProduceDoubleton --> BorrowCheckProduceDoubleton + BorrowCheckProduceDoubleton --> TypeCheckProduceDoubleton + TypeCheckProduceDoubleton --> CompareType --> Done + Done --> Substitute --> CheckSend +``` + +### Within the `type_of` query + +The `type_of` query, when applied to an opaque type O, returns the hidden type. +That hidden type is computed by combining the results +from each constraining function within the defining scope of O. + +```mermaid +flowchart TD + TypeOf["type_of query"] + TypeOf -- find_opaque_ty_constraints --> FindOpaqueTyConstraints + FindOpaqueTyConstraints --> Iterate + Iterate["Iterate over each item in defining scope"] + Iterate -- For each item --> TypeCheck + TypeCheck["Check typeck(I) to see if it constraints O"] + TypeCheck -- I does not\nconstrain O --> Iterate + TypeCheck -- I constrains O --> BorrowCheck + BorrowCheck["Invoke mir_borrowck(I) to get hidden type\nfor O computed by I"] + BorrowCheck --> PreviousType + PreviousType["Hidden type from I\nsame as any previous hidden type\nfound so far?"] + PreviousType -- Yes --> Complete + PreviousType -- No --> ReportError + ReportError["Report an error"] + ReportError --> Complete["Item I complete"] + Complete --> Iterate + + FindOpaqueTyConstraints -- All constraints found --> Done + Done["Done"] +``` + +### Relating an opaque type to another type + +There is one central place where an opaque type gets its hidden type constrained, +and that is the `handle_opaque_type` function. +Amusingly it takes two types, so you can pass any two types, +but one of them should be an opaque type. +The order is only important for diagnostics. + +```mermaid +flowchart TD + subgraph typecheck["type check comparison routines"] + equate.rs + sub.rs + lub.rs + end + + typecheck --> TwoSimul + + subgraph handleopaquetype["infcx.handle_opaque_type"] + + TwoSimul["Defining two opaque types simultaneously?"] + + TwoSimul -- Yes --> ReportError["Report error"] + + TwoSimul -- No --> MayDefine -- Yes --> RegisterOpaqueType --> AlreadyHasValue + + MayDefine -- No --> ReportError + + MayDefine["In defining scope OR in query?"] + + AlreadyHasValue["Opaque type X already has\na registered value?"] + + AlreadyHasValue -- No --> Obligations["Register opaque type bounds\nas obligations for hidden type"] + + RegisterOpaqueType["Register opaque type with\nother type as value"] + + AlreadyHasValue -- Yes --> EquateOpaqueTypes["Equate new hidden type\nwith old hidden type"] + end +``` + +### Interactions with queries + +When queries handle opaque types, +they cannot figure out whether they are in a defining scope, +so they just assume they are. + +The registered hidden types are stored into the `QueryResponse` struct +in the `opaque_types` field (the function +`take_opaque_types_for_query_response` reads them out). + +When the `QueryResponse` is instantiated into the surrounding infcx in +`query_response_substitution_guess`, +we convert each hidden type constraint by invoking `handle_opaque_type` (as above). + +There is one bit of "weirdness". +The instantiated opaque types have an order +(if one opaque type was compared with another, +and we have to pick one opaque type to use as the one that gets its hidden type assigned). +We use the one that is considered "expected". +But really both of the opaque types may have defining uses. +When the query result is instantiated, +that will be re-evaluated from the context that is using the query. +The final context (typeck of a function, mir borrowck or wf-checks) +will know which opaque type can actually be instantiated +and then handle it correctly. + +### Within the MIR borrow checker + +The MIR borrow checker relates things via `nll_relate` and only cares about regions. +Any type relation will trigger the binding of hidden types, +so the borrow checker is doing the same thing as the type checker, +but ignores obviously dead code (e.g. after a panic). +The borrow checker is also the source of truth when it comes to hidden types, +as it is the only one who can properly figure out what lifetimes on the hidden type correspond +to which lifetimes on the opaque type declaration. + +## Backwards compatibility hacks + +`impl Trait` in return position has various quirks that were not part +of any RFCs and are likely accidental stabilization. +To support these, +the `replace_opaque_types_with_inference_vars` is being used to reintroduce the previous behaviour. + +There are three backwards compatibility hacks: + +1. All return sites share the same inference variable, + so some return sites may only compile if another return site uses a concrete type. + ```rust + fn foo() -> impl Debug { + if false { + return std::iter::empty().collect(); + } + vec![42] + } + ``` +2. Associated type equality constraints for `impl Trait` can be used + as long as the hidden type satisfies the trait bounds on the associated type. + The opaque `impl Trait` signature does not need to satisfy them. + + ```rust + trait Duh {} + + impl Duh for i32 {} + + trait Trait { + type Assoc: Duh; + } + + // the fact that `R` is the `::Output` projection on `F` causes + // an intermediate inference var to be generated which is then later + // compared against the actually found `Assoc` type. + impl R> Trait for F { + type Assoc = R; + } + + // The `impl Send` here is then later compared against the inference var + // created, causing the inference var to be set to `impl Send` instead of + // the hidden type. We already have obligations registered on the inference + // var to make it uphold the `: Duh` bound on `Trait::Assoc`. The opaque + // type does not implement `Duh`, even if its hidden type does. + // Lazy TAIT would error out, but we inserted a hack to make it work again, + // keeping backwards compatibility. + fn foo() -> impl Trait { + || 42 + } + ``` +3. Closures cannot create hidden types for their parent function's `impl Trait`. + This point is mostly moot, + because of point 1 introducing inference vars, + so the closure only ever sees the inference var, but should we fix 1, this will become a problem. diff --git a/src/doc/rustc-dev-guide/src/opaque-types-type-alias-impl-trait.md b/src/doc/rustc-dev-guide/src/opaque-types-type-alias-impl-trait.md new file mode 100644 index 000000000000..956f568285a0 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/opaque-types-type-alias-impl-trait.md @@ -0,0 +1,63 @@ +# Opaque types (type alias `impl Trait`) + +Opaque types are syntax to declare an opaque type alias that only +exposes a specific set of traits as their interface; the concrete type in the +background is inferred from a certain set of use sites of the opaque type. + +This is expressed by using `impl Trait` within type aliases, for example: + +```rust,ignore +type Foo = impl Bar; +``` + +This declares an opaque type named `Foo`, of which the only information is that +it implements `Bar`. Therefore, any of `Bar`'s interface can be used on a `Foo`, +but nothing else (regardless of whether it implements any other traits). + +Since there needs to be a concrete background type, +you can (as of January 2021) express that type +by using the opaque type in a "defining use site". + +```rust,ignore +struct Struct; +impl Bar for Struct { /* stuff */ } +fn foo() -> Foo { + Struct +} +``` + +Any other "defining use site" needs to produce the exact same type. + +## Defining use site(s) + +Currently only the return value of a function can be a defining use site +of an opaque type (and only if the return type of that function contains +the opaque type). + +The defining use of an opaque type can be any code *within* the parent +of the opaque type definition. This includes any siblings of the +opaque type and all children of the siblings. + +The initiative for *"not causing fatal brain damage to developers due to +accidentally running infinite loops in their brain while trying to +comprehend what the type system is doing"* has decided to disallow children +of opaque types to be defining use sites. + +### Associated opaque types + +Associated opaque types can be defined by any other associated item +on the same trait `impl` or a child of these associated items. For instance: + +```rust,ignore +trait Baz { + type Foo; + fn foo() -> Self::Foo; +} + +struct Quux; + +impl Baz for Quux { + type Foo = impl Bar; + fn foo() -> Self::Foo { ... } +} +``` diff --git a/src/doc/rustc-dev-guide/src/overview.md b/src/doc/rustc-dev-guide/src/overview.md new file mode 100644 index 000000000000..cc17eaa9e48c --- /dev/null +++ b/src/doc/rustc-dev-guide/src/overview.md @@ -0,0 +1,442 @@ +# Overview of the compiler + + + +This chapter is about the overall process of compiling a program -- how +everything fits together. + +The Rust compiler is special in two ways: it does things to your code that +other compilers don't do (e.g. borrow-checking) and it has a lot of +unconventional implementation choices (e.g. queries). We will talk about these +in turn in this chapter, and in the rest of the guide, we will look at the +individual pieces in more detail. + +## What the compiler does to your code + +So first, let's look at what the compiler does to your code. For now, we will +avoid mentioning how the compiler implements these steps except as needed. + +### Invocation + +Compilation begins when a user writes a Rust source program in text and invokes +the `rustc` compiler on it. The work that the compiler needs to perform is +defined by command-line options. For example, it is possible to enable nightly +features (`-Z` flags), perform `check`-only builds, or emit the LLVM +Intermediate Representation (`LLVM-IR`) rather than executable machine code. +The `rustc` executable call may be indirect through the use of `cargo`. + +Command line argument parsing occurs in the [`rustc_driver`]. This crate +defines the compile configuration that is requested by the user and passes it +to the rest of the compilation process as a [`rustc_interface::Config`]. + +### Lexing and parsing + +The raw Rust source text is analyzed by a low-level *lexer* located in +[`rustc_lexer`]. At this stage, the source text is turned into a stream of +atomic source code units known as _tokens_. The `lexer` supports the +Unicode character encoding. + +The token stream passes through a higher-level lexer located in +[`rustc_parse`] to prepare for the next stage of the compile process. The +[`StringReader`] `struct` is used at this stage to perform a set of validations +and turn strings into interned symbols (_interning_ is discussed later). +[String interning] is a way of storing only one immutable +copy of each distinct string value. + +The lexer has a small interface and doesn't depend directly on the diagnostic +infrastructure in `rustc`. Instead it provides diagnostics as plain data which +are emitted in [`rustc_parse::lexer`] as real diagnostics. The `lexer` +preserves full fidelity information for both IDEs and procedural macros +(sometimes referred to as "proc-macros"). + +The *parser* [translates the token stream from the `lexer` into an Abstract Syntax +Tree (AST)][parser]. It uses a recursive descent (top-down) approach to syntax +analysis. The crate entry points for the `parser` are the +[`Parser::parse_crate_mod()`][parse_crate_mod] and [`Parser::parse_mod()`][parse_mod] +methods found in [`rustc_parse::parser::Parser`]. The external module parsing +entry point is [`rustc_expand::module::parse_external_mod`][parse_external_mod]. +And the macro-`parser` entry point is [`Parser::parse_nonterminal()`][parse_nonterminal]. + +Parsing is performed with a set of [`parser`] utility methods including [`bump`], +[`check`], [`eat`], [`expect`], [`look_ahead`]. + +Parsing is organized by semantic construct. Separate +`parse_*` methods can be found in the [`rustc_parse`][rustc_parse_parser_dir] +directory. The source file name follows the construct name. For example, the +following files are found in the `parser`: + +- [`expr.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_parse/src/parser/expr.rs) +- [`pat.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_parse/src/parser/pat.rs) +- [`ty.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_parse/src/parser/ty.rs) +- [`stmt.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_parse/src/parser/stmt.rs) + +This naming scheme is used across many compiler stages. You will find either a +file or directory with the same name across the parsing, lowering, type +checking, [Typed High-level Intermediate Representation (`THIR`)][thir] lowering, and +[Mid-level Intermediate Representation (`MIR`)][mir] building sources. + +Macro-expansion, `AST`-validation, name-resolution, and early linting also take +place during the lexing and parsing stage. + +The [`rustc_ast::ast`]::{[`Crate`], [`Expr`], [`Pat`], ...} `AST` nodes are +returned from the parser while the standard [`Diag`] API is used +for error handling. Generally Rust's compiler will try to recover from errors +by parsing a superset of Rust's grammar, while also emitting an error type. + +### `AST` lowering + +Next the `AST` is converted into [High-Level Intermediate Representation +(`HIR`)][hir], a more compiler-friendly representation of the `AST`. This process +is called "lowering" and involves a lot of desugaring (the expansion and +formalizing of shortened or abbreviated syntax constructs) of things like loops +and `async fn`. + +We then use the `HIR` to do [*type inference*] (the process of automatic +detection of the type of an expression), [*trait solving*] (the process of +pairing up an impl with each reference to a `trait`), and [*type checking*]. Type +checking is the process of converting the types found in the `HIR` ([`hir::Ty`]), +which represent what the user wrote, into the internal representation used by +the compiler ([`Ty<'tcx>`]). It's called type checking because the information +is used to verify the type safety, correctness and coherence of the types used +in the program. + +### `MIR` lowering + +The `HIR` is further lowered to `MIR` +(used for [borrow checking]) by constructing the `THIR` (an even more desugared `HIR` used for +pattern and exhaustiveness checking) to convert into `MIR`. + +We do [many optimizations on the MIR][mir-opt] because it is generic and that +improves later code generation and compilation speed. It is easier to do some +optimizations at `MIR` level than at `LLVM-IR` level. For example LLVM doesn't seem +to be able to optimize the pattern the [`simplify_try`] `MIR`-opt looks for. + +Rust code is also [_monomorphized_] during code generation, which means making +copies of all the generic code with the type parameters replaced by concrete +types. To do this, we need to collect a list of what concrete types to generate +code for. This is called _monomorphization collection_ and it happens at the +`MIR` level. + +[_monomorphized_]: https://en.wikipedia.org/wiki/Monomorphization + +### Code generation + +We then begin what is simply called _code generation_ or _codegen_. The [code +generation stage][codegen] is when higher-level representations of source are +turned into an executable binary. Since `rustc` uses LLVM for code generation, +the first step is to convert the `MIR` to `LLVM-IR`. This is where the `MIR` is +actually monomorphized. The `LLVM-IR` is passed to LLVM, which does a lot more +optimizations on it, emitting machine code which is basically assembly code +with additional low-level types and annotations added (e.g. an ELF object or +`WASM`). The different libraries/binaries are then linked together to produce +the final binary. + +[*trait solving*]: traits/resolution.md +[*type checking*]: type-checking.md +[*type inference*]: type-inference.md +[`bump`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.bump +[`check`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.check +[`Crate`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_ast/ast/struct.Crate.html +[`diag`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diag.html +[`eat`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.eat +[`expect`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.expect +[`Expr`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_ast/ast/struct.Expr.html +[`hir::Ty`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Ty.html +[`look_ahead`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.look_ahead +[`Parser`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html +[`Pat`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_ast/ast/struct.Pat.html +[`rustc_ast::ast`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_ast/index.html +[`rustc_driver`]: rustc-driver/intro.md +[`rustc_interface::Config`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/struct.Config.html +[`rustc_lexer`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lexer/index.html +[`rustc_parse::lexer`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/lexer/index.html +[`rustc_parse::parser::Parser`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html +[`rustc_parse`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html +[`simplify_try`]: https://github.com/rust-lang/rust/pull/66282 +[`StringReader`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/lexer/struct.StringReader.html +[`Ty<'tcx>`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Ty.html +[borrow checking]: borrow_check.md +[codegen]: backend/codegen.md +[hir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/index.html +[lex]: the-parser.md +[mir-opt]: mir/optimizations.md +[mir]: mir/index.md +[parse_crate_mod]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.parse_crate_mod +[parse_external_mod]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/module/fn.parse_external_mod.html +[parse_mod]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.parse_mod +[parse_nonterminal]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.parse_nonterminal +[parser]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html +[rustc_parse_parser_dir]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_parse/src/parser +[String interning]: https://en.wikipedia.org/wiki/String_interning +[thir]: ./thir.md + +## How it does it + +Now that we have a high-level view of what the compiler does to your code, +let's take a high-level view of _how_ it does all that stuff. There are a lot +of constraints and conflicting goals that the compiler needs to +satisfy/optimize for. For example, + +- Compilation speed: how fast is it to compile a program? More/better + compile-time analyses often means compilation is slower. + - Also, we want to support incremental compilation, so we need to take that + into account. How can we keep track of what work needs to be redone and + what can be reused if the user modifies their program? + - Also we can't store too much stuff in the incremental cache because + it would take a long time to load from disk and it could take a lot + of space on the user's system... +- Compiler memory usage: while compiling a program, we don't want to use more + memory than we need. +- Program speed: how fast is your compiled program? More/better compile-time + analyses often means the compiler can do better optimizations. +- Program size: how large is the compiled binary? Similar to the previous + point. +- Compiler compilation speed: how long does it take to compile the compiler? + This impacts contributors and compiler maintenance. +- Implementation complexity: building a compiler is one of the hardest + things a person/group can do, and Rust is not a very simple language, so how + do we make the compiler's code base manageable? +- Compiler correctness: the binaries produced by the compiler should do what + the input programs says they do, and should continue to do so despite the + tremendous amount of change constantly going on. +- Integration: a number of other tools need to use the compiler in + various ways (e.g. `cargo`, `clippy`, `MIRI`) that must be supported. +- Compiler stability: the compiler should not crash or fail ungracefully on the + stable channel. +- Rust stability: the compiler must respect Rust's stability guarantees by not + breaking programs that previously compiled despite the many changes that are + always going on to its implementation. +- Limitations of other tools: `rustc` uses LLVM in its backend, and LLVM has some + strengths we leverage and some aspects we need to work around. + +So, as you continue your journey through the rest of the guide, keep these +things in mind. They will often inform decisions that we make. + +### Intermediate representations + +As with most compilers, `rustc` uses some intermediate representations (IRs) to +facilitate computations. In general, working directly with the source code is +extremely inconvenient and error-prone. Source code is designed to be human-friendly while at +the same time being unambiguous, but it's less convenient for doing something +like, say, type checking. + +Instead most compilers, including `rustc`, build some sort of IR out of the +source code which is easier to analyze. `rustc` has a few IRs, each optimized +for different purposes: + +- Token stream: the lexer produces a stream of tokens directly from the source + code. This stream of tokens is easier for the parser to deal with than raw + text. +- Abstract Syntax Tree (`AST`): the abstract syntax tree is built from the stream + of tokens produced by the lexer. It represents + pretty much exactly what the user wrote. It helps to do some syntactic sanity + checking (e.g. checking that a type is expected where the user wrote one). +- High-level IR (HIR): This is a sort of desugared `AST`. It's still close + to what the user wrote syntactically, but it includes some implicit things + such as some elided lifetimes, etc. This IR is amenable to type checking. +- Typed `HIR` (THIR) _formerly High-level Abstract IR (HAIR)_: This is an + intermediate between `HIR` and MIR. It is like the `HIR` but it is fully typed + and a bit more desugared (e.g. method calls and implicit dereferences are + made fully explicit). As a result, it is easier to lower to `MIR` from `THIR` than + from HIR. +- Middle-level IR (`MIR`): This IR is basically a Control-Flow Graph (CFG). A CFG + is a type of diagram that shows the basic blocks of a program and how control + flow can go between them. Likewise, `MIR` also has a bunch of basic blocks with + simple typed statements inside them (e.g. assignment, simple computations, + etc) and control flow edges to other basic blocks (e.g., calls, dropping + values). `MIR` is used for borrow checking and other + important dataflow-based checks, such as checking for uninitialized values. + It is also used for a series of optimizations and for constant evaluation (via + `MIRI`). Because `MIR` is still generic, we can do a lot of analyses here more + efficiently than after monomorphization. +- `LLVM-IR`: This is the standard form of all input to the LLVM compiler. `LLVM-IR` + is a sort of typed assembly language with lots of annotations. It's + a standard format that is used by all compilers that use LLVM (e.g. the clang + C compiler also outputs `LLVM-IR`). `LLVM-IR` is designed to be easy for other + compilers to emit and also rich enough for LLVM to run a bunch of + optimizations on it. + +One other thing to note is that many values in the compiler are _interned_. +This is a performance and memory optimization in which we allocate the values in +a special allocator called an +_[arena]_. Then, we pass +around references to the values allocated in the arena. This allows us to make +sure that identical values (e.g. types in your program) are only allocated once +and can be compared cheaply by comparing pointers. Many of the intermediate +representations are interned. + +[arena]: https://en.wikipedia.org/wiki/Region-based_memory_management + +### Queries + +The first big implementation choice is Rust's use of the _query_ system in its +compiler. The Rust compiler _is not_ organized as a series of passes over the +code which execute sequentially. The Rust compiler does this to make +incremental compilation possible -- that is, if the user makes a change to +their program and recompiles, we want to do as little redundant work as +possible to output the new binary. + +In `rustc`, all the major steps above are organized as a bunch of queries that +call each other. For example, there is a query to ask for the type of something +and another to ask for the optimized `MIR` of a function. These queries can call +each other and are all tracked through the query system. The results of the +queries are cached on disk so that the compiler can tell which queries' results +changed from the last compilation and only redo those. This is how incremental +compilation works. + +In principle, for the query-fied steps, we do each of the above for each item +individually. For example, we will take the `HIR` for a function and use queries +to ask for the `LLVM-IR` for that HIR. This drives the generation of optimized +`MIR`, which drives the borrow checker, which drives the generation of `MIR`, and +so on. + +... except that this is very over-simplified. In fact, some queries are not +cached on disk, and some parts of the compiler have to run for all code anyway +for correctness even if the code is dead code (e.g. the borrow checker). For +example, [currently the `mir_borrowck` query is first executed on all functions +of a crate.][passes] Then the codegen backend invokes the +`collect_and_partition_mono_items` query, which first recursively requests the +`optimized_mir` for all reachable functions, which in turn runs `mir_borrowck` +for that function and then creates codegen units. This kind of split will need +to remain to ensure that unreachable functions still have their errors emitted. + +[passes]: https://github.com/rust-lang/rust/blob/e69c7306e2be08939d95f14229e3f96566fb206c/compiler/rustc_interface/src/passes.rs#L791 + +Moreover, the compiler wasn't originally built to use a query system; the query +system has been retrofitted into the compiler, so parts of it are not query-fied +yet. Also, LLVM isn't our code, so that isn't querified either. The plan is to +eventually query-fy all of the steps listed in the previous section, +but as of November 2022, only the steps between `HIR` and +`LLVM-IR` are query-fied. That is, lexing, parsing, name resolution, and macro +expansion are done all at once for the whole program. + +One other thing to mention here is the all-important "typing context", +[`TyCtxt`], which is a giant struct that is at the center of all things. +(Note that the name is mostly historic. This is _not_ a "typing context" in the +sense of `Γ` or `Δ` from type theory. The name is retained because that's what +the name of the struct is in the source code.) All +queries are defined as methods on the [`TyCtxt`] type, and the in-memory query +cache is stored there too. In the code, there is usually a variable called +`tcx` which is a handle on the typing context. You will also see lifetimes with +the name `'tcx`, which means that something is tied to the lifetime of the +[`TyCtxt`] (usually it is stored or interned there). + +[`TyCtxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html + +### `ty::Ty` + +Types are really important in Rust, and they form the core of a lot of compiler +analyses. The main type (in the compiler) that represents types (in the user's +program) is [`rustc_middle::ty::Ty`][ty]. This is so important that we have a whole chapter +on [`ty::Ty`][ty], but for now, we just want to mention that it exists and is the way +`rustc` represents types! + +Also note that the [`rustc_middle::ty`] module defines the [`TyCtxt`] struct we mentioned before. + +[ty]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Ty.html +[`rustc_middle::ty`]: https://doc.rust-lang.org/beta/nightly-rustc/rustc_middle/ty/index.html + +### Parallelism + +Compiler performance is a problem that we would like to improve on +(and are always working on). One aspect of that is parallelizing +`rustc` itself. + +Currently, there is only one part of rustc that is parallel by default: +[code generation](./parallel-rustc.md#Codegen). + +However, the rest of the compiler is still not yet parallel. There have been +lots of efforts spent on this, but it is generally a hard problem. The current +approach is to turn [`RefCell`]s into [`Mutex`]s -- that is, we +switch to thread-safe internal mutability. However, there are ongoing +challenges with lock contention, maintaining query-system invariants under +concurrency, and the complexity of the code base. One can try out the current +work by enabling parallel compilation in `config.toml`. It's still early days, +but there are already some promising performance improvements. + +[`RefCell`]: https://doc.rust-lang.org/std/cell/struct.RefCell.html +[`Mutex`]: https://doc.rust-lang.org/std/sync/struct.Mutex.html + +### Bootstrapping + +`rustc` itself is written in Rust. So how do we compile the compiler? We use an +older compiler to compile the newer compiler. This is called [_bootstrapping_]. + +Bootstrapping has a lot of interesting implications. For example, it means +that one of the major users of Rust is the Rust compiler, so we are +constantly testing our own software ("eating our own dogfood"). + +For more details on bootstrapping, see +[the bootstrapping section of the guide][rustc-bootstrap]. + +[_bootstrapping_]: https://en.wikipedia.org/wiki/Bootstrapping_(compilers) +[rustc-bootstrap]: building/bootstrapping/intro.md + + + +# References + +- Command line parsing + - Guide: [The Rustc Driver and Interface](rustc-driver/intro.md) + - Driver definition: [`rustc_driver`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/) + - Main entry point: [`rustc_session::config::build_session_options`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/config/fn.build_session_options.html) +- Lexical Analysis: Lex the user program to a stream of tokens + - Guide: [Lexing and Parsing](the-parser.md) + - Lexer definition: [`rustc_lexer`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lexer/index.html) + - Main entry point: [`rustc_lexer::cursor::Cursor::advance_token`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lexer/cursor/struct.Cursor.html#method.advance_token) +- Parsing: Parse the stream of tokens to an Abstract Syntax Tree (AST) + - Guide: [Lexing and Parsing](the-parser.md) + - Guide: [Macro Expansion](macro-expansion.md) + - Guide: [Name Resolution](name-resolution.md) + - Parser definition: [`rustc_parse`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html) + - Main entry points: + - [Entry point for first file in crate](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/passes/fn.parse.html) + - [Entry point for outline module parsing](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/module/fn.parse_external_mod.html) + - [Entry point for macro fragments][parse_nonterminal] + - `AST` definition: [`rustc_ast`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/ast/index.html) + - Feature gating: **TODO** + - Early linting: **TODO** +- The High Level Intermediate Representation (HIR) + - Guide: [The HIR](hir.md) + - Guide: [Identifiers in the HIR](hir.md#identifiers-in-the-hir) + - Guide: [The `HIR` Map](hir.md#the-hir-map) + - Guide: [Lowering `AST` to `HIR`](ast-lowering.md) + - How to view `HIR` representation for your code `cargo rustc -- -Z unpretty=hir-tree` + - Rustc `HIR` definition: [`rustc_hir`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/index.html) + - Main entry point: **TODO** + - Late linting: **TODO** +- Type Inference + - Guide: [Type Inference](type-inference.md) + - Guide: [The ty Module: Representing Types](ty.md) (semantics) + - Main entry point (type inference): [`InferCtxtBuilder::enter`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/infer/struct.InferCtxtBuilder.html#method.enter) + - Main entry point (type checking bodies): [the `typeck` query](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html#method.typeck) + - These two functions can't be decoupled. +- The Mid Level Intermediate Representation (MIR) + - Guide: [The `MIR` (Mid level IR)](mir/index.md) + - Definition: [`rustc_middle/src/mir`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/index.html) + - Definition of sources that manipulates the MIR: [`rustc_mir_build`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_build/index.html), [`rustc_mir_dataflow`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/index.html), [`rustc_mir_transform`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/index.html) +- The Borrow Checker + - Guide: [MIR Borrow Check](borrow_check.md) + - Definition: [`rustc_borrowck`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/index.html) + - Main entry point: [`mir_borrowck` query](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/fn.mir_borrowck.html) +- `MIR` Optimizations + - Guide: [MIR Optimizations](mir/optimizations.md) + - Definition: [`rustc_mir_transform`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/index.html) + - Main entry point: [`optimized_mir` query](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_transform/fn.optimized_mir.html) +- Code Generation + - Guide: [Code Generation](backend/codegen.md) + - Generating Machine Code from `LLVM-IR` with LLVM - **TODO: reference?** + - Main entry point: [`rustc_codegen_ssa::base::codegen_crate`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/base/fn.codegen_crate.html) + - This monomorphizes and produces `LLVM-IR` for one codegen unit. It then + starts a background thread to run LLVM, which must be joined later. + - Monomorphization happens lazily via [`FunctionCx::monomorphize`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/struct.FunctionCx.html#method.monomorphize) and [`rustc_codegen_ssa::base::codegen_instance `](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/base/fn.codegen_instance.html) diff --git a/src/doc/rustc-dev-guide/src/panic-implementation.md b/src/doc/rustc-dev-guide/src/panic-implementation.md new file mode 100644 index 000000000000..f35874286671 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/panic-implementation.md @@ -0,0 +1,115 @@ +# Panicking in rust + + + +## Step 1: Invocation of the `panic!` macro. + +There are actually two panic macros - one defined in `core`, and one defined in `std`. +This is due to the fact that code in `core` can panic. `core` is built before `std`, +but we want panics to use the same machinery at runtime, whether they originate in `core` +or `std`. + +### core definition of panic! + +The `core` `panic!` macro eventually makes the following call (in `library/core/src/panicking.rs`): + +```rust +// NOTE This function never crosses the FFI boundary; it's a Rust-to-Rust call +extern "Rust" { + #[lang = "panic_impl"] + fn panic_impl(pi: &PanicInfo<'_>) -> !; +} + +let pi = PanicInfo::internal_constructor(Some(&fmt), location); +unsafe { panic_impl(&pi) } +``` + +Actually resolving this goes through several layers of indirection: + +1. In `compiler/rustc_middle/src/middle/weak_lang_items.rs`, `panic_impl` is + declared as 'weak lang item', with the symbol `rust_begin_unwind`. This is + used in `rustc_hir_analysis/src/collect.rs` to set the actual symbol name to + `rust_begin_unwind`. + + Note that `panic_impl` is declared in an `extern "Rust"` block, + which means that core will attempt to call a foreign symbol called `rust_begin_unwind` + (to be resolved at link time) + +2. In `library/std/src/panicking.rs`, we have this definition: + +```rust +/// Entry point of panic from the core crate. +#[cfg(not(test))] +#[panic_handler] +#[unwind(allowed)] +pub fn begin_panic_handler(info: &PanicInfo<'_>) -> ! { + ... +} +``` + +The special `panic_handler` attribute is resolved via `compiler/rustc_middle/src/middle/lang_items`. +The `extract` function converts the `panic_handler` attribute to a `panic_impl` lang item. + +Now, we have a matching `panic_handler` lang item in the `std`. This function goes +through the same process as the `extern { fn panic_impl }` definition in `core`, ending +up with a symbol name of `rust_begin_unwind`. At link time, the symbol reference in `core` +will be resolved to the definition of `std` (the function called `begin_panic_handler` in the +Rust source). + +Thus, control flow will pass from core to std at runtime. This allows panics from `core` +to go through the same infrastructure that other panics use (panic hooks, unwinding, etc) + +### std implementation of panic! + +This is where the actual panic-related logic begins. In `library/std/src/panicking.rs`, +control passes to `rust_panic_with_hook`. This method is responsible +for invoking the global panic hook, and checking for double panics. Finally, +we call `__rust_start_panic`, which is provided by the panic runtime. + +The call to `__rust_start_panic` is very weird - it is passed a `*mut &mut dyn PanicPayload`, +converted to an `usize`. Let's break this type down: + +1. `PanicPayload` is an internal trait. It is implemented for `PanicPayload` +(a wrapper around the user-supplied payload type), and has a method +`fn take_box(&mut self) -> *mut (dyn Any + Send)`. +This method takes the user-provided payload (`T: Any + Send`), +boxes it, and converts the box to a raw pointer. + +2. When we call `__rust_start_panic`, we have an `&mut dyn PanicPayload`. +However, this is a fat pointer (twice the size of a `usize`). +To pass this to the panic runtime across an FFI boundary, we take a mutable +reference *to this mutable reference* (`&mut &mut dyn PanicPayload`), and convert it to a raw +pointer (`*mut &mut dyn PanicPayload`). The outer raw pointer is a thin pointer, since it points to +a `Sized` type (a mutable reference). Therefore, we can convert this thin pointer into a `usize`, +which is suitable for passing across an FFI boundary. + +Finally, we call `__rust_start_panic` with this `usize`. We have now entered the panic runtime. + +## Step 2: The panic runtime + +Rust provides two panic runtimes: `panic_abort` and `panic_unwind`. The user chooses +between them at build time via their `Cargo.toml` + +`panic_abort` is extremely simple: its implementation of `__rust_start_panic` just aborts, +as you would expect. + +`panic_unwind` is the more interesting case. + +In its implementation of `__rust_start_panic`, we take the `usize`, convert +it back to a `*mut &mut dyn PanicPayload`, dereference it, and call `take_box` +on the `&mut dyn PanicPayload`. At this point, we have a raw pointer to the payload +itself (a `*mut (dyn Send + Any)`): that is, a raw pointer to the actual value +provided by the user who called `panic!`. + +At this point, the platform-independent code ends. We now call into +platform-specific unwinding logic (e.g `unwind`). This code is +responsible for unwinding the stack, running any 'landing pads' associated +with each frame (currently, running destructors), and transferring control +to the `catch_unwind` frame. + +Note that all panics either abort the process or get caught by some call to `catch_unwind`. +In particular, in std's [runtime service], +the call to the user-provided `main` function is wrapped in `catch_unwind`. + + +[runtime service]: https://github.com/rust-lang/rust/blob/master/library/std/src/rt.rs diff --git a/src/doc/rustc-dev-guide/src/parallel-rustc.md b/src/doc/rustc-dev-guide/src/parallel-rustc.md new file mode 100644 index 000000000000..2dae95a3491d --- /dev/null +++ b/src/doc/rustc-dev-guide/src/parallel-rustc.md @@ -0,0 +1,185 @@ +# Parallel Compilation + +
+As of November 2024, +the parallel front-end is undergoing significant changes, +so this page contains quite a bit of outdated information. + +Tracking issue: +
+ +As of November 2024, most of the rust compiler is now +parallelized. + +- The codegen part is executed concurrently by default. You can use the `-C + codegen-units=n` option to control the number of concurrent tasks. +- The parts after HIR lowering to codegen such as type checking, borrowing + checking, and mir optimization are parallelized in the nightly version. + Currently, they are executed in serial by default, and parallelization is + manually enabled by the user using the `-Z threads = n` option. +- Other parts, such as lexical parsing, HIR lowering, and macro expansion, are + still executed in serial mode. + +
+The following sections are kept for now but are quite outdated. +
+ +--- + +[codegen]: backend/codegen.md + +## Code Generation + +During monomorphization the compiler splits up all the code to +be generated into smaller chunks called _codegen units_. These are then generated by +independent instances of LLVM running in parallel. At the end, the linker +is run to combine all the codegen units together into one binary. This process +occurs in the [`rustc_codegen_ssa::base`] module. + +[`rustc_codegen_ssa::base`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/base/index.html + +## Data Structures + +The underlying thread-safe data-structures used in the parallel compiler +can be found in the [`rustc_data_structures::sync`] module. These data structures +are implemented differently depending on whether `parallel-compiler` is true. + +| data structure | parallel | non-parallel | +| -------------------------------- | --------------------------------------------------- | ------------ | +| Lrc | std::sync::Arc | std::rc::Rc | +| Weak | std::sync::Weak | std::rc::Weak | +| Atomic{Bool}/{Usize}/{U32}/{U64} | std::sync::atomic::Atomic{Bool}/{Usize}/{U32}/{U64} | (std::cell::Cell) | +| OnceCell | std::sync::OnceLock | std::cell::OnceCell | +| Lock\ | (parking_lot::Mutex\) | (std::cell::RefCell) | +| RwLock\ | (parking_lot::RwLock\) | (std::cell::RefCell) | +| MTRef<'a, T> | &'a T | &'a mut T | +| MTLock\ | (Lock\) | (T) | +| ReadGuard | parking_lot::RwLockReadGuard | std::cell::Ref | +| MappedReadGuard | parking_lot::MappedRwLockReadGuard | std::cell::Ref | +| WriteGuard | parking_lot::RwLockWriteGuard | std::cell::RefMut | +| MappedWriteGuard | parking_lot::MappedRwLockWriteGuard | std::cell::RefMut | +| LockGuard | parking_lot::MutexGuard | std::cell::RefMut | +| MappedLockGuard | parking_lot::MappedMutexGuard | std::cell::RefMut | + +- These thread-safe data structures are interspersed during compilation which + can cause lock contention resulting in degraded performance as the number of + threads increases beyond 4. So we audit the use of these data structures + which leads to either a refactoring so as to reduce the use of shared state, + or the authoring of persistent documentation covering the specific of the + invariants, the atomicity, and the lock orderings. + +- On the other hand, we still need to figure out what other invariants + during compilation might not hold in parallel compilation. + +[`rustc_data_structures::sync`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/sync/index.html + +### WorkerLocal + +[`WorkerLocal`] is a special data structure implemented for parallel compilers. It +holds worker-locals values for each thread in a thread pool. You can only +access the worker local value through the `Deref` `impl` on the thread pool it +was constructed on. It panics otherwise. + +`WorkerLocal` is used to implement the `Arena` allocator in the parallel +environment, which is critical in parallel queries. Its implementation is +located in the [`rustc_data_structures::sync::worker_local`] module. However, +in the non-parallel compiler, it is implemented as `(OneThread)`, whose `T` +can be accessed directly through `Deref::deref`. + +[`rustc_data_structures::sync::worker_local`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/sync/worker_local/index.html +[`WorkerLocal`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/sync/worker_local/struct.WorkerLocal.html + +## Parallel Iterator + +The parallel iterators provided by the [`rayon`] crate are easy ways to +implement parallelism. In the current implementation of the parallel compiler +we use a custom [fork][rustc-rayon] of `rayon` to run tasks in parallel. + +Some iterator functions are implemented to run loops in parallel +when `parallel-compiler` is true. + +| Function(Omit `Send` and `Sync`) | Introduction | Owning Module | +| ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | +| **par_iter**(t: T) -> T::Iter | generate a parallel iterator | rustc_data_structure::sync | +| **par_for_each_in**(t: T, for_each: impl Fn(T::Item)) | generate a parallel iterator and run `for_each` on each element | rustc_data_structure::sync | +| **Map::par_body_owners**(self, f: impl Fn(LocalDefId)) | run `f` on all hir owners in the crate | rustc_middle::hir::map | +| **Map::par_for_each_module**(self, f: impl Fn(LocalDefId)) | run `f` on all modules and sub modules in the crate | rustc_middle::hir::map | +| **ModuleItems::par_items**(&self, f: impl Fn(ItemId)) | run `f` on all items in the module | rustc_middle::hir | +| **ModuleItems::par_trait_items**(&self, f: impl Fn(TraitItemId)) | run `f` on all trait items in the module | rustc_middle::hir | +| **ModuleItems::par_impl_items**(&self, f: impl Fn(ImplItemId)) | run `f` on all impl items in the module | rustc_middle::hir | +| **ModuleItems::par_foreign_items**(&self, f: impl Fn(ForeignItemId)) | run `f` on all foreign items in the module | rustc_middle::hir | + +There are a lot of loops in the compiler which can possibly be parallelized +using these functions. As of August 2022, scenarios where +the parallel iterator function has been used are as follows: + +| caller | scenario | callee | +| ------------------------------------------------------- | ------------------------------------------------------------ | ------------------------ | +| rustc_metadata::rmeta::encoder::prefetch_mir | Prefetch queries which will be needed later by metadata encoding | par_iter | +| rustc_monomorphize::collector::collect_crate_mono_items | Collect monomorphized items reachable from non-generic items | par_for_each_in | +| rustc_interface::passes::analysis | Check the validity of the match statements | Map::par_body_owners | +| rustc_interface::passes::analysis | MIR borrow check | Map::par_body_owners | +| rustc_typeck::check::typeck_item_bodies | Type check | Map::par_body_owners | +| rustc_interface::passes::hir_id_validator::check_crate | Check the validity of hir | Map::par_for_each_module | +| rustc_interface::passes::analysis | Check the validity of loops body, attributes, naked functions, unstable abi, const bodys | Map::par_for_each_module | +| rustc_interface::passes::analysis | Liveness and intrinsic checking of MIR | Map::par_for_each_module | +| rustc_interface::passes::analysis | Deathness checking | Map::par_for_each_module | +| rustc_interface::passes::analysis | Privacy checking | Map::par_for_each_module | +| rustc_lint::late::check_crate | Run per-module lints | Map::par_for_each_module | +| rustc_typeck::check_crate | Well-formedness checking | Map::par_for_each_module | + +There are still many loops that have the potential to use parallel iterators. + +## Query System + +The query model has some properties that make it actually feasible to evaluate +multiple queries in parallel without too much effort: + +- All data a query provider can access is via the query context, so + the query context can take care of synchronizing access. +- Query results are required to be immutable so they can safely be used by + different threads concurrently. + +When a query `foo` is evaluated, the cache table for `foo` is locked. + +- If there already is a result, we can clone it, release the lock and + we are done. +- If there is no cache entry and no other active query invocation computing the + same result, we mark the key as being "in progress", release the lock and + start evaluating. +- If there *is* another query invocation for the same key in progress, we + release the lock, and just block the thread until the other invocation has + computed the result we are waiting for. **Cycle error detection** in the parallel + compiler requires more complex logic than in single-threaded mode. When + worker threads in parallel queries stop making progress due to interdependence, + the compiler uses an extra thread *(named deadlock handler)* to detect, remove and + report the cycle error. + +The parallel query feature still has implementation to do, most of which is +related to the previous `Data Structures` and `Parallel Iterators`. See [this +open feature tracking issue][tracking]. + +## Rustdoc + +As of November 2022, there are still a number of steps to +complete before `rustdoc` rendering can be made parallel (see a open discussion +of [parallel `rustdoc`][parallel-rustdoc]). + +## Resources + +Here are some resources that can be used to learn more: + +- [This IRLO thread by alexchricton about performance][irlo1] +- [This IRLO thread by Zoxc, one of the pioneers of the effort][irlo0] +- [This list of interior mutability in the compiler by nikomatsakis][imlist] + +[`rayon`]: https://crates.io/crates/rayon +[Arc]: https://doc.rust-lang.org/std/sync/struct.Arc.html +[imlist]: https://github.com/nikomatsakis/rustc-parallelization/blob/master/interior-mutability-list.md +[irlo0]: https://internals.rust-lang.org/t/parallelizing-rustc-using-rayon/6606 +[irlo1]: https://internals.rust-lang.org/t/help-test-parallel-rustc/11503 +[monomorphization]: backend/monomorph.md +[parallel-rustdoc]: https://github.com/rust-lang/rust/issues/82741 +[Rc]: https://doc.rust-lang.org/std/rc/struct.Rc.html +[rustc-rayon]: https://github.com/rust-lang/rustc-rayon +[tracking]: https://github.com/rust-lang/rust/issues/48685 diff --git a/src/doc/rustc-dev-guide/src/param_env/param_env_acquisition.md b/src/doc/rustc-dev-guide/src/param_env/param_env_acquisition.md new file mode 100644 index 000000000000..391e562910fa --- /dev/null +++ b/src/doc/rustc-dev-guide/src/param_env/param_env_acquisition.md @@ -0,0 +1,44 @@ + +# Which `ParamEnv` do I use? + +When needing a [`ParamEnv`][pe] in the compiler there are a few options for obtaining one: +- The correct env is already in scope simply use it (or pass it down the call stack to where you are). +- The [`tcx.param_env(def_id)` query][param_env_query] +- Use [`ParamEnv::new`][param_env_new] to construct an env with an arbitrary set of where clauses. Then call [`traits::normalize_param_env_or_error`][normalize_env_or_error] which will handle normalizing and elaborating all the where clauses in the env for you. +- Creating an empty environment via [`ParamEnv::reveal_all`][env_reveal_all] or [`ParamEnv::empty`][env_empty] + +In the large majority of cases a `ParamEnv` when required already exists somewhere in scope or above in the call stack and should be passed down. A non exhaustive list of places where you might find an existing `ParamEnv`: +- During typeck `FnCtxt` has a [`param_env` field][fnctxt_param_env] +- When writing late lints the `LateContext` has a [`param_env` field][latectxt_param_env] +- During well formedness checking the `WfCheckingCtxt` has a [`param_env` field][wfckctxt_param_env] +- The `TypeChecker` used by Mir Typeck has a [`param_env` field][mirtypeck_param_env] +- In the next-gen trait solver all `Goal`s have a [`param_env` field][goal_param_env] specifying what environment to prove the goal in +- When editing an existing [`TypeRelation`][typerelation] if it implements `PredicateEmittingRelation` then a [`param_env` method][typerelation_param_env] will be available. + +Using the `param_env` query to obtain an env is generally done at the start of some kind of analysis and then passed everywhere that a `ParamEnv` is required. For example the type checker will create a `ParamEnv` for the item it is type checking and then pass it around everywhere. + +Creating an env from an arbitrary set of where clauses is usually unnecessary and should only be done if the environment you need does not correspond to an actual item in the source code (i.e. [`compare_method_predicate_entailment`][method_pred_entailment] as mentioned earlier). + +Creating an empty environment via `ParamEnv::empty` is almost always wrong. There are very few places where we actually know that the environment should be empty. One of the only places where we do actually know this is after monomorphization, however the `ParamEnv` there should be constructed via `ParamEnv::reveal_all` instead as at this point we should be able to determine the hidden type of opaque types. Codegen/Post-mono is one of the only places that should be using `ParamEnv::reveal_all`. + +An additional piece of complexity here is specifying the [`Reveal`][reveal] (see linked docs for explanation of what reveal does) used for the `ParamEnv`. When constructing a param env using the `param_env` query it will have `Reveal::UserFacing`, if `Reveal::All` is desired then the [`tcx.param_env_reveal_all_normalized`][env_reveal_all_normalized] query can be used instead. + +The `ParamEnv` type has a method [`ParamEnv::with_reveal_all_normalized`][with_reveal_all] which converts an existing `ParamEnv` into one with `Reveal::All` specified. Where possible the previously mentioned query should be preferred as it is more efficient. + +[param_env_new]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html#method.new +[normalize_env_or_error]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_trait_selection/traits/fn.normalize_param_env_or_error.html +[fnctxt_param_env]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/fn_ctxt/struct.FnCtxt.html#structfield.param_env +[latectxt_param_env]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/context/struct.LateContext.html#structfield.param_env +[wfckctxt_param_env]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_analysis/check/wfcheck/struct.WfCheckingCtxt.html#structfield.param_env +[goal_param_env]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/infer/canonical/ir/solve/struct.Goal.html#structfield.param_env +[typerelation_param_env]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/infer/trait.PredicateEmittingRelation.html#tymethod.param_env +[typerelation]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/relate/trait.TypeRelation.html +[mirtypeck_param_env]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck/type_check/struct.TypeChecker.html#structfield.param_env +[env_reveal_all_normalized]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.param_env_reveal_all_normalized +[with_reveal_all]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html#method.with_reveal_all_normalized +[env_reveal_all]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html#method.reveal_all +[env_empty]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html#method.empty +[reveal]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/traits/enum.Reveal.html +[pe]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html +[param_env_query]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/fn_ctxt/struct.FnCtxt.html#structfield.param_env +[method_pred_entailment]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_analysis/check/compare_impl_item/fn.compare_method_predicate_entailment.html diff --git a/src/doc/rustc-dev-guide/src/param_env/param_env_construction_internals.md b/src/doc/rustc-dev-guide/src/param_env/param_env_construction_internals.md new file mode 100644 index 000000000000..69a262a176e0 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/param_env/param_env_construction_internals.md @@ -0,0 +1,83 @@ + +# How are `ParamEnv`'s constructed internally? + +Creating a [`ParamEnv`][pe] is more complicated than simply using the list of where clauses defined on an item as written by the user. We need to both elaborate supertraits into the env and fully normalize all aliases. This logic is handled by [`traits::normalize_param_env_or_error`][normalize_env_or_error] (even though it does not mention anything about elaboration). + +## Elaborating supertraits + +When we have a function such as `fn foo()` we would like to be able to prove `T: Clone` inside of the function as the `Copy` trait has a `Clone` supertrait. Constructing a `ParamEnv` looks at all of the trait bounds in the env and explicitly adds new where clauses to the `ParamEnv` for any supertraits found on the traits. + +A concrete example would be the following function: +```rust +trait Trait: SuperTrait {} +trait SuperTrait: SuperSuperTrait {} + +// `bar`'s unelaborated `ParamEnv` would be: +// `[T: Sized, T: Copy, T: Trait]` +fn bar(a: T) { + requires_impl(a); +} + +fn requires_impl(a: T) {} +``` + +If we did not elaborate the env then the `requires_impl` call would fail to typecheck as we would not be able to prove `T: Clone` or `T: SuperSuperTrait`. In practice we elaborate the env which means that `bar`'s `ParamEnv` is actually: +`[T: Sized, T: Copy, T: Clone, T: Trait, T: SuperTrait, T: SuperSuperTrait]` +This allows us to prove `T: Clone` and `T: SuperSuperTrait` when type checking `bar`. + +The `Clone` trait has a `Sized` supertrait however we do not end up with two `T: Sized` bounds in the env (one for the supertrait and one for the implicitly added `T: Sized` bound). This is because the elaboration process (implemented via [`util::elaborate`][elaborate]) deduplicates the where clauses to avoid this. + +As a side effect this also means that even if no actual elaboration of supertraits takes place, the existing where clauses in the env are _also_ deduplicated. See the following example: +```rust +trait Trait {} +// The unelaborated `ParamEnv` would be: +// `[T: Sized, T: Trait, T: Trait]` +// but after elaboration it would be: +// `[T: Sized, T: Trait]` +fn foo() {} +``` + +The [next-gen trait solver][next-gen-solver] also requires this elaboration to take place. + +[elaborate]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/traits/util/fn.elaborate.html +[next-gen-solver]: ../solve/trait-solving.md + +## Normalizing all bounds + +In the old trait solver the where clauses stored in `ParamEnv` are required to be fully normalized or else the trait solver will not function correctly. A concrete example of needing to normalize the `ParamEnv` is the following: +```rust +trait Trait { + type Assoc; +} + +trait Other { + type Bar; +} + +impl Other for T { + type Bar = u32; +} + +// `foo`'s unnormalized `ParamEnv` would be: +// `[T: Sized, U: Sized, U: Trait]` +fn foo(a: U) +where + U: Trait<::Bar>, +{ + requires_impl(a); +} + +fn requires_impl>(_: U) {} +``` + +As humans we can tell that `::Bar` is equal to `u32` so the trait bound on `U` is equivalent to `U: Trait`. In practice trying to prove `U: Trait` in the old solver in this environment would fail as it is unable to determine that `::Bar` is equal to `u32`. + +To work around this we normalize `ParamEnv`'s after constructing them so that `foo`'s `ParamEnv` is actually: `[T: Sized, U: Sized, U: Trait]` which means the trait solver is now able to use the `U: Trait` in the `ParamEnv` to determine that the trait bound `U: Trait` holds. + +This workaround does not work in all cases as normalizing associated types requires a `ParamEnv` which introduces a bootstrapping problem. We need a normalized `ParamEnv` in order for normalization to give correct results, but we need to normalize to get that `ParamEnv`. Currently we normalize the `ParamEnv` once using the unnormalized param env and it tends to give okay results in practice even though there are some examples where this breaks ([example]). + +In the next-gen trait solver the requirement for all where clauses in the `ParamEnv` to be fully normalized is not present and so we do not normalize when constructing `ParamEnv`s. + +[example]: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=e6933265ea3e84eaa47019465739992c +[pe]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html +[normalize_env_or_error]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_trait_selection/traits/fn.normalize_param_env_or_error.html diff --git a/src/doc/rustc-dev-guide/src/param_env/param_env_summary.md b/src/doc/rustc-dev-guide/src/param_env/param_env_summary.md new file mode 100644 index 000000000000..0ff6d8fc394e --- /dev/null +++ b/src/doc/rustc-dev-guide/src/param_env/param_env_summary.md @@ -0,0 +1,18 @@ +# The `ParamEnv` type + +## Summary + +The [`ParamEnv`][pe] is used to store information about the environment that we are interacting with the type system from. For example the set of in-scope where-clauses is stored in `ParamEnv` as it differs between each item whereas the list of user written impls is not stored in the `ParamEnv` as this does not change for each item. + +This chapter of the dev guide covers: +- A high level summary of what a `ParamEnv` is and what it is used for +- Technical details about what the process of constructing a `ParamEnv` involves +- Guidance about how to acquire a `ParamEnv` when one is required + +## Bundling + +A useful API on `ParamEnv` is the [`and`][and] method which allows bundling a value with the `ParamEnv`. The `and` method produces a [`ParamEnvAnd`][pea] making it clearer that using the inner value is intended to be done in that specific environment. + +[and]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html#method.and +[pe]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html +[pea]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnvAnd.html \ No newline at end of file diff --git a/src/doc/rustc-dev-guide/src/param_env/param_env_what_is_it.md b/src/doc/rustc-dev-guide/src/param_env/param_env_what_is_it.md new file mode 100644 index 000000000000..ca09518d99f4 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/param_env/param_env_what_is_it.md @@ -0,0 +1,60 @@ + +# What is a `ParamEnv`? + +The type system relies on information in the environment in order for it to function correctly. This information is stored in the [`ParamEnv`][pe] type and it is important to use the correct `ParamEnv` when interacting with the type system. + +The information represented by `ParamEnv` is a list of in-scope where-clauses, and a [`Reveal`][reveal] (see linked docs for more information). A `ParamEnv` typically corresponds to a specific item's where clauses, some clauses are not explicitly written bounds and instead are implicitly added in [`predicates_of`][predicates_of] such as `ConstArgHasType` or some implied bounds. + +A `ParamEnv` can also be created with arbitrary data that is not derived from a specific item such as in [`compare_method_predicate_entailment`][method_pred_entailment] which creates a hybrid `ParamEnv` consisting of the impl's where clauses and the trait definition's function's where clauses. In most cases `ParamEnv`s are initially created via the [`param_env` query][query] which returns a `ParamEnv` derived from the provided item's where clauses. + +If we have a function such as: +```rust +// `foo` would have a `ParamEnv` of: +// `[T: Sized, T: Trait, ::Assoc: Clone]` +fn foo() +where + ::Assoc: Clone, +{} +``` +If we were conceptually inside of `foo` (for example, type-checking or linting it) we would use this `ParamEnv` everywhere that we interact with the type system. This would allow things such as normalization (TODO: write a chapter about normalization and link it), evaluating generic constants, and proving where clauses/goals, to rely on `T` being sized, implementing `Trait`, etc. + +A more concrete example: +```rust +// `foo` would have a `ParamEnv` of: +// `[T: Sized, T: Clone]` +fn foo(a: T) { + // when typechecking `foo` we require all the where clauses on `bar` + // to hold in order for it to be legal to call. This means we have to + // prove `T: Clone`. As we are type checking `foo` we use `foo`'s + // environment when trying to check that `T: Clone` holds. + // + // Trying to prove `T: Clone` with a `ParamEnv` of `[T: Sized, T: Clone]` + // will trivially succeed as bound we want to prove is in our environment. + requires_clone(a); +} +``` + +Or alternatively an example that would not compile: +```rust +// `foo2` would have a `ParamEnv` of: +// `[T: Sized]` +fn foo2(a: T) { + // When typechecking `foo2` we attempt to prove `T: Clone`. + // As we are type checking `foo2` we use `foo2`'s environment + // when trying to prove `T: Clone`. + // + // Trying to prove `T: Clone` with a `ParamEnv` of `[T: Sized]` will + // fail as there is nothing in the environment telling the trait solver + // that `T` implements `Clone` and there exists no user written impl + // that could apply. + requires_clone(a); +} +``` + +It's very important to use the correct `ParamEnv` when interacting with the type system as otherwise it can lead to ICEs or things compiling when they shouldn't (or vice versa). See [#82159](https://github.com/rust-lang/rust/pull/82159) and [#82067](https://github.com/rust-lang/rust/pull/82067) as examples of PRs that changed rustc to use the correct param env to avoid ICE. Determining how to acquire the correct `ParamEnv` is explained later in this chapter. + +[predicates_of]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_analysis/collect/predicates_of/fn.predicates_of.html +[method_pred_entailment]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_analysis/check/compare_impl_item/fn.compare_method_predicate_entailment.html +[pe]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html +[query]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.param_env +[reveal]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/traits/enum.Reveal.html \ No newline at end of file diff --git a/src/doc/rustc-dev-guide/src/part-2-intro.md b/src/doc/rustc-dev-guide/src/part-2-intro.md new file mode 100644 index 000000000000..aecab562bfc4 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/part-2-intro.md @@ -0,0 +1,14 @@ +# High-Level Compiler Architecture + +The remaining parts of this guide discuss how the compiler works. They go +through everything from high-level structure of the compiler to how each stage +of compilation works. They should be friendly to both readers interested in the +end-to-end process of compilation _and_ readers interested in learning about a +specific system they wish to contribute to. If anything is unclear, feel free +to file an issue on the [rustc-dev-guide +repo](https://github.com/rust-lang/rustc-dev-guide/issues) or contact the compiler +team, as detailed in [this chapter from Part 1](./compiler-team.md). + +In this part, we will look at the high-level architecture of the compiler. In +particular, we will look at three overarching design choices that impact the +whole compiler: the query system, incremental compilation, and interning. diff --git a/src/doc/rustc-dev-guide/src/part-3-intro.md b/src/doc/rustc-dev-guide/src/part-3-intro.md new file mode 100644 index 000000000000..59a1eeba782e --- /dev/null +++ b/src/doc/rustc-dev-guide/src/part-3-intro.md @@ -0,0 +1,10 @@ +# Source Code Representation + +This part describes the process of taking raw source code from the user and +transforming it into various forms that the compiler can work with easily. +These are called _intermediate representations (IRs)_. + +This process starts with compiler understanding what the user has asked for: +parsing the command line arguments given and determining what it is to compile. +After that, the compiler transforms the user input into a series of IRs that +look progressively less like what the user wrote. diff --git a/src/doc/rustc-dev-guide/src/part-4-intro.md b/src/doc/rustc-dev-guide/src/part-4-intro.md new file mode 100644 index 000000000000..6a8433164175 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/part-4-intro.md @@ -0,0 +1,12 @@ +# Analysis + +This part discusses the many analyses that the compiler uses to check various +properties of the code and to inform later stages. Typically, this is what people +mean when they talk about "Rust's type system". This includes the +representation, inference, and checking of types, the trait system, and the +borrow checker. These analyses do not happen as one big pass or set of +contiguous passes. Rather, they are spread out throughout various parts of the +compilation process and use different intermediate representations. For example, +type checking happens on the HIR, while borrow checking happens on the MIR. +Nonetheless, for the sake of presentation, we will discuss all of these +analyses in this part of the guide. diff --git a/src/doc/rustc-dev-guide/src/part-5-intro.md b/src/doc/rustc-dev-guide/src/part-5-intro.md new file mode 100644 index 000000000000..f32508d27744 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/part-5-intro.md @@ -0,0 +1,57 @@ +# From MIR to Binaries + +All of the preceding chapters of this guide have one thing in common: +we never generated any executable machine code at all! +With this chapter, all of that changes. + +So far, +we've shown how the compiler can take raw source code in text format +and transform it into [MIR]. +We have also shown how the compiler does various +analyses on the code to detect things like type or lifetime errors. +Now, we will finally take the MIR and produce some executable machine code. + +[MIR]: ./mir/index.md + +> NOTE: This part of a compiler is often called the _backend_. +> The term is a bit overloaded because in the compiler source, +> it usually refers to the "codegen backend" (i.e. LLVM, Cranelift, or GCC). +> Usually, when you see the word "backend" in this part, +> we are referring to the "codegen backend". + +So what do we need to do? + +1. First, we need to collect the set of things to generate code for. + In particular, + we need to find out which concrete types to substitute for generic ones, + since we need to generate code for the concrete types. + Generating code for the concrete types + (i.e. emitting a copy of the code for each concrete type) is called _monomorphization_, + so the process of collecting all the concrete types is called _monomorphization collection_. +2. Next, we need to actually lower the MIR to a codegen IR + (usually LLVM IR) for each concrete type we collected. +3. Finally, we need to invoke the codegen backend, + which runs a bunch of optimization passes, + generates executable code, + and links together an executable binary. + +[codegen1]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/base/fn.codegen_crate.html + +The code for codegen is actually a bit complex due to a few factors: + +- Support for multiple codegen backends (LLVM, Cranelift, and GCC). + We try to share as much backend code between them as possible, + so a lot of it is generic over the codegen implementation. + This means that there are often a lot of layers of abstraction. +- Codegen happens asynchronously in another thread for performance. +- The actual codegen is done by a third-party library (either of the 3 backends). + +Generally, the [`rustc_codegen_ssa`][ssa] crate contains backend-agnostic code, +while the [`rustc_codegen_llvm`][llvm] crate contains code specific to LLVM codegen. + +[ssa]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/index.html +[llvm]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_llvm/index.html + +At a very high level, the entry point is +[`rustc_codegen_ssa::base::codegen_crate`][codegen1]. +This function starts the process discussed in the rest of this chapter. diff --git a/src/doc/rustc-dev-guide/src/pat-exhaustive-checking.md b/src/doc/rustc-dev-guide/src/pat-exhaustive-checking.md new file mode 100644 index 000000000000..4a796ac9500e --- /dev/null +++ b/src/doc/rustc-dev-guide/src/pat-exhaustive-checking.md @@ -0,0 +1,218 @@ +# Pattern and Exhaustiveness Checking + +In Rust, pattern matching and bindings have a few very helpful properties. The +compiler will check that bindings are irrefutable when made and that match arms +are exhaustive. + +## Pattern usefulness + +The central question that usefulness checking answers is: +"in this match expression, is that branch redundant?". +More precisely, it boils down to computing whether, +given a list of patterns we have already seen, +a given new pattern might match any new value. + +For example, in the following match expression, +we ask in turn whether each pattern might match something +that wasn't matched by the patterns above it. +Here we see the 4th pattern is redundant with the 1st; +that branch will get an "unreachable" warning. +The 3rd pattern may or may not be useful, +depending on whether `Foo` has other variants than `Bar`. +Finally, we can ask whether the whole match is exhaustive +by asking whether the wildcard pattern (`_`) +is useful relative to the list of all the patterns in that match. +Here we can see that `_` is useful (it would catch `(false, None)`); +this expression would therefore get a "non-exhaustive match" error. + +```rust +// x: (bool, Option) +match x { + (true, _) => {} // 1 + (false, Some(Foo::Bar)) => {} // 2 + (false, Some(_)) => {} // 3 + (true, None) => {} // 4 +} +``` + +Thus usefulness is used for two purposes: +detecting unreachable code (which is useful to the user), +and ensuring that matches are exhaustive (which is important for soundness, +because a match expression can return a value). + +## Where it happens + +This check is done anywhere you can write a pattern: `match` expressions, `if let`, `let else`, +plain `let`, and function arguments. + +```rust +// `match` +// Usefulness can detect unreachable branches and forbid non-exhaustive matches. +match foo() { + Ok(x) => x, + Err(_) => panic!(), +} + +// `if let` +// Usefulness can detect unreachable branches. +if let Some(x) = foo() { + // ... +} + +// `while let` +// Usefulness can detect infinite loops and dead loops. +while let Some(x) = it.next() { + // ... +} + +// Destructuring `let` +// Usefulness can forbid non-exhaustive patterns. +let Foo::Bar(x, y) = foo(); + +// Destructuring function arguments +// Usefulness can forbid non-exhaustive patterns. +fn foo(Foo { x, y }: Foo) { + // ... +} +``` + +## The algorithm + +Exhaustiveness checking is run before MIR building in [`check_match`]. +It is implemented in the [`rustc_pattern_analysis`] crate, +with the core of the algorithm in the [`usefulness`] module. +That file contains a detailed description of the algorithm. + +## Important concepts + +### Constructors and fields + +In the value `Pair(Some(0), true)`, `Pair` is called the constructor of the value, and `Some(0)` and +`true` are its fields. Every matchable value can be decomposed in this way. Examples of +constructors are: `Some`, `None`, `(,)` (the 2-tuple constructor), `Foo {..}` (the constructor for +a struct `Foo`), and `2` (the constructor for the number `2`). + +Each constructor takes a fixed number of fields; this is called its arity. `Pair` and `(,)` have +arity 2, `Some` has arity 1, `None` and `42` have arity 0. Each type has a known set of +constructors. Some types have many constructors (like `u64`) or even an infinitely many (like `&str` +and `&[T]`). + +Patterns are similar: `Pair(Some(_), _)` has constructor `Pair` and two fields. The difference is +that we get some extra pattern-only constructors, namely: the wildcard `_`, variable bindings, +integer ranges like `0..=10`, and variable-length slices like `[_, .., _]`. We treat or-patterns +separately. + +Now to check if a value `v` matches a pattern `p`, we check if `v`'s constructor matches `p`'s +constructor, then recursively compare their fields if necessary. A few representative examples: + +- `matches!(v, _) := true` +- `matches!((v0, v1), (p0, p1)) := matches!(v0, p0) && matches!(v1, p1)` +- `matches!(Foo { a: v0, b: v1 }, Foo { a: p0, b: p1 }) := matches!(v0, p0) && matches!(v1, p1)` +- `matches!(Ok(v0), Ok(p0)) := matches!(v0, p0)` +- `matches!(Ok(v0), Err(p0)) := false` (incompatible variants) +- `matches!(v, 1..=100) := matches!(v, 1) || ... || matches!(v, 100)` +- `matches!([v0], [p0, .., p1]) := false` (incompatible lengths) +- `matches!([v0, v1, v2], [p0, .., p1]) := matches!(v0, p0) && matches!(v2, p1)` + +This concept is absolutely central to pattern analysis. The [`constructor`] module provides +functions to extract, list and manipulate constructors. This is a useful enough concept that +variations of it can be found in other places of the compiler, like in the MIR-lowering of a match +expression and in some clippy lints. + +### Constructor grouping and splitting + +The pattern-only constructors (`_`, ranges and variable-length slices) each stand for a set of +normal constructors, e.g. `_: Option` stands for the set {`None`, `Some`} and `[_, .., _]` stands +for the infinite set {`[,]`, `[,,]`, `[,,,]`, ...} of the slice constructors of arity >= 2. + +In order to manage these constructors, we keep them as grouped as possible. For example: + +```rust +match (0, false) { + (0 ..=100, true) => {} + (50..=150, false) => {} + (0 ..=200, _) => {} +} +``` + +In this example, all of `0`, `1`, .., `49` match the same arms, and thus can be treated as a group. +In fact, in this match, the only ranges we need to consider are: `0..50`, `50..=100`, +`101..=150`,`151..=200` and `201..`. Similarly: + +```rust +enum Direction { North, South, East, West } +# let wind = (Direction::North, 0u8); +match wind { + (Direction::North, 50..) => {} + (_, _) => {} +} +``` + +Here we can treat all the non-`North` constructors as a group, giving us only two cases to handle: +`North`, and everything else. + +This is called "constructor splitting" and is crucial to having exhaustiveness run in reasonable +time. + +### Usefulness vs reachability in the presence of empty types + +This is likely the subtlest aspect of exhaustiveness. To be fully precise, a match doesn't operate +on a value, it operates on a place. In certain unsafe circumstances, it is possible for a place to +not contain valid data for its type. This has subtle consequences for empty types. Take the +following: + +```rust +enum Void {} +let x: u8 = 0; +let ptr: *const Void = &x as *const u8 as *const Void; +unsafe { + match *ptr { + _ => println!("Reachable!"), + } +} +``` + +In this example, `ptr` is a valid pointer pointing to a place with invalid data. The `_` pattern +does not look at the contents of the place `*ptr`, so this code is ok and the arm is taken. In other +words, despite the place we are inspecting being of type `Void`, there is a reachable arm. If the +arm had a binding however: + +```rust +# #[derive(Copy, Clone)] +# enum Void {} +# let x: u8 = 0; +# let ptr: *const Void = &x as *const u8 as *const Void; +# unsafe { +match *ptr { + _a => println!("Unreachable!"), +} +# } +``` + +Here the binding loads the value of type `Void` from the `*ptr` place. In this example, this causes +UB since the data is not valid. In the general case, this asserts validity of the data at `*ptr`. +Either way, this arm will never be taken. + +Finally, let's consider the empty match `match *ptr {}`. If we consider this exhaustive, then +having invalid data at `*ptr` is invalid. In other words, the empty match is semantically +equivalent to the `_a => ...` match. In the interest of explicitness, we prefer the case with an +arm, hence we won't tell the user to remove the `_a` arm. In other words, the `_a` arm is +unreachable yet not redundant. This is why we lint on redundant arms rather than unreachable +arms, despite the fact that the lint says "unreachable". + +These considerations only affects certain places, namely those that can contain non-valid data +without UB. These are: pointer dereferences, reference dereferences, and union field accesses. We +track during exhaustiveness checking whether a given place is known to contain valid data. + +Having said all that, the current implementation of exhaustiveness checking does not follow the +above considerations. On stable, empty types are for the most part treated as non-empty. The +[`exhaustive_patterns`] feature errs on the other end: it allows omitting arms that could be +reachable in unsafe situations. The [`never_patterns`] experimental feature aims to fix this and +permit the correct behavior of empty types in patterns. + +[`check_match`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_build/thir/pattern/check_match/index.html +[`rustc_pattern_analysis`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_pattern_analysis/index.html +[`usefulness`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_pattern_analysis/usefulness/index.html +[`constructor`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_pattern_analysis/constructor/index.html +[`never_patterns`]: https://github.com/rust-lang/rust/issues/118155 +[`exhaustive_patterns`]: https://github.com/rust-lang/rust/issues/51085 diff --git a/src/doc/rustc-dev-guide/src/profile-guided-optimization.md b/src/doc/rustc-dev-guide/src/profile-guided-optimization.md new file mode 100644 index 000000000000..995752b0b8b5 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/profile-guided-optimization.md @@ -0,0 +1,141 @@ +# Profile Guided Optimization + + + +`rustc` supports doing profile-guided optimization (PGO). +This chapter describes what PGO is and how the support for it is +implemented in `rustc`. + +## What Is Profiled-Guided Optimization? + +The basic concept of PGO is to collect data about the typical execution of +a program (e.g. which branches it is likely to take) and then use this data +to inform optimizations such as inlining, machine-code layout, +register allocation, etc. + +There are different ways of collecting data about a program's execution. +One is to run the program inside a profiler (such as `perf`) and another +is to create an instrumented binary, that is, a binary that has data +collection built into it, and run that. +The latter usually provides more accurate data. + +## How is PGO implemented in `rustc`? + +`rustc` current PGO implementation relies entirely on LLVM. +LLVM actually [supports multiple forms][clang-pgo] of PGO: + +[clang-pgo]: https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization + +- Sampling-based PGO where an external profiling tool like `perf` is used + to collect data about a program's execution. +- GCOV-based profiling, where code coverage infrastructure is used to collect + profiling information. +- Front-end based instrumentation, where the compiler front-end (e.g. Clang) + inserts instrumentation intrinsics into the LLVM IR it generates (but see the + [^note-instrument-coverage]"Note"). +- IR-level instrumentation, where LLVM inserts the instrumentation intrinsics + itself during optimization passes. + +`rustc` supports only the last approach, IR-level instrumentation, mainly +because it is almost exclusively implemented in LLVM and needs little +maintenance on the Rust side. Fortunately, it is also the most modern approach, +yielding the best results. + +So, we are dealing with an instrumentation-based approach, i.e. profiling data +is generated by a specially instrumented version of the program that's being +optimized. Instrumentation-based PGO has two components: a compile-time +component and run-time component, and one needs to understand the overall +workflow to see how they interact. + +[^note-instrument-coverage]: Note: `rustc` now supports front-end-based coverage +instrumentation, via the experimental option +[`-C instrument-coverage`](./llvm-coverage-instrumentation.md), but using these +coverage results for PGO has not been attempted at this time. + +### Overall Workflow + +Generating a PGO-optimized program involves the following four steps: + +1. Compile the program with instrumentation enabled (e.g. `rustc -C profile-generate main.rs`) +2. Run the instrumented program (e.g. `./main`) which generates a `default-.profraw` file +3. Convert the `.profraw` file into a `.profdata` file using LLVM's `llvm-profdata` tool. +4. Compile the program again, this time making use of the profiling data + (e.g. `rustc -C profile-use=merged.profdata main.rs`) + +### Compile-Time Aspects + +Depending on which step in the above workflow we are in, two different things +can happen at compile time: + +#### Create Binaries with Instrumentation + +As mentioned above, the profiling instrumentation is added by LLVM. +`rustc` instructs LLVM to do so [by setting the appropriate][pgo-gen-passmanager] +flags when creating LLVM `PassManager`s: + +```C + // `PMBR` is an `LLVMPassManagerBuilderRef` + unwrap(PMBR)->EnablePGOInstrGen = true; + // Instrumented binaries have a default output path for the `.profraw` file + // hard-coded into them: + unwrap(PMBR)->PGOInstrGen = PGOGenPath; +``` + +`rustc` also has to make sure that some of the symbols from LLVM's profiling +runtime are not removed [by marking the with the right export level][pgo-gen-symbols]. + +[pgo-gen-passmanager]: https://github.com/rust-lang/rust/blob/1.34.1/src/rustllvm/PassWrapper.cpp#L412-L416 +[pgo-gen-symbols]:https://github.com/rust-lang/rust/blob/1.34.1/src/librustc_codegen_ssa/back/symbol_export.rs#L212-L225 + + +#### Compile Binaries Where Optimizations Make Use Of Profiling Data + +In the final step of the workflow described above, the program is compiled +again, with the compiler using the gathered profiling data in order to drive +optimization decisions. `rustc` again leaves most of the work to LLVM here, +basically [just telling][pgo-use-passmanager] the LLVM `PassManagerBuilder` +where the profiling data can be found: + +```C + unwrap(PMBR)->PGOInstrUse = PGOUsePath; +``` + +[pgo-use-passmanager]: https://github.com/rust-lang/rust/blob/1.34.1/src/rustllvm/PassWrapper.cpp#L417-L420 + +LLVM does the rest (e.g. setting branch weights, marking functions with +`cold` or `inlinehint`, etc). + + +### Runtime Aspects + +Instrumentation-based approaches always also have a runtime component, i.e. +once we have an instrumented program, that program needs to be run in order +to generate profiling data, and collecting and persisting this profiling +data needs some infrastructure in place. + +In the case of LLVM, these runtime components are implemented in +[compiler-rt][compiler-rt-profile] and statically linked into any instrumented +binaries. +The `rustc` version of this can be found in `library/profiler_builtins` which +basically packs the C code from `compiler-rt` into a Rust crate. + +In order for `profiler_builtins` to be built, `profiler = true` must be set +in `rustc`'s `config.toml`. + +[compiler-rt-profile]: https://github.com/llvm/llvm-project/tree/main/compiler-rt/lib/profile + +## Testing PGO + +Since the PGO workflow spans multiple compiler invocations most testing happens +in [run-make tests][rmake-tests] (the relevant tests have `pgo` in their name). +There is also a [codegen test][codegen-test] that checks that some expected +instrumentation artifacts show up in LLVM IR. + +[rmake-tests]: https://github.com/rust-lang/rust/tree/master/tests/run-make +[codegen-test]: https://github.com/rust-lang/rust/blob/master/tests/codegen/pgo-instrumentation.rs + +## Additional Information + +Clang's documentation contains a good overview on [PGO in LLVM][llvm-pgo]. + +[llvm-pgo]: https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization diff --git a/src/doc/rustc-dev-guide/src/profiling.md b/src/doc/rustc-dev-guide/src/profiling.md new file mode 100644 index 000000000000..df987e00a581 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/profiling.md @@ -0,0 +1,113 @@ +# Profiling the compiler + +This section talks about how to profile the compiler and find out where it spends its time. + +Depending on what you're trying to measure, there are several different approaches: + +- If you want to see if a PR improves or regresses compiler performance, + see the [rustc-perf chapter](tests/perf.md) for requesting a benchmarking run. + +- If you want a medium-to-high level overview of where `rustc` is spending its time: + - The `-Z self-profile` flag and [measureme](https://github.com/rust-lang/measureme) tools offer a query-based approach to profiling. + See [their docs](https://github.com/rust-lang/measureme/blob/master/summarize/README.md) for more information. + +- If you want function level performance data or even just more details than the above approaches: + - Consider using a native code profiler such as [perf](profiling/with_perf.md) + - or [tracy](https://github.com/nagisa/rust_tracy_client) for a nanosecond-precision, + full-featured graphical interface. + +- If you want a nice visual representation of the compile times of your crate graph, + you can use [cargo's `--timings` flag](https://doc.rust-lang.org/nightly/cargo/reference/timings.html), + e.g. `cargo build --timings`. + You can use this flag on the compiler itself with `CARGOFLAGS="--timings" ./x build` + +- If you want to profile memory usage, you can use various tools depending on what operating system + you are using. + - For Windows, read our [WPA guide](profiling/wpa_profiling.md). + +## Optimizing rustc's bootstrap times with `cargo-llvm-lines` + +Using [cargo-llvm-lines](https://github.com/dtolnay/cargo-llvm-lines) you can count the +number of lines of LLVM IR across all instantiations of a generic function. +Since most of the time compiling rustc is spent in LLVM, the idea is that by +reducing the amount of code passed to LLVM, compiling rustc gets faster. + +To use `cargo-llvm-lines` together with somewhat custom rustc build process, you can use +`-C save-temps` to obtain required LLVM IR. The option preserves temporary work products +created during compilation. Among those is LLVM IR that represents an input to the +optimization pipeline; ideal for our purposes. It is stored in files with `*.no-opt.bc` +extension in LLVM bitcode format. + +Example usage: +``` +cargo install cargo-llvm-lines +# On a normal crate you could now run `cargo llvm-lines`, but `x` isn't normal :P + +# Do a clean before every run, to not mix in the results from previous runs. +./x clean +env RUSTFLAGS=-Csave-temps ./x build --stage 0 compiler/rustc + +# Single crate, e.g., rustc_middle. (Relies on the glob support of your shell.) +# Convert unoptimized LLVM bitcode into a human readable LLVM assembly accepted by cargo-llvm-lines. +for f in build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_middle-*.no-opt.bc; do + ./build/x86_64-unknown-linux-gnu/llvm/bin/llvm-dis "$f" +done +cargo llvm-lines --files ./build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_middle-*.ll > llvm-lines-middle.txt + +# Specify all crates of the compiler. +for f in build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/*.no-opt.bc; do + ./build/x86_64-unknown-linux-gnu/llvm/bin/llvm-dis "$f" +done +cargo llvm-lines --files ./build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/*.ll > llvm-lines.txt +``` + +Example output for the compiler: +``` + Lines Copies Function name + ----- ------ ------------- + 45207720 (100%) 1583774 (100%) (TOTAL) + 2102350 (4.7%) 146650 (9.3%) core::ptr::drop_in_place + 615080 (1.4%) 8392 (0.5%) std::thread::local::LocalKey::try_with + 594296 (1.3%) 1780 (0.1%) hashbrown::raw::RawTable::rehash_in_place + 592071 (1.3%) 9691 (0.6%) core::option::Option::map + 528172 (1.2%) 5741 (0.4%) core::alloc::layout::Layout::array + 466854 (1.0%) 8863 (0.6%) core::ptr::swap_nonoverlapping_one + 412736 (0.9%) 1780 (0.1%) hashbrown::raw::RawTable::resize + 367776 (0.8%) 2554 (0.2%) alloc::raw_vec::RawVec::grow_amortized + 367507 (0.8%) 643 (0.0%) rustc_query_system::dep_graph::graph::DepGraph::with_task_impl + 355882 (0.8%) 6332 (0.4%) alloc::alloc::box_free + 354556 (0.8%) 14213 (0.9%) core::ptr::write + 354361 (0.8%) 3590 (0.2%) core::iter::traits::iterator::Iterator::fold + 347761 (0.8%) 3873 (0.2%) rustc_middle::ty::context::tls::set_tlv + 337534 (0.7%) 2377 (0.2%) alloc::raw_vec::RawVec::allocate_in + 331690 (0.7%) 3192 (0.2%) hashbrown::raw::RawTable::find + 328756 (0.7%) 3978 (0.3%) rustc_middle::ty::context::tls::with_context_opt + 326903 (0.7%) 642 (0.0%) rustc_query_system::query::plumbing::try_execute_query +``` + +Since this doesn't seem to work with incremental compilation or `./x check`, +you will be compiling rustc _a lot_. +I recommend changing a few settings in `config.toml` to make it bearable: +``` +[rust] +# A debug build takes _a third_ as long on my machine, +# but compiling more than stage0 rustc becomes unbearably slow. +optimize = false + +# We can't use incremental anyway, so we disable it for a little speed boost. +incremental = false +# We won't be running it, so no point in compiling debug checks. +debug = false + +# Using a single codegen unit gives less output, but is slower to compile. +codegen-units = 0 # num_cpus +``` + +The llvm-lines output is affected by several options. +`optimize = false` increases it from 2.1GB to 3.5GB and `codegen-units = 0` to 4.1GB. + +MIR optimizations have little impact. Compared to the default `RUSTFLAGS="-Z +mir-opt-level=1"`, level 0 adds 0.3GB and level 2 removes 0.2GB. +As of July 2022, +inlining happens in LLVM and GCC codegen backends, +missing only in the Cranelift one. diff --git a/src/doc/rustc-dev-guide/src/profiling/with_perf.md b/src/doc/rustc-dev-guide/src/profiling/with_perf.md new file mode 100644 index 000000000000..6cd98f886ddd --- /dev/null +++ b/src/doc/rustc-dev-guide/src/profiling/with_perf.md @@ -0,0 +1,309 @@ +# Profiling with perf + +This is a guide for how to profile rustc with [perf](https://perf.wiki.kernel.org/index.php/Main_Page). + +## Initial steps + +- Get a clean checkout of rust-lang/master, or whatever it is you want + to profile. +- Set the following settings in your `config.toml`: + - `debuginfo-level = 1` - enables line debuginfo + - `jemalloc = false` - lets you do memory use profiling with valgrind + - leave everything else the defaults +- Run `./x build` to get a full build +- Make a rustup toolchain pointing to that result + - see [the "build and run" section for instructions][b-a-r] + +[b-a-r]: ../building/how-to-build-and-run.html#toolchain + +## Gathering a perf profile + +perf is an excellent tool on linux that can be used to gather and +analyze all kinds of information. Mostly it is used to figure out +where a program spends its time. It can also be used for other sorts +of events, though, like cache misses and so forth. + +### The basics + +The basic `perf` command is this: + +```bash +perf record -F99 --call-graph dwarf XXX +``` + +The `-F99` tells perf to sample at 99 Hz, which avoids generating too +much data for longer runs (why 99 Hz you ask? It is often chosen +because it is unlikely to be in lockstep with other periodic +activity). The `--call-graph dwarf` tells perf to get call-graph +information from debuginfo, which is accurate. The `XXX` is the +command you want to profile. So, for example, you might do: + +```bash +perf record -F99 --call-graph dwarf cargo + rustc +``` + +to run `cargo` -- here `` should be the name of the toolchain +you made in the beginning. But there are some things to be aware of: + +- You probably don't want to profile the time spend building + dependencies. So something like `cargo build; cargo clean -p $C` may + be helpful (where `$C` is the crate name) + - Though usually I just do `touch src/lib.rs` and rebuild instead. =) +- You probably don't want incremental messing about with your + profile. So something like `CARGO_INCREMENTAL=0` can be helpful. + +### Gathering a perf profile from a `perf.rust-lang.org` test + +Often we want to analyze a specific test from `perf.rust-lang.org`. +The easiest way to do that is to use the [rustc-perf][rustc-perf] +benchmarking suite, this approach is described [here](with_rustc_perf.md). + +Instead of using the benchmark suite CLI, you can also profile the benchmarks manually. First, +you need to clone the [rustc-perf][rustc-perf] repository: + +```bash +$ git clone https://github.com/rust-lang/rustc-perf +``` + +and then find the source code of the test that you want to profile. Sources for the tests +are found in [the `collector/compile-benchmarks` directory][compile-time dir] +and [the `collector/runtime-benchmarks` directory][runtime dir]. So let's +go into the directory of a specific test; we'll use `clap-rs` as an example: + +[rustc-perf]: https://github.com/rust-lang/rustc-perf +[compile-time dir]: https://github.com/rust-lang/rustc-perf/tree/master/collector/compile-benchmarks +[runtime dir]: https://github.com/rust-lang/rustc-perf/tree/master/collector/runtime-benchmarks + +```bash +cd collector/compile-benchmarks/clap-3.1.6 +``` + +In this case, let's say we want to profile the `cargo check` +performance. In that case, I would first run some basic commands to +build the dependencies: + +```bash +# Setup: first clean out any old results and build the dependencies: +cargo + clean +CARGO_INCREMENTAL=0 cargo + check +``` + +(Again, `` should be replaced with the name of the +toolchain we made in the first step.) + +Next: we want record the execution time for *just* the clap-rs crate, +running cargo check. I tend to use `cargo rustc` for this, since it +also allows me to add explicit flags, which we'll do later on. + +```bash +touch src/lib.rs +CARGO_INCREMENTAL=0 perf record -F99 --call-graph dwarf cargo rustc --profile check --lib +``` + +Note that final command: it's a doozy! It uses the `cargo rustc` +command, which executes rustc with (potentially) additional options; +the `--profile check` and `--lib` options specify that we are doing a +`cargo check` execution, and that this is a library (not a binary). + +At this point, we can use `perf` tooling to analyze the results. For example: + +```bash +perf report +``` + +will open up an interactive TUI program. In simple cases, that can be +helpful. For more detailed examination, the [`perf-focus` tool][pf] +can be helpful; it is covered below. + +**A note of caution.** Each of the rustc-perf tests is its own special + snowflake. In particular, some of them are not libraries, in which + case you would want to do `touch src/main.rs` and avoid passing + `--lib`. I'm not sure how best to tell which test is which to be + honest. + +### Gathering NLL data + +If you want to profile an NLL run, you can just pass extra options to +the `cargo rustc` command, like so: + +```bash +touch src/lib.rs +CARGO_INCREMENTAL=0 perf record -F99 --call-graph dwarf cargo rustc --profile check --lib -- -Z borrowck=mir +``` + +[pf]: https://github.com/nikomatsakis/perf-focus + +## Analyzing a perf profile with `perf focus` + +Once you've gathered a perf profile, we want to get some information +about it. For this, I personally use [perf focus][pf]. It's a kind of +simple but useful tool that lets you answer queries like: + +- "how much time was spent in function F" (no matter where it was called from) +- "how much time was spent in function F when it was called from G" +- "how much time was spent in function F *excluding* time spent in G" +- "what functions does F call and how much time does it spend in them" + +To understand how it works, you have to know just a bit about +perf. Basically, perf works by *sampling* your process on a regular +basis (or whenever some event occurs). For each sample, perf gathers a +backtrace. `perf focus` lets you write a regular expression that tests +which functions appear in that backtrace, and then tells you which +percentage of samples had a backtrace that met the regular +expression. It's probably easiest to explain by walking through how I +would analyze NLL performance. + +### Installing `perf-focus` + +You can install perf-focus using `cargo install`: + +```bash +cargo install perf-focus +``` + +### Example: How much time is spent in MIR borrowck? + +Let's say we've gathered the NLL data for a test. We'd like to know +how much time it is spending in the MIR borrow-checker. The "main" +function of the MIR borrowck is called `do_mir_borrowck`, so we can do +this command: + +```bash +$ perf focus '{do_mir_borrowck}' +Matcher : {do_mir_borrowck} +Matches : 228 +Not Matches: 542 +Percentage : 29% +``` + +The `'{do_mir_borrowck}'` argument is called the **matcher**. It +specifies the test to be applied on the backtrace. In this case, the +`{X}` indicates that there must be *some* function on the backtrace +that meets the regular expression `X`. In this case, that regex is +just the name of the function we want (in fact, it's a subset of the name; +the full name includes a bunch of other stuff, like the module +path). In this mode, perf-focus just prints out the percentage of +samples where `do_mir_borrowck` was on the stack: in this case, 29%. + +**A note about c++filt.** To get the data from `perf`, `perf focus` + currently executes `perf script` (perhaps there is a better + way...). I've sometimes found that `perf script` outputs C++ mangled + names. This is annoying. You can tell by running `perf script | + head` yourself — if you see names like `5rustc6middle` instead of + `rustc::middle`, then you have the same problem. You can solve this + by doing: + +```bash +perf script | c++filt | perf focus --from-stdin ... +``` + +This will pipe the output from `perf script` through `c++filt` and +should mostly convert those names into a more friendly format. The +`--from-stdin` flag to `perf focus` tells it to get its data from +stdin, rather than executing `perf focus`. We should make this more +convenient (at worst, maybe add a `c++filt` option to `perf focus`, or +just always use it — it's pretty harmless). + +### Example: How much time does MIR borrowck spend solving traits? + +Perhaps we'd like to know how much time MIR borrowck spends in the +trait checker. We can ask this using a more complex regex: + +```bash +$ perf focus '{do_mir_borrowck}..{^rustc::traits}' +Matcher : {do_mir_borrowck},..{^rustc::traits} +Matches : 12 +Not Matches: 1311 +Percentage : 0% +``` + +Here we used the `..` operator to ask "how often do we have +`do_mir_borrowck` on the stack and then, later, some function whose +name begins with `rustc::traits`?" (basically, code in that module). It +turns out the answer is "almost never" — only 12 samples fit that +description (if you ever see *no* samples, that often indicates your +query is messed up). + +If you're curious, you can find out exactly which samples by using the +`--print-match` option. This will print out the full backtrace for +each sample. The `|` at the front of the line indicates the part that +the regular expression matched. + +### Example: Where does MIR borrowck spend its time? + +Often we want to do more "explorational" queries. Like, we know that +MIR borrowck is 29% of the time, but where does that time get spent? +For that, the `--tree-callees` option is often the best tool. You +usually also want to give `--tree-min-percent` or +`--tree-max-depth`. The result looks like this: + +```bash +$ perf focus '{do_mir_borrowck}' --tree-callees --tree-min-percent 3 +Matcher : {do_mir_borrowck} +Matches : 577 +Not Matches: 746 +Percentage : 43% + +Tree +| matched `{do_mir_borrowck}` (43% total, 0% self) +: | rustc_borrowck::nll::compute_regions (20% total, 0% self) +: : | rustc_borrowck::nll::type_check::type_check_internal (13% total, 0% self) +: : : | core::ops::function::FnOnce::call_once (5% total, 0% self) +: : : : | rustc_borrowck::nll::type_check::liveness::generate (5% total, 3% self) +: : : | as rustc::mir::visit::Visitor<'tcx>>::visit_mir (3% total, 0% self) +: | rustc::mir::visit::Visitor::visit_mir (8% total, 6% self) +: | as rustc_mir_dataflow::DataflowResultsConsumer<'cx, 'tcx>>::visit_statement_entry (5% total, 0% self) +: | rustc_mir_dataflow::do_dataflow (3% total, 0% self) +``` + +What happens with `--tree-callees` is that + +- we find each sample matching the regular expression +- we look at the code that occurs *after* the regex match and try + to build up a call tree + +The `--tree-min-percent 3` option says "only show me things that take +more than 3% of the time". Without this, the tree often gets really +noisy and includes random stuff like the innards of +malloc. `--tree-max-depth` can be useful too, it just limits how many +levels we print. + +For each line, we display the percent of time in that function +altogether ("total") and the percent of time spent in **just that +function and not some callee of that function** (self). Usually +"total" is the more interesting number, but not always. + +### Relative percentages + +By default, all in perf-focus are relative to the **total program +execution**. This is useful to help you keep perspective — often as +we drill down to find hot spots, we can lose sight of the fact that, +in terms of overall program execution, this "hot spot" is actually not +important. It also ensures that percentages between different queries +are easily compared against one another. + +That said, sometimes it's useful to get relative percentages, so `perf +focus` offers a `--relative` option. In this case, the percentages are +listed only for samples that match (vs all samples). So for example we +could get our percentages relative to the borrowck itself +like so: + +```bash +$ perf focus '{do_mir_borrowck}' --tree-callees --relative --tree-max-depth 1 --tree-min-percent 5 +Matcher : {do_mir_borrowck} +Matches : 577 +Not Matches: 746 +Percentage : 100% + +Tree +| matched `{do_mir_borrowck}` (100% total, 0% self) +: | rustc_borrowck::nll::compute_regions (47% total, 0% self) [...] +: | rustc::mir::visit::Visitor::visit_mir (19% total, 15% self) [...] +: | as rustc_mir_dataflow::DataflowResultsConsumer<'cx, 'tcx>>::visit_statement_entry (13% total, 0% self) [...] +: | rustc_mir_dataflow::do_dataflow (8% total, 1% self) [...] +``` + +Here you see that `compute_regions` came up as "47% total" — that +means that 47% of `do_mir_borrowck` is spent in that function. Before, +we saw 20% — that's because `do_mir_borrowck` itself is only 43% of +the total time (and `.47 * .43 = .20`). diff --git a/src/doc/rustc-dev-guide/src/profiling/with_rustc_perf.md b/src/doc/rustc-dev-guide/src/profiling/with_rustc_perf.md new file mode 100644 index 000000000000..87d205d9ebe0 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/profiling/with_rustc_perf.md @@ -0,0 +1,37 @@ +# Profiling with rustc-perf + +The [Rust benchmark suite][rustc-perf] provides a comprehensive way of profiling and benchmarking +the Rust compiler. You can find instructions on how to use the suite in its [manual][rustc-perf-readme]. + +However, using the suite manually can be a bit cumbersome. To make this easier for `rustc` contributors, +the compiler build system (`bootstrap`) also provides built-in integration with the benchmarking suite, +which will download and build the suite for you, build a local compiler toolchain and let you profile it using a simplified command-line interface. + +You can use the `./x perf -- [options]` command to use this integration. + +> Note that you need to specify arguments after `--` in the `x perf` command! You will not be able to pass arguments without the double dashes. + +You can use normal bootstrap flags for this command, such as `--stage 1` or `--stage 2`, for example to modify the stage of the created sysroot. It might also be useful to configure `config.toml` to better support profiling, e.g. set `rust.debuginfo-level = 1` to add source line information to the built compiler. + +`x perf` currently supports the following commands: +- `benchmark `: Benchmark the compiler and store the results under the passed `id`. +- `compare `: Compare the benchmark results of two compilers with the two passed `id`s. +- `eprintln`: Just run the compiler and capture its `stderr` output. Note that the compiler normally does not print + anything to `stderr`, you might want to add some `eprintln!` calls to get any output. +- `samply`: Profile the compiler using the [samply][samply] sampling profiler. +- `cachegrind`: Use [Cachegrind][cachegrind] to generate a detailed simulated trace of the compiler's execution. + +> You can find a more detailed description of the profilers in the [`rustc-perf` manual][rustc-perf-readme-profilers]. + +You can use the following options for the `x perf` command, which mirror the corresponding options of the +`profile_local` and `bench_local` commands that you can use in the suite: + +- `--include`: Select benchmarks which should be profiled/benchmarked. +- `--profiles`: Select profiles (`Check`, `Debug`, `Opt`, `Doc`) which should be profiled/benchmarked. +- `--scenarios`: Select scenarios (`Full`, `IncrFull`, `IncrPatched`, `IncrUnchanged`) which should be profiled/benchmarked. + +[samply]: https://github.com/mstange/samply +[cachegrind]: https://www.cs.cmu.edu/afs/cs.cmu.edu/project/cmt-40/Nice/RuleRefinement/bin/valgrind-3.2.0/docs/html/cg-manual.html +[rustc-perf]: https://github.com/rust-lang/rustc-perf +[rustc-perf-readme]: https://github.com/rust-lang/rustc-perf/blob/master/collector/README.md +[rustc-perf-readme-profilers]: https://github.com/rust-lang/rustc-perf/blob/master/collector/README.md#profiling-local-builds diff --git a/src/doc/rustc-dev-guide/src/profiling/wpa_profiling.md b/src/doc/rustc-dev-guide/src/profiling/wpa_profiling.md new file mode 100644 index 000000000000..a800c5717e35 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/profiling/wpa_profiling.md @@ -0,0 +1,108 @@ +# Profiling on Windows + +## Introducing WPR and WPA + +High-level performance analysis (including memory usage) can be performed with the Windows +Performance Recorder (WPR) and Windows Performance Analyzer (WPA). As the names suggest, WPR is for +recording system statistics (in the form of event trace log a.k.a. ETL files), while WPA is for +analyzing these ETL files. + +WPR collects system wide statistics, so it won't just record things relevant to rustc but also +everything else that's running on the machine. During analysis, we can filter to just the things we +find interesting. + +These tools are quite powerful but also require a bit of learning +before we can successfully profile the Rust compiler. + +Here we will explore how to use WPR and WPA for analyzing the Rust compiler as well as provide +links to useful "profiles" (i.e., settings files that tweak the defaults for WPR and WPA) that are +specifically designed to make analyzing rustc easier. + +### Installing WPR and WPA + +You can install WPR and WPA as part of the Windows Performance Toolkit which itself is an option as +part of downloading the Windows Assessment and Deployment Kit (ADK). You can download the ADK +installer [here](https://go.microsoft.com/fwlink/?linkid=2086042). Make sure to select the Windows +Performance Toolkit (you don't need to select anything else). + +## Recording + +In order to perform system analysis, you'll first need to record your system with WPR. Open WPR and +at the bottom of the window select the "profiles" of the things you want to record. For looking +into memory usage of the rustc bootstrap process, we'll want to select the following items: + +* CPU usage +* VirtualAlloc usage + +You might be tempted to record "Heap usage" as well, but this records every single heap allocation +and can be very, very expensive. For high-level analysis, it might be best to leave that turned +off. + +Now we need to get our setup ready to record. For memory usage analysis, it is best to record the +stage 2 compiler build with a stage 1 compiler build with debug symbols. Having symbols in the +compiler we're using to build rustc will aid our analysis greatly by allowing WPA to resolve Rust +symbols correctly. Unfortunately, the stage 0 compiler does not have symbols turned on which is why +we'll need to build a stage 1 compiler and then a stage 2 compiler ourselves. + +To do this, make sure you have set `debuginfo-level = 1` in your `config.toml` file. This tells +rustc to generate debug information which includes stack frames when bootstrapping. + +Now you can build the stage 1 compiler: `x build --stage 1 -i library` or however +else you want to build the stage 1 compiler. + +Now that the stage 1 compiler is built, we can record the stage 2 build. Go back to WPR, click the +"start" button and build the stage 2 compiler (e.g., `x build --stage=2 -i library`). +When this process finishes, stop the recording. + +Click the Save button and once that process is complete, click the "Open in WPA" button which +appears. + +> Note: The trace file is fairly large so it can take WPA some time to finish opening the file. + +## Analysis + +Now that our ETL file is open in WPA, we can analyze the results. First, we'll want to apply the +pre-made "profile" which will put WPA into a state conducive to analyzing rustc bootstrap. Download +the profile [here](https://github.com/wesleywiser/rustc-bootstrap-wpa-analysis/releases/download/1/rustc.generic.wpaProfile). +Select the "Profiles" menu at the top, then "apply" and then choose the downloaded profile. + +You should see something resembling the following: + +![WPA with profile applied](../img/wpa-initial-memory.png) + +Next, we will need to tell WPA to load and process debug symbols so that it can properly demangle +the Rust stack traces. To do this, click "Trace" and then choose "Load Symbols". This step can take +a while. + +Once WPA has loaded symbols for rustc, we can expand the rustc.exe node and begin drilling down +into the stack with the largest allocations. + +To do that, we'll expand the `[Root]` node in the "Commit Stack" column and continue expanding +until we find interesting stack frames. + +> Tip: After selecting the node you want to expand, press the right arrow key. This will expand the +node and put the selection on the next largest node in the expanded set. You can continue pressing +the right arrow key until you reach an interesting frame. + +![WPA with expanded stack](../img/wpa-stack.png) + +In this sample, you can see calls through codegen are allocating ~30gb of memory in total +throughout this profile. + +## Other Analysis Tabs + +The profile also includes a few other tabs which can be helpful: + +- System Configuration + - General information about the system the capture was recorded on. +- rustc Build Processes + - A flat list of relevant processes such as rustc.exe, cargo.exe, link.exe etc. + - Each process lists its command line arguments. + - Useful for figuring out what a specific rustc process was working on. +- rustc Build Process Tree + - Timeline showing when processes started and exited. +- rustc CPU Analysis + - Contains charts preconfigured to show hotspots in rustc. + - These charts are designed to support analyzing where rustc is spending its time. +- rustc Memory Analysis + - Contains charts preconfigured to show where rustc is allocating memory. diff --git a/src/doc/rustc-dev-guide/src/queries/example-0.counts.txt b/src/doc/rustc-dev-guide/src/queries/example-0.counts.txt new file mode 100644 index 000000000000..e5b9c3f3d80b --- /dev/null +++ b/src/doc/rustc-dev-guide/src/queries/example-0.counts.txt @@ -0,0 +1,104 @@ +translation,1,0.891 +symbol_name,2658,0.733 +def_symbol_name,2556,0.268 +item_attrs,5566,0.162 +type_of,6922,0.117 +generics_of,8020,0.084 +serialize dep graph,1,0.079 +relevant_trait_impls_for,50,0.063 +def_span,24875,0.061 +expansion,1,0.059 +const checking,1,0.055 +adt_def,1141,0.048 +trait_impls_of,32,0.045 +is_copy_raw,47,0.045 +is_foreign_item,2638,0.042 +fn_sig,2172,0.033 +adt_dtorck_constraint,2,0.023 +impl_trait_ref,2434,0.023 +typeck_tables_of,29,0.022 +item-bodies checking,1,0.017 +typeck_item_bodies,1,0.017 +is_default_impl,2320,0.017 +borrow checking,1,0.014 +borrowck,4,0.014 +mir_validated,4,0.013 +adt_destructor,10,0.012 +layout_raw,258,0.010 +load_dep_graph,1,0.007 +item-types checking,1,0.005 +mir_const,2,0.005 +name resolution,1,0.004 +is_object_safe,35,0.003 +is_sized_raw,89,0.003 +parsing,1,0.003 +is_freeze_raw,11,0.001 +privacy checking,1,0.001 +privacy_access_levels,5,0.001 +resolving dependency formats,1,0.001 +adt_sized_constraint,9,0.001 +wf checking,1,0.001 +liveness checking,1,0.001 +compute_incremental_hashes_map,1,0.001 +match checking,1,0.001 +type collecting,1,0.001 +param_env,31,0.000 +effect checking,1,0.000 +trait_def,140,0.000 +lowering ast -> hir,1,0.000 +predicates_of,70,0.000 +extern_crate,319,0.000 +lifetime resolution,1,0.000 +is_const_fn,6,0.000 +intrinsic checking,1,0.000 +translation item collection,1,0.000 +impl_polarity,15,0.000 +creating allocators,1,0.000 +language item collection,1,0.000 +crate injection,1,0.000 +early lint checks,1,0.000 +indexing hir,1,0.000 +maybe creating a macro crate,1,0.000 +coherence checking,1,0.000 +optimized_mir,6,0.000 +is_panic_runtime,33,0.000 +associated_item_def_ids,7,0.000 +needs_drop_raw,10,0.000 +lint checking,1,0.000 +complete gated feature checking,1,0.000 +stability index,1,0.000 +region_maps,11,0.000 +super_predicates_of,8,0.000 +coherent_trait,2,0.000 +AST validation,1,0.000 +loop checking,1,0.000 +static item recursion checking,1,0.000 +variances_of,11,0.000 +associated_item,5,0.000 +plugin loading,1,0.000 +looking for plugin registrar,1,0.000 +stability checking,1,0.000 +describe_def,15,0.000 +variance testing,1,0.000 +codegen unit partitioning,1,0.000 +looking for entry point,1,0.000 +checking for inline asm in case the target doesn't support it,1,0.000 +inherent_impls,1,0.000 +crate_inherent_impls,1,0.000 +trait_of_item,7,0.000 +crate_inherent_impls_overlap_check,1,0.000 +attribute checking,1,0.000 +internalize symbols,1,0.000 +impl wf inference,1,0.000 +death checking,1,0.000 +reachability checking,1,0.000 +reachable_set,1,0.000 +is_exported_symbol,3,0.000 +is_mir_available,2,0.000 +unused lib feature checking,1,0.000 +maybe building test harness,1,0.000 +recursion limit,1,0.000 +write allocator module,1,0.000 +assert dep graph,1,0.000 +plugin registration,1,0.000 +write metadata,1,0.000 diff --git a/src/doc/rustc-dev-guide/src/queries/example-0.html b/src/doc/rustc-dev-guide/src/queries/example-0.html new file mode 100644 index 000000000000..b196aaa83739 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/queries/example-0.html @@ -0,0 +1,313330 @@ + + + + + + +
+
parsing
+
0.003
+
0.2%
+
+
+
recursion limit
+
0.000
+
< 0.1%
+
+
+
crate injection
+
0.000
+
< 0.1%
+
+
+
plugin loading
+
0.000
+
< 0.1%
+
+
+
plugin registration
+
0.000
+
< 0.1%
+
+
+
expansion
+
0.059
+
5.2%
+
+
+
maybe building test harness
+
0.000
+
< 0.1%
+
+
+
maybe creating a macro crate
+
0.000
+
< 0.1%
+
+
+
creating allocators
+
0.000
+
< 0.1%
+
+
+
checking for inline asm in case the target doesn't support it
+
0.000
+
< 0.1%
+
+
+
early lint checks
+
0.000
+
< 0.1%
+
+
+
AST validation
+
0.000
+
< 0.1%
+
+
+
name resolution
+
0.004
+
0.3%
+
+
+
complete gated feature checking
+
0.000
+
< 0.1%
+
+
+
lowering ast -> hir
+
0.000
+
< 0.1%
+
+
+
indexing hir
+
0.000
+
< 0.1%
+
+
+
attribute checking
+
0.000
+
< 0.1%
+
+
+
language item collection
+
0.000
+
< 0.1%
+
+
+
lifetime resolution
+
0.000
+
< 0.1%
+
+
+
looking for entry point
+
0.000
+
< 0.1%
+
+
+
looking for plugin registrar
+
0.000
+
< 0.1%
+
+
+
loop checking
+
0.000
+
< 0.1%
+
+
+
static item recursion checking
+
0.000
+
< 0.1%
+
+
+
compute_incremental_hashes_map
+
0.001
+
< 0.1%
+
+
+
load_dep_graph
+
0.007
+
0.6%
+
+
+
stability index
+
0.000
+
< 0.1%
+
+
+
stability checking
+
0.000
+
< 0.1%
+
+
+
type collecting
+
0.001
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
impl wf inference
+
0.000
+
< 0.1%
+
+
+
coherence checking
+
0.000
+
< 0.1%
+
+
crate_inherent_impls
+
0.000
+
< 0.1%
+
+
+
crate_inherent_impls_overlap_check
+
0.000
+
< 0.1%
+
+
+
+
variance testing
+
0.000
+
< 0.1%
+
+
+
wf checking
+
0.001
+
< 0.1%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item-types checking
+
0.005
+
0.4%
+
+
typeck_tables_of
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
relevant_trait_impls_for
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
associated_item_def_ids
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
associated_item_def_ids
+
0.000
+
< 0.1%
+
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
+
+
item-bodies checking
+
0.017
+
1.5%
+
+
typeck_item_bodies
+
0.017
+
1.5%
+
+
typeck_tables_of
+
0.017
+
1.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
inherent_impls
+
0.000
+
< 0.1%
+
+
+
associated_item_def_ids
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
associated_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
associated_item
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
adt_dtorck_constraint
+
0.012
+
1.1%
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
adt_dtorck_constraint
+
0.011
+
1.0%
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
adt_destructor
+
0.011
+
1.0%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
coherent_trait
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
relevant_trait_impls_for
+
0.011
+
1.0%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.010
+
0.9%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
coherent_trait
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
const checking
+
0.055
+
4.8%
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.030
+
2.6%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
relevant_trait_impls_for
+
0.030
+
2.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.028
+
2.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.008
+
0.7%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.001
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
is_copy_raw
+
0.002
+
0.2%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.003
+
0.3%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
associated_item_def_ids
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
associated_item_def_ids
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
+
is_const_fn
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
associated_item
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
+
is_const_fn
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
+
is_copy_raw
+
0.001
+
0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
+
privacy checking
+
0.001
+
0.1%
+
+
privacy_access_levels
+
0.001
+
0.1%
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
associated_item
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
associated_item
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
+
describe_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
intrinsic checking
+
0.000
+
< 0.1%
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
+
effect checking
+
0.000
+
< 0.1%
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
+
match checking
+
0.001
+
< 0.1%
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
+
liveness checking
+
0.001
+
< 0.1%
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
+
borrow checking
+
0.014
+
1.2%
+
+
borrowck
+
0.006
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
mir_validated
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
mir_const
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
variances_of
+
0.000
+
< 0.1%
+
+
+
+
is_const_fn
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
is_const_fn
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
is_const_fn
+
0.000
+
< 0.1%
+
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
+
borrowck
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
mir_validated
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
mir_const
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
region_maps
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
relevant_trait_impls_for
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.003
+
0.2%
+
+
def_span
+
0.003
+
0.2%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
is_object_safe
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
associated_item_def_ids
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
associated_item_def_ids
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
+
+
reachability checking
+
0.000
+
< 0.1%
+
+
reachable_set
+
0.000
+
< 0.1%
+
+
privacy_access_levels
+
0.000
+
< 0.1%
+
+
+
+
+
death checking
+
0.000
+
< 0.1%
+
+
privacy_access_levels
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
+
unused lib feature checking
+
0.000
+
< 0.1%
+
+
privacy_access_levels
+
0.000
+
< 0.1%
+
+
+
+
lint checking
+
0.000
+
< 0.1%
+
+
privacy_access_levels
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
typeck_tables_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
+
resolving dependency formats
+
0.001
+
< 0.1%
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
+
translation
+
0.891
+
78.1%
+
+
write metadata
+
0.000
+
< 0.1%
+
+
+
translation item collection
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
optimized_mir
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
borrowck
+
0.000
+
< 0.1%
+
+
+
mir_validated
+
0.000
+
< 0.1%
+
+
+
param_env
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
is_copy_raw
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
adt_destructor
+
0.000
+
< 0.1%
+
+
+
is_const_fn
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
trait_of_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
is_exported_symbol
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_mir_available
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_of_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
is_exported_symbol
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_exported_symbol
+
0.000
+
< 0.1%
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
+
is_mir_available
+
0.000
+
< 0.1%
+
+
+
optimized_mir
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
trait_of_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
needs_drop_raw
+
0.000
+
< 0.1%
+
+
+
optimized_mir
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
borrowck
+
0.000
+
< 0.1%
+
+
+
mir_validated
+
0.000
+
< 0.1%
+
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
codegen unit partitioning
+
0.000
+
< 0.1%
+
+
trait_of_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.001
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.001
+
< 0.1%
+
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.001
+
< 0.1%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.001
+
< 0.1%
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
relevant_trait_impls_for
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
trait_impls_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_object_safe
+
0.000
+
< 0.1%
+
+
+
impl_polarity
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.002
+
0.2%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.002
+
0.2%
+
+
param_env
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
super_predicates_of
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.002
+
0.2%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
optimized_mir
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
adt_sized_constraint
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
predicates_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
optimized_mir
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
trait_of_item
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
trait_of_item
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
extern_crate
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
trait_of_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
optimized_mir
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_freeze_raw
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
layout_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
is_sized_raw
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.001
+
< 0.1%
+
+
def_span
+
0.001
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.017
+
1.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.001
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.025
+
2.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.012
+
1.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.012
+
1.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.010
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.010
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.020
+
1.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.012
+
1.0%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.012
+
1.0%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.010
+
0.9%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.006
+
0.5%
+
+
def_span
+
0.006
+
0.5%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.011
+
0.9%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.011
+
0.9%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.006
+
0.5%
+
+
def_span
+
0.006
+
0.5%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.003
+
0.2%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.002
+
0.2%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.010
+
0.9%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.010
+
0.9%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.001
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.005
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.003
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.001
+
< 0.1%
+
+
def_span
+
0.001
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.009
+
0.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.021
+
1.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.021
+
1.8%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.002
+
0.1%
+
+
def_span
+
0.002
+
0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.003
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.004
+
0.3%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.005
+
0.5%
+
+
def_span
+
0.005
+
0.5%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.007
+
0.6%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.008
+
0.7%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
trait_def
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.008
+
0.7%
+
+
def_span
+
0.008
+
0.7%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.005
+
0.4%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.024
+
2.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.024
+
2.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
is_panic_runtime
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.001
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.006
+
0.5%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.002
+
0.2%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.002
+
0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
adt_def
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
generics_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
is_foreign_item
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
fn_sig
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
def_symbol_name
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
is_default_impl
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
type_of
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
impl_trait_ref
+
0.000
+
< 0.1%
+
+
def_span
+
0.000
+
< 0.1%
+
+
+
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
internalize symbols
+
0.000
+
< 0.1%
+
+
generics_of
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
symbol_name
+
0.000
+
< 0.1%
+
+
+
item_attrs
+
0.000
+
< 0.1%
+
+
+
+
write allocator module
+
0.000
+
< 0.1%
+
+
+
+
assert dep graph
+
0.000
+
< 0.1%
+
+
+
serialize dep graph
+
0.079
+
6.9%
+
+ + diff --git a/src/doc/rustc-dev-guide/src/queries/example-0.png b/src/doc/rustc-dev-guide/src/queries/example-0.png new file mode 100644 index 000000000000..14b46c44f7d0 Binary files /dev/null and b/src/doc/rustc-dev-guide/src/queries/example-0.png differ diff --git a/src/doc/rustc-dev-guide/src/queries/incremental-compilation-in-detail.md b/src/doc/rustc-dev-guide/src/queries/incremental-compilation-in-detail.md new file mode 100644 index 000000000000..4133b196c0af --- /dev/null +++ b/src/doc/rustc-dev-guide/src/queries/incremental-compilation-in-detail.md @@ -0,0 +1,539 @@ +# Incremental Compilation In Detail + + + +The incremental compilation scheme is, in essence, a surprisingly +simple extension to the overall query system. It relies on the fact that: + + 1. queries are pure functions -- given the same inputs, a query will always + yield the same result, and + 2. the query model structures compilation in an acyclic graph that makes + dependencies between individual computations explicit. + +This chapter will explain how we can use these properties for making things +incremental and then goes on to discuss version implementation issues. + +## A Basic Algorithm For Incremental Query Evaluation + +As explained in the [query evaluation model primer][query-model], query +invocations form a directed-acyclic graph. Here's the example from the +previous chapter again: + +```ignore + list_of_all_hir_items <----------------------------- type_check_crate() + | + | + Hir(foo) <--- type_of(foo) <--- type_check_item(foo) <-------+ + | | + +-----------------+ | + | | + v | + Hir(bar) <--- type_of(bar) <--- type_check_item(bar) <-------+ +``` + +Since every access from one query to another has to go through the query +context, we can record these accesses and thus actually build this dependency +graph in memory. With dependency tracking enabled, when compilation is done, +we know which queries were invoked (the nodes of the graph) and for each +invocation, which other queries or input has gone into computing the query's +result (the edges of the graph). + +Now suppose we change the source code of our program so that +HIR of `bar` looks different than before. Our goal is to only recompute +those queries that are actually affected by the change while re-using +the cached results of all the other queries. Given the dependency graph we can +do exactly that. For a given query invocation, the graph tells us exactly +what data has gone into computing its results, we just have to follow the +edges until we reach something that has changed. If we don't encounter +anything that has changed, we know that the query still would evaluate to +the same result we already have in our cache. + +Taking the `type_of(foo)` invocation from above as an example, we can check +whether the cached result is still valid by following the edges to its +inputs. The only edge leads to `Hir(foo)`, an input that has not been affected +by the change. So we know that the cached result for `type_of(foo)` is still +valid. + +The story is a bit different for `type_check_item(foo)`: We again walk the +edges and already know that `type_of(foo)` is fine. Then we get to +`type_of(bar)` which we have not checked yet, so we walk the edges of +`type_of(bar)` and encounter `Hir(bar)` which *has* changed. Consequently +the result of `type_of(bar)` might yield a different result than what we +have in the cache and, transitively, the result of `type_check_item(foo)` +might have changed too. We thus re-run `type_check_item(foo)`, which in +turn will re-run `type_of(bar)`, which will yield an up-to-date result +because it reads the up-to-date version of `Hir(bar)`. Also, we re-run +`type_check_item(bar)` because result of `type_of(bar)` might have changed. + + +## The Problem With The Basic Algorithm: False Positives + +If you read the previous paragraph carefully you'll notice that it says that +`type_of(bar)` *might* have changed because one of its inputs has changed. +There's also the possibility that it might still yield exactly the same +result *even though* its input has changed. Consider an example with a +simple query that just computes the sign of an integer: + +```ignore + IntValue(x) <---- sign_of(x) <--- some_other_query(x) +``` + +Let's say that `IntValue(x)` starts out as `1000` and then is set to `2000`. +Even though `IntValue(x)` is different in the two cases, `sign_of(x)` yields +the result `+` in both cases. + +If we follow the basic algorithm, however, `some_other_query(x)` would have to +(unnecessarily) be re-evaluated because it transitively depends on a changed +input. Change detection yields a "false positive" in this case because it has +to conservatively assume that `some_other_query(x)` might be affected by that +changed input. + +Unfortunately it turns out that the actual queries in the compiler are full +of examples like this and small changes to the input often potentially affect +very large parts of the output binaries. As a consequence, we had to make the +change detection system smarter and more accurate. + +## Improving Accuracy: The red-green Algorithm + +The "false positives" problem can be solved by interleaving change detection +and query re-evaluation. Instead of walking the graph all the way to the +inputs when trying to find out if some cached result is still valid, we can +check if a result has *actually* changed after we were forced to re-evaluate +it. + +We call this algorithm the red-green algorithm because nodes +in the dependency graph are assigned the color green if we were able to prove +that its cached result is still valid and the color red if the result has +turned out to be different after re-evaluating it. + +The meat of red-green change tracking is implemented in the try-mark-green +algorithm, that, you've guessed it, tries to mark a given node as green: + +```rust,ignore +fn try_mark_green(tcx, current_node) -> bool { + + // Fetch the inputs to `current_node`, i.e. get the nodes that the direct + // edges from `node` lead to. + let dependencies = tcx.dep_graph.get_dependencies_of(current_node); + + // Now check all the inputs for changes + for dependency in dependencies { + + match tcx.dep_graph.get_node_color(dependency) { + Green => { + // This input has already been checked before and it has not + // changed; so we can go on to check the next one + } + Red => { + // We found an input that has changed. We cannot mark + // `current_node` as green without re-running the + // corresponding query. + return false + } + Unknown => { + // This is the first time we look at this node. Let's try + // to mark it green by calling try_mark_green() recursively. + if try_mark_green(tcx, dependency) { + // We successfully marked the input as green, on to the + // next. + } else { + // We could *not* mark the input as green. This means we + // don't know if its value has changed. In order to find + // out, we re-run the corresponding query now! + tcx.run_query_for(dependency); + + // Fetch and check the node color again. Running the query + // has forced it to either red (if it yielded a different + // result than we have in the cache) or green (if it + // yielded the same result). + match tcx.dep_graph.get_node_color(dependency) { + Red => { + // The input turned out to be red, so we cannot + // mark `current_node` as green. + return false + } + Green => { + // Re-running the query paid off! The result is the + // same as before, so this particular input does + // not invalidate `current_node`. + } + Unknown => { + // There is no way a node has no color after + // re-running the query. + panic!("unreachable") + } + } + } + } + } + } + + // If we have gotten through the entire loop, it means that all inputs + // have turned out to be green. If all inputs are unchanged, it means + // that the query result corresponding to `current_node` cannot have + // changed either. + tcx.dep_graph.mark_green(current_node); + + true +} +``` + +> NOTE: +> The actual implementation can be found in +> [`compiler/rustc_query_system/src/dep_graph/graph.rs`][try_mark_green] + +By using red-green marking we can avoid the devastating cumulative effect of +having false positives during change detection. Whenever a query is executed +in incremental mode, we first check if its already green. If not, we run +`try_mark_green()` on it. If it still isn't green after that, then we actually +invoke the query provider to re-compute the result. Re-computing the query might +then itself involve recursively invoking more queries, which can mean we come back +to the `try_mark_green()` algorithm for the dependencies recursively. + + +## The Real World: How Persistence Makes Everything Complicated + +The sections above described the underlying algorithm for incremental +compilation but because the compiler process exits after being finished and +takes the query context with its result cache with it into oblivion, we have to +persist data to disk, so the next compilation session can make use of it. +This comes with a whole new set of implementation challenges: + +- The query result cache is stored to disk, so they are not readily available + for change comparison. +- A subsequent compilation session will start off with new version of the code + that has arbitrary changes applied to it. All kinds of IDs and indices that + are generated from a global, sequential counter (e.g. `NodeId`, `DefId`, etc) + might have shifted, making the persisted results on disk not immediately + usable anymore because the same numeric IDs and indices might refer to + completely new things in the new compilation session. +- Persisting things to disk comes at a cost, so not every tiny piece of + information should be actually cached in between compilation sessions. + Fixed-sized, plain-old-data is preferred to complex things that need to run + through an expensive (de-)serialization step. + +The following sections describe how the compiler solves these issues. + +### A Question Of Stability: Bridging The Gap Between Compilation Sessions + +As noted before, various IDs (like `DefId`) are generated by the compiler in a +way that depends on the contents of the source code being compiled. ID assignment +is usually deterministic, that is, if the exact same code is compiled twice, +the same things will end up with the same IDs. However, if something +changes, e.g. a function is added in the middle of a file, there is no +guarantee that anything will have the same ID as it had before. + +As a consequence we cannot represent the data in our on-disk cache the same +way it is represented in memory. For example, if we just stored a piece +of type information like `TyKind::FnDef(DefId, &'tcx Substs<'tcx>)` (as we do +in memory) and then the contained `DefId` points to a different function in +a new compilation session we'd be in trouble. + +The solution to this problem is to find "stable" forms for IDs which remain +valid in between compilation sessions. For the most important case, `DefId`s, +these are the so-called `DefPath`s. Each `DefId` has a +corresponding `DefPath` but in place of a numeric ID, a `DefPath` is based on +the path to the identified item, e.g. `std::collections::HashMap`. The +advantage of an ID like this is that it is not affected by unrelated changes. +For example, one can add a new function to `std::collections` but +`std::collections::HashMap` would still be `std::collections::HashMap`. A +`DefPath` is "stable" across changes made to the source code while a `DefId` +isn't. + +There is also the `DefPathHash` which is just a 128-bit hash value of the +`DefPath`. The two contain the same information and we mostly use the +`DefPathHash` because it simpler to handle, being `Copy` and self-contained. + +This principle of stable identifiers is used to make the data in the on-disk +cache resilient to source code changes. Instead of storing a `DefId`, we store +the `DefPathHash` and when we deserialize something from the cache, we map the +`DefPathHash` to the corresponding `DefId` in the *current* compilation session +(which is just a simple hash table lookup). + +The `HirId`, used for identifying HIR components that don't have their own +`DefId`, is another such stable ID. It is (conceptually) a pair of a `DefPath` +and a `LocalId`, where the `LocalId` identifies something (e.g. a `hir::Expr`) +locally within its "owner" (e.g. a `hir::Item`). If the owner is moved around, +the `LocalId`s within it are still the same. + + + +### Checking Query Results For Changes: HashStable And Fingerprints + +In order to do red-green-marking we often need to check if the result of a +query has changed compared to the result it had during the previous +compilation session. There are two performance problems with this though: + +- We'd like to avoid having to load the previous result from disk just for + doing the comparison. We already computed the new result and will use that. + Also loading a result from disk will "pollute" the interners with data that + is unlikely to ever be used. +- We don't want to store each and every result in the on-disk cache. For + example, it would be wasted effort to persist things to disk that are + already available in upstream crates. + +The compiler avoids these problems by using so-called `Fingerprint`s. Each time +a new query result is computed, the query engine will compute a 128 bit hash +value of the result. We call this hash value "the `Fingerprint` of the query +result". The hashing is (and has to be) done "in a stable way". This means +that whenever something is hashed that might change in between compilation +sessions (e.g. a `DefId`), we instead hash its stable equivalent +(e.g. the corresponding `DefPath`). That's what the whole `HashStable` +infrastructure is for. This way `Fingerprint`s computed in two +different compilation sessions are still comparable. + +The next step is to store these fingerprints along with the dependency graph. +This is cheap since fingerprints are just bytes to be copied. It's also cheap to +load the entire set of fingerprints together with the dependency graph. + +Now, when red-green-marking reaches the point where it needs to check if a +result has changed, it can just compare the (already loaded) previous +fingerprint to the fingerprint of the new result. + +This approach works rather well but it's not without flaws: + +- There is a small possibility of hash collisions. That is, two different + results could have the same fingerprint and the system would erroneously + assume that the result hasn't changed, leading to a missed update. + + We mitigate this risk by using a high-quality hash function and a 128 bit + wide hash value. Due to these measures the practical risk of a hash + collision is negligible. + +- Computing fingerprints is quite costly. It is the main reason why incremental + compilation can be slower than non-incremental compilation. We are forced to + use a good and thus expensive hash function, and we have to map things to + their stable equivalents while doing the hashing. + + +### A Tale Of Two DepGraphs: The Old And The New + +The initial description of dependency tracking glosses over a few details +that quickly become a head scratcher when actually trying to implement things. +In particular it's easy to overlook that we are actually dealing with *two* +dependency graphs: The one we built during the previous compilation session and +the one that we are building for the current compilation session. + +When a compilation session starts, the compiler loads the previous dependency +graph into memory as an immutable piece of data. Then, when a query is invoked, +it will first try to mark the corresponding node in the graph as green. This +means really that we are trying to mark the node in the *previous* dep-graph +as green that corresponds to the query key in the *current* session. How do we +do this mapping between current query key and previous `DepNode`? The answer +is again `Fingerprint`s: Nodes in the dependency graph are identified by a +fingerprint of the query key. Since fingerprints are stable across compilation +sessions, computing one in the current session allows us to find a node +in the dependency graph from the previous session. If we don't find a node with +the given fingerprint, it means that the query key refers to something that +did not yet exist in the previous session. + +So, having found the dep-node in the previous dependency graph, we can look +up its dependencies (i.e. also dep-nodes in the previous graph) and continue with +the rest of the try-mark-green algorithm. The next interesting thing happens +when we successfully marked the node as green. At that point we copy the node +and the edges to its dependencies from the old graph into the new graph. We +have to do this because the new dep-graph cannot acquire the +node and edges via the regular dependency tracking. The tracking system can +only record edges while actually running a query -- but running the query, +although we have the result already cached, is exactly what we want to avoid. + +Once the compilation session has finished, all the unchanged parts have been +copied over from the old into the new dependency graph, while the changed parts +have been added to the new graph by the tracking system. At this point, the +new graph is serialized out to disk, alongside the query result cache, and can +act as the previous dep-graph in a subsequent compilation session. + + +### Didn't You Forget Something?: Cache Promotion + +The system described so far has a somewhat subtle property: If all inputs of a +dep-node are green then the dep-node itself can be marked as green without +computing or loading the corresponding query result. Applying this property +transitively often leads to the situation that some intermediate results are +never actually loaded from disk, as in the following example: + +```ignore + input(A) <-- intermediate_query(B) <-- leaf_query(C) +``` + +The compiler might need the value of `leaf_query(C)` in order to generate some +output artifact. If it can mark `leaf_query(C)` as green, it will load the +result from the on-disk cache. The result of `intermediate_query(B)` is never +loaded though. As a consequence, when the compiler persists the *new* result +cache by writing all in-memory query results to disk, `intermediate_query(B)` +will not be in memory and thus will be missing from the new result cache. + +If there subsequently is another compilation session that actually needs the +result of `intermediate_query(B)` it will have to be re-computed even though we +had a perfectly valid result for it in the cache just before. + +In order to prevent this from happening, the compiler does something called +"cache promotion": Before emitting the new result cache it will walk all green +dep-nodes and make sure that their query result is loaded into memory. That way +the result cache doesn't unnecessarily shrink again. + + + +# Incremental Compilation and the Compiler Backend + +The compiler backend, the part involving LLVM, is using the query system but +it is not implemented in terms of queries itself. As a consequence it does not +automatically partake in dependency tracking. However, the manual integration +with the tracking system is pretty straight-forward. The compiler simply tracks +what queries get invoked when generating the initial LLVM version of each +codegen unit (CGU), which results in a dep-node for each CGU. In subsequent +compilation sessions it then tries to mark the dep-node for a CGU as green. If +it succeeds, it knows that the corresponding object and bitcode files on disk +are still valid. If it doesn't succeed, the entire CGU has to be recompiled. + +This is the same approach that is used for regular queries. The main differences +are: + + - that we cannot easily compute a fingerprint for LLVM modules (because + they are opaque C++ objects), + + - that the logic for dealing with cached values is rather different from + regular queries because here we have bitcode and object files instead of + serialized Rust values in the common result cache file, and + + - the operations around LLVM are so expensive in terms of computation time and + memory consumption that we need to have tight control over what is + executed when and what stays in memory for how long. + +The query system could probably be extended with general purpose mechanisms to +deal with all of the above but so far that seemed like more trouble than it +would save. + + + +## Query Modifiers + +The query system allows for applying [modifiers][mod] to queries. These +modifiers affect certain aspects of how the system treats the query with +respect to incremental compilation: + + - `eval_always` - A query with the `eval_always` attribute is re-executed + unconditionally during incremental compilation. I.e. the system will not + even try to mark the query's dep-node as green. This attribute has two use + cases: + + - `eval_always` queries can read inputs (from files, global state, etc). + They can also produce side effects like writing to files and changing global state. + + - Some queries are very likely to be re-evaluated because their result + depends on the entire source code. In this case `eval_always` can be used + as an optimization because the system can skip recording dependencies in + the first place. + + - `no_hash` - Applying `no_hash` to a query tells the system to not compute + the fingerprint of the query's result. This has two consequences: + + - Not computing the fingerprint can save quite a bit of time because + fingerprinting is expensive, especially for large, complex values. + + - Without the fingerprint, the system has to unconditionally assume that + the result of the query has changed. As a consequence anything depending + on a `no_hash` query will always be re-executed. + + Using `no_hash` for a query can make sense in two circumstances: + + - If the result of the query is very likely to change whenever one of its + inputs changes, e.g. a function like `|a, b, c| -> (a * b * c)`. In such + a case recomputing the query will always yield a red node if one of the + inputs is red so we can spare us the trouble and default to red immediately. + A counter example would be a function like `|a| -> (a == 42)` where the + result does not change for most changes of `a`. + + - If the result of a query is a big, monolithic collection (e.g. `index_hir`) + and there are "projection queries" reading from that collection + (e.g. `hir_owner`). In such a case the big collection will likely fulfill the + condition above (any changed input means recomputing the whole collection) + and the results of the projection queries will be hashed anyway. If we also + hashed the collection query it would mean that we effectively hash the same + data twice: once when hashing the collection and another time when hashing all + the projection query results. `no_hash` allows us to avoid that redundancy + and the projection queries act as a "firewall", shielding their dependents + from the unconditionally red `no_hash` node. + + - `cache_on_disk_if` - This attribute is what determines which query results + are persisted in the incremental compilation query result cache. The + attribute takes an expression that allows per query invocation + decisions. For example, it makes no sense to store values from upstream + crates in the cache because they are already available in the upstream + crate's metadata. + + - `anon` - This attribute makes the system use "anonymous" dep-nodes for the + given query. An anonymous dep-node is not identified by the corresponding + query key, instead its ID is computed from the IDs of its dependencies. This + allows the red-green system to do its change detection even if there is no + query key available for a given dep-node -- something which is needed for + handling trait selection because it is not based on queries. + +[mod]: ../query.html#adding-a-new-kind-of-query + + +## The Projection Query Pattern + +It's interesting to note that `eval_always` and `no_hash` can be used together +in the so-called "projection query" pattern. It is often the case that there is +one query that depends on the entirety of the compiler's input (e.g. the indexed HIR) +and another query that projects individual values out of this monolithic value +(e.g. a HIR item with a certain `DefId`). These projection queries allow for +building change propagation "firewalls" because even if the result of the +monolithic query changes (which it is very likely to do) the small projections +can still mostly be marked as green. + + +```ignore + +------------+ + | | +---------------+ +--------+ + | | <---------| projection(x) | <---------| foo(a) | + | | +---------------+ +--------+ + | | + | monolithic | +---------------+ +--------+ + | query | <---------| projection(y) | <---------| bar(b) | + | | +---------------+ +--------+ + | | + | | +---------------+ +--------+ + | | <---------| projection(z) | <---------| baz(c) | + | | +---------------+ +--------+ + +------------+ +``` + +Let's assume that the result `monolithic_query` changes so that also the result +of `projection(x)` has changed, i.e. both their dep-nodes are being marked as +red. As a consequence `foo(a)` needs to be re-executed; but `bar(b)` and +`baz(c)` can be marked as green. However, if `foo`, `bar`, and `baz` would have +directly depended on `monolithic_query` then all of them would have had to be +re-evaluated. + +This pattern works even without `eval_always` and `no_hash` but the two +modifiers can be used to avoid unnecessary overhead. If the monolithic query +is likely to change at any minor modification of the compiler's input it makes +sense to mark it as `eval_always`, thus getting rid of its dependency tracking +cost. And it always makes sense to mark the monolithic query as `no_hash` +because we have the projections to take care of keeping things green as much +as possible. + + +# Shortcomings of the Current System + +There are many things that still can be improved. + +## Incrementality of on-disk data structures + +The current system is not able to update on-disk caches and the dependency graph +in-place. Instead it has to rewrite each file entirely in each compilation +session. The overhead of doing so is a few percent of total compilation time. + +## Unnecessary data dependencies + +Data structures used as query results could be factored in a way that removes +edges from the dependency graph. Especially "span" information is very volatile, +so including it in query result will increase the chance that the result won't +be reusable. See for more +information. + + +[query-model]: ./query-evaluation-model-in-detail.html +[try_mark_green]: https://doc.rust-lang.org/nightly/nightly-rustc/src/rustc_query_system/dep_graph/graph.rs.html diff --git a/src/doc/rustc-dev-guide/src/queries/incremental-compilation.md b/src/doc/rustc-dev-guide/src/queries/incremental-compilation.md new file mode 100644 index 000000000000..6e5b4e8cc499 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/queries/incremental-compilation.md @@ -0,0 +1,165 @@ +# Incremental compilation + + + +The incremental compilation scheme is, in essence, a surprisingly +simple extension to the overall query system. We'll start by describing +a slightly simplified variant of the real thing – the "basic algorithm" – +and then describe some possible improvements. + +## The basic algorithm + +The basic algorithm is +called the **red-green** algorithm[^salsa]. The high-level idea is +that, after each run of the compiler, we will save the results of all +the queries that we do, as well as the **query DAG**. The +**query DAG** is a [DAG] that indexes which queries executed which +other queries. So, for example, there would be an [edge] from a query Q1 +to another query Q2 if computing Q1 required computing Q2 (note that +because queries cannot depend on themselves, this results in a DAG and +not a general graph). + +[DAG]: https://en.wikipedia.org/wiki/Directed_acyclic_graph + +> **NOTE**: You might think of a query as simply the definition of a query. +> A thing that you can invoke, a bit like a function, +> and which either returns a cached result or actually executes the code. +> +> If that's the way you think about queries, +> it's good to know that in the following text, queries will be said to have colours. +> Keep in mind though, that here the word query also refers to a certain invocation of +> the query for a certain input. As you will read later, queries are fingerprinted based +> on their arguments. The result of a query might change when we give it one argument +> and be coloured red, while it stays the same for another argument and is thus green. +> +> In short, the word query is here not just used to mean the definition of a query, +> but also for a specific instance of that query with given arguments. + +On the next run of the compiler, then, we can sometimes reuse these +query results to avoid re-executing a query. We do this by assigning +every query a **color**: + +- If a query is colored **red**, that means that its result during + this compilation has **changed** from the previous compilation. +- If a query is colored **green**, that means that its result is + the **same** as the previous compilation. + +There are two key insights here: + +- First, if all the inputs to query Q are colored green, then the + query Q **must** result in the same value as last time and hence + need not be re-executed (or else the compiler is not deterministic). +- Second, even if some inputs to a query changes, it may be that it + **still** produces the same result as the previous compilation. In + particular, the query may only use part of its input. + - Therefore, after executing a query, we always check whether it + produced the same result as the previous time. **If it did,** we + can still mark the query as green, and hence avoid re-executing + dependent queries. + +### The try-mark-green algorithm + +At the core of incremental compilation is an algorithm called +"try-mark-green". It has the job of determining the color of a given +query Q (which must not have yet been executed). In cases where Q has +red inputs, determining Q's color may involve re-executing Q so that +we can compare its output, but if all of Q's inputs are green, then we +can conclude that Q must be green without re-executing it or inspecting +its value at all. In the compiler, this allows us to avoid +deserializing the result from disk when we don't need it, and in fact +enables us to sometimes skip *serializing* the result as well +(see the refinements section below). + +Try-mark-green works as follows: + +- First check if the query Q was executed during the previous compilation. + - If not, we can just re-execute the query as normal, and assign it the + color of red. +- If yes, then load the 'dependent queries' of Q. +- If there is a saved result, then we load the `reads(Q)` vector from the + query DAG. The "reads" is the set of queries that Q executed during + its execution. + - For each query R in `reads(Q)`, we recursively demand the color + of R using try-mark-green. + - Note: it is important that we visit each node in `reads(Q)` in same order + as they occurred in the original compilation. See [the section on the + query DAG below](#dag). + - If **any** of the nodes in `reads(Q)` wind up colored **red**, then Q is + dirty. + - We re-execute Q and compare the hash of its result to the hash of the + result from the previous compilation. + - If the hash has not changed, we can mark Q as **green** and return. + - Otherwise, **all** of the nodes in `reads(Q)` must be **green**. In that + case, we can color Q as **green** and return. + + + +### The query DAG + +The query DAG code is stored in +[`compiler/rustc_middle/src/dep_graph`][dep_graph]. Construction of the DAG is done +by instrumenting the query execution. + +One key point is that the query DAG also tracks ordering; that is, for +each query Q, we not only track the queries that Q reads, we track the +**order** in which they were read. This allows try-mark-green to walk +those queries back in the same order. This is important because once a +subquery comes back as red, we can no longer be sure that Q will continue +along the same path as before. That is, imagine a query like this: + +```rust,ignore +fn main_query(tcx) { + if tcx.subquery1() { + tcx.subquery2() + } else { + tcx.subquery3() + } +} +``` + +Now imagine that in the first compilation, `main_query` starts by +executing `subquery1`, and this returns true. In that case, the next +query `main_query` executes will be `subquery2`, and `subquery3` will +not be executed at all. + +But now imagine that in the **next** compilation, the input has +changed such that `subquery1` returns **false**. In this case, `subquery2` +would never execute. If try-mark-green were to visit `reads(main_query)` out +of order, however, it might visit `subquery2` before `subquery1`, and hence +execute it. +This can lead to ICEs and other problems in the compiler. + +[dep_graph]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/dep_graph/index.html + +## Improvements to the basic algorithm + +In the description of the basic algorithm, we said that at the end of +compilation we would save the results of all the queries that were +performed. In practice, this can be quite wasteful – many of those +results are very cheap to recompute, and serializing and deserializing +them is not a particular win. In practice, what we would do is to save +**the hashes** of all the subqueries that we performed. Then, in select cases, +we **also** save the results. + +This is why the incremental algorithm separates computing the +**color** of a node, which often does not require its value, from +computing the **result** of a node. Computing the result is done via a simple +algorithm like so: + +- Check if a saved result for Q is available. If so, compute the color of Q. + If Q is green, deserialize and return the saved result. +- Otherwise, execute Q. + - We can then compare the hash of the result and color Q as green if + it did not change. + +## Resources +The initial design document can be found [here][initial-design], which expands +on the memoization details, provides more high-level overview and motivation +for this system. + +# Footnotes + +[^salsa]: I have long wanted to rename it to the Salsa algorithm, but it never caught on. -@nikomatsakis + +[edge]: https://en.wikipedia.org/wiki/Glossary_of_graph_theory_terms#edge +[initial-design]: https://github.com/nikomatsakis/rustc-on-demand-incremental-design-doc/blob/master/0000-rustc-on-demand-and-incremental.md diff --git a/src/doc/rustc-dev-guide/src/queries/query-evaluation-model-in-detail.md b/src/doc/rustc-dev-guide/src/queries/query-evaluation-model-in-detail.md new file mode 100644 index 000000000000..f7f204bf79d3 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/queries/query-evaluation-model-in-detail.md @@ -0,0 +1,213 @@ +# The Query Evaluation Model in Detail + + + +This chapter provides a deeper dive into the abstract model queries are built on. +It does not go into implementation details but tries to explain +the underlying logic. The examples here, therefore, have been stripped down and +simplified and don't directly reflect the compilers internal APIs. + +## What is a query? + +Abstractly we view the compiler's knowledge about a given crate as a "database" +and queries are the way of asking the compiler questions about it, i.e. +we "query" the compiler's "database" for facts. + +However, there's something special to this compiler database: It starts out empty +and is filled on-demand when queries are executed. Consequently, a query must +know how to compute its result if the database does not contain it yet. For +doing so, it can access other queries and certain input values that the database +is pre-filled with on creation. + +A query thus consists of the following things: + + - A name that identifies the query + - A "key" that specifies what we want to look up + - A result type that specifies what kind of result it yields + - A "provider" which is a function that specifies how the result is to be + computed if it isn't already present in the database. + +As an example, the name of the `type_of` query is `type_of`, its query key is a +`DefId` identifying the item we want to know the type of, the result type is +`Ty<'tcx>`, and the provider is a function that, given the query key and access +to the rest of the database, can compute the type of the item identified by the +key. + +So in some sense a query is just a function that maps the query key to the +corresponding result. However, we have to apply some restrictions in order for +this to be sound: + + - The key and result must be immutable values. + - The provider function must be a pure function in the sense that for the same + key it must always yield the same result. + - The only parameters a provider function takes are the key and a reference to + the "query context" (which provides access to the rest of the "database"). + +The database is built up lazily by invoking queries. The query providers will +invoke other queries, for which the result is either already cached or computed +by calling another query provider. These query provider invocations +conceptually form a directed acyclic graph (DAG) at the leaves of which are +input values that are already known when the query context is created. + + + +## Caching/Memoization + +Results of query invocations are "memoized" which means that the query context +will cache the result in an internal table and, when the query is invoked with +the same query key again, will return the result from the cache instead of +running the provider again. + +This caching is crucial for making the query engine efficient. Without +memoization the system would still be sound (that is, it would yield the same +results) but the same computations would be done over and over again. + +Memoization is one of the main reasons why query providers have to be pure +functions. If calling a provider function could yield different results for +each invocation (because it accesses some global mutable state) then we could +not memoize the result. + + + +## Input data + +When the query context is created, it is still empty: No queries have been +executed, no results are cached. But the context already provides access to +"input" data, i.e. pieces of immutable data that were computed before the +context was created and that queries can access to do their computations. + +As of January 2021, this input data consists mainly of +the HIR map, upstream crate metadata, and the command-line options the compiler +was invoked with; but in the future inputs will just consist of command-line +options and a list of source files -- the HIR map will itself be provided by a +query which processes these source files. + +Without inputs, queries would live in a void without anything to compute their +result from (remember, query providers only have access to other queries and +the context but not any other outside state or information). + +For a query provider, input data and results of other queries look exactly the +same: It just tells the context "give me the value of X". Because input data +is immutable, the provider can rely on it being the same across +different query invocations, just as is the case for query results. + + + +## An example execution trace of some queries + +How does this DAG of query invocations come into existence? At some point +the compiler driver will create the, as yet empty, query context. It will then, +from outside of the query system, invoke the queries it needs to perform its +task. This looks something like the following: + +```rust,ignore +fn compile_crate() { + let cli_options = ...; + let hir_map = ...; + + // Create the query context `tcx` + let tcx = TyCtxt::new(cli_options, hir_map); + + // Do type checking by invoking the type check query + tcx.type_check_crate(); +} +``` + +The `type_check_crate` query provider would look something like the following: + +```rust,ignore +fn type_check_crate_provider(tcx, _key: ()) { + let list_of_hir_items = tcx.hir_map.list_of_items(); + + for item_def_id in list_of_hir_items { + tcx.type_check_item(item_def_id); + } +} +``` + +We see that the `type_check_crate` query accesses input data +(`tcx.hir_map.list_of_items()`) and invokes other queries +(`type_check_item`). The `type_check_item` +invocations will themselves access input data and/or invoke other queries, +so that in the end the DAG of query invocations will be built up backwards +from the node that was initially executed: + +```ignore + (2) (1) + list_of_all_hir_items <----------------------------- type_check_crate() + | + (5) (4) (3) | + Hir(foo) <--- type_of(foo) <--- type_check_item(foo) <-------+ + | | + +-----------------+ | + | | + (7) v (6) (8) | + Hir(bar) <--- type_of(bar) <--- type_check_item(bar) <-------+ + +// (x) denotes invocation order +``` + +We also see that often a query result can be read from the cache: +`type_of(bar)` was computed for `type_check_item(foo)` so when +`type_check_item(bar)` needs it, it is already in the cache. + +Query results stay cached in the query context as long as the context lives. +So if the compiler driver invoked another query later on, the above graph +would still exist and already executed queries would not have to be re-done. + + + +## Cycles + +Earlier we stated that query invocations form a DAG. However, it would be easy +to form a cyclic graph by, for example, having a query provider like the +following: + +```rust,ignore +fn cyclic_query_provider(tcx, key) -> u32 { + // Invoke the same query with the same key again + tcx.cyclic_query(key) +} +``` + +Since query providers are regular functions, this would behave much as expected: +Evaluation would get stuck in an infinite recursion. A query like this would not +be very useful either. However, sometimes certain kinds of invalid user input +can result in queries being called in a cyclic way. The query engine includes +a check for cyclic invocations of queries with the same input arguments. +And, because cycles are an irrecoverable error, will abort execution with a +"cycle error" message that tries to be human readable. + +At some point the compiler had a notion of "cycle recovery", that is, one could +"try" to execute a query and if it ended up causing a cycle, proceed in some +other fashion. However, this was later removed because it is not entirely +clear what the theoretical consequences of this are, especially regarding +incremental compilation. + + +## "Steal" Queries + +Some queries have their result wrapped in a `Steal` struct. These queries +behave exactly the same as regular with one exception: Their result is expected +to be "stolen" out of the cache at some point, meaning some other part of the +program is taking ownership of it and the result cannot be accessed anymore. + +This stealing mechanism exists purely as a performance optimization because some +result values are too costly to clone (e.g. the MIR of a function). It seems +like result stealing would violate the condition that query results must be +immutable (after all we are moving the result value out of the cache) but it is +OK as long as the mutation is not observable. This is achieved by two things: + +- Before a result is stolen, we make sure to eagerly run all queries that + might ever need to read that result. This has to be done manually by calling + those queries. +- Whenever a query tries to access a stolen result, we make an ICE + (Internal Compiler Error) so that such a condition cannot go unnoticed. + +This is not an ideal setup because of the manual intervention needed, so it +should be used sparingly and only when it is well known which queries might +access a given result. In practice, however, stealing has not turned out to be +much of a maintenance burden. + +To summarize: "Steal queries" break some of the rules in a controlled way. +There are checks in place that make sure that nothing can go silently wrong. diff --git a/src/doc/rustc-dev-guide/src/queries/salsa.md b/src/doc/rustc-dev-guide/src/queries/salsa.md new file mode 100644 index 000000000000..1a7b7fa9a683 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/queries/salsa.md @@ -0,0 +1,223 @@ +# How Salsa works + + + +This chapter is based on the explanation given by Niko Matsakis in this +[video](https://www.youtube.com/watch?v=_muY4HjSqVw) about +[Salsa](https://github.com/salsa-rs/salsa). To find out more you may +want to watch [Salsa In More +Depth](https://www.youtube.com/watch?v=i_IhACacPRY), also by Niko +Matsakis. + +> As of November 2022, although Salsa is inspired by (among +> other things) rustc's query system, it is not used directly in rustc. It +> _is_ used in [chalk], an implementation of Rust's trait system, and +> extensively in [`rust-analyzer`], the official implementation of the language +> server protocol for Rust, but there are no medium or long-term concrete +> plans to integrate it into the compiler. + +[`rust-analyzer`]: https://rust-analyzer.github.io/ +[chalk]: https://rust-lang.github.io/chalk/book/what_is_chalk.html + +## What is Salsa? + +Salsa is a library for incremental recomputation. This means it allows reusing +computations that were already done in the past to increase the efficiency +of future computations. + +The objectives of Salsa are: + * Provide that functionality in an automatic way, so reusing old computations + is done automatically by the library. + * Doing so in a "sound", or "correct", way, therefore leading to the same + results as if it had been done from scratch. + +Salsa's actual model is much richer, allowing many kinds of inputs and many different outputs. +For example, integrating Salsa with an IDE could mean that +the inputs could be manifests (`Cargo.toml`, `rust-toolchain.toml`), entire +source files (`foo.rs`), snippets and so on. The outputs of such an integration +could range from a binary executable, to lints, types (for example, if a user +selects a certain variable and wishes to see its type), completions, etc. + +## How does it work? + +The first thing that Salsa has to do is identify the "base inputs" that +are not something computed but given as input. + +Then Salsa has to also identify intermediate, "derived" values, which are +something that the library produces, but, for each derived value there's a +"pure" function that computes the derived value. + +For example, there might be a function `ast(x: Path) -> AST`. The produced +Abstract Syntax Tree (`AST`) isn't a final value, it's an intermediate value +that the library would use for the computation. + +This means that when you try to compute with the library, Salsa is going to +compute various derived values, and eventually read the input and produce the +result for the asked computation. + +In the course of computing, Salsa tracks which inputs were accessed and which +values are derived. This information is used to determine what's going to +happen when the inputs change: are the derived values still valid? + +This doesn't necessarily mean that each computation downstream from the input +is going to be checked, which could be costly. Salsa only needs to check each +downstream computation until it finds one that isn't changed. At that point, it +won't check other derived computations since they wouldn't need to change. + +It's helpful to think about this as a graph with nodes. Each derived value +has a dependency on other values, which could themselves be either base or +derived. Base values don't have a dependency. + +```ignore +I <- A <- C ... + | +J <- B <--+ +``` + +When an input `I` changes, the derived value `A` could change. The derived +value `B`, which does not depend on `I`, `A`, or any value derived from `A` or +`I`, is not subject to change. Therefore, Salsa can reuse the computation done +for `B` in the past, without having to compute it again. + +The computation could also terminate early. Keeping the same graph as before, +say that input `I` has changed in some way (and input `J` hasn't), but when +computing `A` again, it's found that `A` hasn't changed from the previous +computation. This leads to an "early termination", because there's no need to +check if `C` needs to change, since both `C` direct inputs, `A` and `B`, +haven't changed. + +## Key Salsa concepts + +### Query + +A query is some value that Salsa can access in the course of computation. Each +query can have a number of keys (from 0 to many), and all queries have a +result, akin to functions. `0-key` queries are called "input" queries. + +### Database + +The database is basically the context for the entire computation, it's meant to +store Salsa's internal state, all intermediate values for each query, and +anything else that the computation might need. The database must know all the +queries the library is going to do before it can be built, but they don't need +to be specified in the same place. + +After the database is formed, it can be accessed with queries that are very +similar to functions. Since each query's result is stored in the database, when +a query is invoked `N`-times, it will return `N`-**cloned** results, without having +to recompute the query (unless the input has changed in such a way that it +warrants recomputation). + +For each input query (`0-key`), a "set" method is generated, allowing the user to +change the output of such query, and trigger previous memoized values to be +potentially invalidated. + +### Query Groups + +A query group is a set of queries which have been defined together as a unit. +The database is formed by combining query groups. Query groups are akin to +"Salsa modules". + +A set of queries in a query group are just a set of methods in a trait. + +To create a query group a trait annotated with a specific attribute +(`#[salsa::query_group(...)]`) has to be created. + +An argument must also be provided to said attribute as it will be used by Salsa +to create a `struct` to be used later when the database is created. + +Example input query group: + +```rust,ignore +/// This attribute will process this tree, produce this tree as output, and produce +/// a bunch of intermediate stuff that Salsa also uses. One of these things is a +/// "StorageStruct", whose name we have specified in the attribute. +/// +/// This query group is a bunch of **input** queries, that do not rely on any +/// derived input. +#[salsa::query_group(InputsStorage)] +pub trait Inputs { + /// This attribute (`#[salsa::input]`) indicates that this query is a base + /// input, therefore `set_manifest` is going to be auto-generated + #[salsa::input] + fn manifest(&self) -> Manifest; + + #[salsa::input] + fn source_text(&self, name: String) -> String; +} +``` + +To create a **derived** query group, one must specify which other query groups +this one depends on by specifying them as supertraits, as seen in the following +example: + +```rust,ignore +/// This query group is going to contain queries that depend on derived values. +/// A query group can access another query group's queries by specifying the +/// dependency as a supertrait. Query groups can be stacked as much as needed using +/// that pattern. +#[salsa::query_group(ParserStorage)] +pub trait Parser: Inputs { + /// This query `ast` is not an input query, it's a derived query this means + /// that a definition is necessary. + fn ast(&self, name: String) -> String; +} +``` + +When creating a derived query the implementation of said query must be defined +outside the trait. The definition must take a database parameter as an `impl +Trait` (or `dyn Trait`), where trait is the query group that the definition +belongs to, in addition to the other keys. + +```rust,ignore +/// This is going to be the definition of the `ast` query in the `Parser` trait. +/// So, when the query `ast` is invoked, and it needs to be recomputed, Salsa is +/// going to call this function and it's going to give it the database as `impl +/// Parser`. The function doesn't need to be aware of all the queries of all the +/// query groups +fn ast(db: &impl Parser, name: String) -> String { + //! Note, `impl Parser` is used here but `dyn Parser` works just as well + /* code */ + ///By passing an `impl Parser`, this is allowed + let source_text = db.input_file(name); + /* do the actual parsing */ + return ast; +} +``` + +Eventually, after all the query groups have been defined, the database can be +created by declaring a `struct`. + +To specify which query groups are going to be part of the database an `attribute` +(`#[salsa::database(...)]`) must be added. The argument of said `attribute` is a +list of `identifiers`, specifying the query groups **storages**. + +```rust,ignore +///This attribute specifies which query groups are going to be in the database +#[salsa::database(InputsStorage, ParserStorage)] +#[derive(Default)] //optional! +struct MyDatabase { + ///You also need this one field + runtime : salsa::Runtime, +} +///And this trait has to be implemented +impl salsa::Database for MyDatabase { + fn salsa_runtime(&self) -> &salsa::Runtime { + &self.runtime + } +} +``` + +Example usage: + +```rust,ignore +fn main() { + let db = MyDatabase::default(); + db.set_manifest(...); + db.set_source_text(...); + loop { + db.ast(...); //will reuse results + db.set_source_text(...); + } +} +``` diff --git a/src/doc/rustc-dev-guide/src/query.md b/src/doc/rustc-dev-guide/src/query.md new file mode 100644 index 000000000000..782c5b4b3c02 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/query.md @@ -0,0 +1,258 @@ +# Queries: demand-driven compilation + + + +As described in [the high-level overview of the compiler][hl], the Rust compiler +is still (as of July 2021) transitioning from a +traditional "pass-based" setup to a "demand-driven" system. The compiler query +system is the key to rustc's demand-driven organization. +The idea is pretty simple. Instead of entirely independent passes +(parsing, type-checking, etc.), a set of function-like *queries* +compute information about the input source. For example, +there is a query called `type_of` that, given the [`DefId`] of +some item, will compute the type of that item and return it to you. + +[`DefId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/def_id/struct.DefId.html +[hl]: ./compiler-src.md + +Query execution is *memoized*. The first time you invoke a +query, it will go do the computation, but the next time, the result is +returned from a hashtable. Moreover, query execution fits nicely into +*incremental computation*; the idea is roughly that, when you invoke a +query, the result *may* be returned to you by loading stored data +from disk.[^incr-comp-detail] + +Eventually, we want the entire compiler +control-flow to be query driven. There will effectively be one +top-level query (`compile`) that will run compilation on a crate; this +will in turn demand information about that crate, starting from the +*end*. For example: + +- The `compile` query might demand to get a list of codegen-units + (i.e. modules that need to be compiled by LLVM). +- But computing the list of codegen-units would invoke some subquery + that returns the list of all modules defined in the Rust source. +- That query in turn would invoke something asking for the HIR. +- This keeps going further and further back until we wind up doing the + actual parsing. + +Although this vision is not fully realized, large sections of the +compiler (for example, generating [MIR](./mir/index.md)) currently work exactly like this. + +[^incr-comp-detail]: The ["Incremental Compilation in Detail](queries/incremental-compilation-in-detail.md) chapter gives a more +in-depth description of what queries are and how they work. +If you intend to write a query of your own, this is a good read. + +## Invoking queries + +Invoking a query is simple. The [`TyCtxt`] ("type context") struct offers a method +for each defined query. For example, to invoke the `type_of` +query, you would just do this: + +```rust,ignore +let ty = tcx.type_of(some_def_id); +``` + +[`TyCtxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html + +## How the compiler executes a query + +So you may be wondering what happens when you invoke a query +method. The answer is that, for each query, the compiler maintains a +cache – if your query has already been executed, then, the answer is +simple: we clone the return value out of the cache and return it +(therefore, you should try to ensure that the return types of queries +are cheaply cloneable; insert an `Rc` if necessary). + +### Providers + +If, however, the query is *not* in the cache, then the compiler will +try to find a suitable **provider**. A provider is a function that has +been defined and linked into the compiler somewhere that contains the +code to compute the result of the query. + +**Providers are defined per-crate.** The compiler maintains, +internally, a table of providers for every crate, at least +conceptually. Right now, there are really two sets: the providers for +queries about the **local crate** (that is, the one being compiled) +and providers for queries about **external crates** (that is, +dependencies of the local crate). Note that what determines the crate +that a query is targeting is not the *kind* of query, but the *key*. +For example, when you invoke `tcx.type_of(def_id)`, that could be a +local query or an external query, depending on what crate the `def_id` +is referring to (see the [`self::keys::Key`][Key] trait for more +information on how that works). + +Providers always have the same signature: + +```rust,ignore +fn provider<'tcx>( + tcx: TyCtxt<'tcx>, + key: QUERY_KEY, +) -> QUERY_RESULT { + ... +} +``` + +Providers take two arguments: the `tcx` and the query key. +They return the result of the query. + +### How providers are setup + +When the tcx is created, it is given the providers by its creator using +the [`Providers`][providers_struct] struct. This struct is generated by +the macros here, but it is basically a big list of function pointers: + +[providers_struct]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/query/struct.Providers.html + +```rust,ignore +struct Providers { + type_of: for<'tcx> fn(TyCtxt<'tcx>, DefId) -> Ty<'tcx>, + ... +} +``` + +At present, we have one copy of the struct for local crates, and one +for external crates, though the plan is that we may eventually have +one per crate. + +These `Providers` structs are ultimately created and populated by +`rustc_driver`, but it does this by distributing the work +throughout the other `rustc_*` crates. This is done by invoking +various [`provide`][provide_fn] functions. These functions tend to look +something like this: + +[provide_fn]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/fn.provide.html + +```rust,ignore +pub fn provide(providers: &mut Providers) { + *providers = Providers { + type_of, + ..*providers + }; +} +``` + +That is, they take an `&mut Providers` and mutate it in place. Usually +we use the formulation above just because it looks nice, but you could +as well do `providers.type_of = type_of`, which would be equivalent. +(Here, `type_of` would be a top-level function, defined as we saw +before.) So, if we want to add a provider for some other query, +let's call it `fubar`, into the crate above, we might modify the `provide()` +function like so: + +```rust,ignore +pub fn provide(providers: &mut Providers) { + *providers = Providers { + type_of, + fubar, + ..*providers + }; +} + +fn fubar<'tcx>(tcx: TyCtxt<'tcx>, key: DefId) -> Fubar<'tcx> { ... } +``` + +N.B. Most of the `rustc_*` crates only provide **local +providers**. Almost all **extern providers** wind up going through the +[`rustc_metadata` crate][rustc_metadata], which loads the information +from the crate metadata. But in some cases there are crates that +provide queries for *both* local and external crates, in which case +they define both a `provide` and a `provide_extern` function, through +[`wasm_import_module_map`][wasm_import_module_map], that `rustc_driver` can invoke. + +[rustc_metadata]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/index.html +[wasm_import_module_map]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/back/symbol_export/fn.wasm_import_module_map.html + +## Adding a new query + +How do you add a new query? +Defining a query takes place in two steps: + +1. Declare the query name, its arguments and description. +2. Supply query providers where needed. + +To declare the query name and arguments, you simply add an entry to +the big macro invocation in [`compiler/rustc_middle/src/query/mod.rs`][query-mod]. +Then you need to add a documentation comment to it with some _internal_ description. +Then, provide the `desc` attribute which contains a _user-facing_ description of the query. +The `desc` attribute is shown to the user in query cycles. + +This looks something like: + +[query-mod]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/query/index.html + +```rust,ignore +rustc_queries! { + /// Records the type of every item. + query type_of(key: DefId) -> Ty<'tcx> { + cache_on_disk_if { key.is_local() } + desc { |tcx| "computing the type of `{}`", tcx.def_path_str(key) } + } + ... +} +``` + +A query definition has the following form: + +```rust,ignore +query type_of(key: DefId) -> Ty<'tcx> { ... } +^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^^ ^^^ +| | | | | +| | | | query modifiers +| | | result type +| | query key type +| name of query +query keyword +``` + +Let's go over these elements one by one: + +- **Query keyword:** indicates a start of a query definition. +- **Name of query:** the name of the query method + (`tcx.type_of(..)`). Also used as the name of a struct + (`ty::queries::type_of`) that will be generated to represent + this query. +- **Query key type:** the type of the argument to this query. + This type must implement the [`ty::query::keys::Key`][Key] trait, which + defines (for example) how to map it to a crate, and so forth. +- **Result type of query:** the type produced by this query. This type + should (a) not use `RefCell` or other interior mutability and (b) be + cheaply cloneable. Interning or using `Rc` or `Arc` is recommended for + non-trivial data types.[^steal] +- **Query modifiers:** various flags and options that customize how the + query is processed (mostly with respect to [incremental compilation][incrcomp]). + +[Key]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/query/keys/trait.Key.html +[incrcomp]: queries/incremental-compilation-in-detail.html#query-modifiers + +So, to add a query: + +- Add an entry to `rustc_queries!` using the format above. +- Link the provider by modifying the appropriate `provide` method; + or add a new one if needed and ensure that `rustc_driver` is invoking it. + +[^steal]: The one exception to those rules is the `ty::steal::Steal` type, +which is used to cheaply modify MIR in place. See the definition +of `Steal` for more details. New uses of `Steal` should **not** be +added without alerting `@rust-lang/compiler`. + +## External links + +Related design ideas, and tracking issues: + +- Design document: [On-demand Rustc incremental design doc] +- Tracking Issue: ["Red/Green" dependency tracking in compiler] + +More discussion and issues: + +- [GitHub issue #42633] +- [Incremental Compilation Beta] +- [Incremental Compilation Announcement] + +[On-demand Rustc incremental design doc]: https://github.com/nikomatsakis/rustc-on-demand-incremental-design-doc/blob/master/0000-rustc-on-demand-and-incremental.md +["Red/Green" dependency tracking in compiler]: https://github.com/rust-lang/rust/issues/42293 +[GitHub issue #42633]: https://github.com/rust-lang/rust/issues/42633 +[Incremental Compilation Beta]: https://internals.rust-lang.org/t/incremental-compilation-beta/4721 +[Incremental Compilation Announcement]: https://blog.rust-lang.org/2016/09/08/incremental.html + diff --git a/src/doc/rustc-dev-guide/src/return-position-impl-trait-in-trait.md b/src/doc/rustc-dev-guide/src/return-position-impl-trait-in-trait.md new file mode 100644 index 000000000000..5f358819c365 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/return-position-impl-trait-in-trait.md @@ -0,0 +1,440 @@ +# Return Position Impl Trait In Trait + +Return-position impl trait in trait (RPITIT) is conceptually (and as of +[#112988], literally) sugar that turns RPITs in trait methods into +generic associated types (GATs) without the user having to define that +GAT either on the trait side or impl side. + +RPITIT was originally implemented in [#101224], which added support for +async fn in trait (AFIT), since the implementation for RPITIT came for +free as a part of implementing AFIT which had been RFC'd previously. It +was then RFC'd independently in [RFC 3425], which was recently approved +by T-lang. + +## How does it work? + +This doc is ordered mostly via the compilation pipeline: + +1. AST lowering (AST -> HIR) +2. HIR ty lowering (HIR -> rustc_middle::ty data types) +3. typeck + +### AST lowering + +AST lowering for RPITITs is almost the same as lowering RPITs. We +still lower them as +[`hir::ItemKind::OpaqueTy`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.OpaqueTy.html). +The two differences are that: + +We record `in_trait` for the opaque. This will signify that the opaque +is an RPITIT for HIR ty lowering, diagnostics that deal with HIR, etc. + +We record `lifetime_mapping`s for the opaque type, described below. + +#### Aside: Opaque lifetime duplication + +*All opaques* (not just RPITITs) end up duplicating their captured +lifetimes into new lifetime parameters local to the opaque. The main +reason we do this is because RPITs need to be able to "reify"[^1] any +captured late-bound arguments, or make them into early-bound ones. This +is so they can be used as generic args for the opaque, and later to +instantiate hidden types. Since we don't know which lifetimes are early- +or late-bound during AST lowering, we just do this for all lifetimes. + +[^1]: This is compiler-errors terminology, I'm not claiming it's accurate :^) + +The main addition for RPITITs is that during lowering we track the +relationship between the captured lifetimes and the corresponding +duplicated lifetimes in an additional field, +[`OpaqueTy::lifetime_mapping`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.OpaqueTy.html#structfield.lifetime_mapping). +We use this lifetime mapping later on in `predicates_of` to install +bounds that enforce equality between these duplicated lifetimes and +their source lifetimes in order to properly typecheck these GATs, which +will be discussed below. + +##### Note + +It may be better if we were able to lower without duplicates and for +that I think we would need to stop distinguishing between early and late +bound lifetimes. So we would need a solution like [Account for +late-bound lifetimes in generics +#103448](https://github.com/rust-lang/rust/pull/103448) and then also a +PR similar to [Inherit function lifetimes for impl-trait +#103449](https://github.com/rust-lang/rust/pull/103449). + +### HIR ty lowering + +The main change to HIR ty lowering is that we lower `hir::TyKind::OpaqueDef` +for an RPITIT to a projection instead of an opaque, using a newly +synthesized def-id for a new associated type in the trait. We'll +describe how exactly we get this def-id in the next section. + +This means that any time we call `lower_ty` on the RPITIT, we end up +getting a projection back instead of an opaque. This projection can then +be normalized to the right value -- either the original opaque if we're +in the trait, or the inferred type of the RPITIT if we're in an impl. + +#### Lowering to synthetic associated types + +Using query feeding, we synthesize new associated types on both the +trait side and impl side for RPITITs that show up in methods. + +##### Lowering RPITITs in traits + +When `tcx.associated_item_def_ids(trait_def_id)` is called on a trait to +gather all of the trait's associated types, the query previously just +returned the def-ids of the HIR items that are children of the trait. +After [#112988], additionally, for each method in the trait, we add the +def-ids returned by +`tcx.associated_types_for_impl_traits_in_associated_fn(trait_method_def_id)`, +which walks through each trait method, gathers any RPITITs that show up +in the signature, and then calls +`associated_type_for_impl_trait_in_trait` for each RPITIT, which +synthesizes a new associated type. + +##### Lowering RPITITs in impls + +Similarly, along with the impl's HIR items, for each impl method, we +additionally add all of the +`associated_types_for_impl_traits_in_associated_fn` for the impl method. +This calls `associated_type_for_impl_trait_in_impl`, which will +synthesize an associated type definition for each RPITIT that comes from +the corresponding trait method. + +#### Synthesizing new associated types + +We use query feeding +([`TyCtxtAt::create_def`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/query/plumbing/struct.TyCtxtAt.html#method.create_def)) +to synthesize a new def-id for the synthetic GATs for each RPITIT. + +Locally, most of rustc's queries match on the HIR of an item to compute +their values. Since the RPITIT doesn't really have HIR associated with +it, or at least not HIR that corresponds to an associated type, we must +compute many queries eagerly and +[feed](https://github.com/rust-lang/rust/pull/104940) them, like +`opt_def_kind`, `associated_item`, `visibility`, and`defaultness`. + +The values for most of these queries is obvious, since the RPITIT +conceptually inherits most of its information from the parent function +(e.g. `visibility`), or because it's trivially knowable because it's an +associated type (`opt_def_kind`). + +Some other queries are more involved, or cannot be fed, and we +document the interesting ones of those below: + +##### `generics_of` for the trait + +The GAT for an RPITIT conceptually inherits the same generics as the +RPIT it comes from. However, instead of having the method as the +generics' parent, the trait is the parent. + +Currently we get away with taking the RPIT's generics and method +generics and flattening them both into a new generics list, preserving +the def-id of each of the parameters. (This may cause issues with +def-ids having the wrong parents, but in the worst case this will cause +diagnostics issues. If this ends up being an issue, we can synthesize +new def-ids for generic params whose parent is the GAT.) + +
+ An illustrated example + +```rust +trait Foo { + fn method<'early: 'early, 'late, T>() -> impl Sized + Captures<'early, 'late>; +} +``` + +Would desugar to... +```rust +trait Foo { + // vvvvvvvvv method's generics + // vvvvvvvvvvvvvvvvvvvvvvvv opaque's generics + type Gat<'early, T, 'early_duplicated, 'late>: Sized + Captures<'early_duplicated, 'late>; + + fn method<'early: 'early, 'late, T>() -> Self::Gat<'early, T, 'early, 'late>; +} +``` +
+ +##### `generics_of` for the impl + +The generics for an impl's GAT are a bit more interesting. They are +composed of RPITIT's own generics (from the trait definition), appended +onto the impl's methods generics. This has the same issue as above, +where the generics for the GAT have parameters whose def-ids have the +wrong parent, but this should only cause issues in diagnostics. + +We could fix this similarly if we were to synthesize new generics +def-ids, but this can be done later in a forwards-compatible way, +perhaps by a interested new contributor. + +##### `opt_rpitit_info` + +Some queries rely on computing information that would result in cycles +if we were to feed them eagerly, like `explicit_predicates_of`. +Therefore we defer to the `predicates_of` provider to return the right +value for our RPITIT's GAT. We do this by detecting early on in the +query if the associated type is synthetic by using +[`opt_rpitit_info`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.opt_rpitit_info), +which returns `Some` if the associated type is synthetic. + +Then, during a query like `explicit_predicates_of`, we can detect if an +associated type is synthetic like: + +```rust +fn explicit_predicates_of(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ... { + if let Some(rpitit_info) = tcx.opt_rpitit_info(def_id) { + // Do something special for RPITITs... + return ...; + } + + // The regular computation which relies on access to the HIR of `def_id`. +} +``` + +##### `explicit_predicates_of` + +RPITITs begin by copying the predicates of the method that defined it, +both on the trait and impl side. + +Additionally, we install "bidirectional outlives" predicates. +Specifically, we add region-outlives predicates in both directions for +each captured early-bound lifetime that constrains it to be equal to the +duplicated early-bound lifetime that results from lowering. This is best +illustrated in an example: + +```rust +trait Foo<'a> { + fn bar() -> impl Sized + 'a; +} + +// Desugars into... + +trait Foo<'a> { + type Gat<'a_duplicated>: Sized + 'a + where + 'a: 'a_duplicated, + 'a_duplicated: 'a; + //~^ Specifically, we should be able to assume that the + // duplicated `'a_duplicated` lifetime always stays in + // sync with the `'a` lifetime. + + fn bar() -> Self::Gat<'a>; +} +``` + +##### `assumed_wf_types` + +The GATs in both the trait and impl inherit the `assumed_wf_types` of +the trait method that defines the RPITIT. This is to make sure that the +following code is well formed when lowered. + +```rust +trait Foo { + fn iter<'a, T>(x: &'a [T]) -> impl Iterator; +} + +// which is lowered to... + +trait FooDesugared { + type Iter<'a, T>: Iterator; + //~^ assumed wf: `&'a [T]` + // Without assumed wf types, the GAT would not be well-formed on its own. + + fn iter<'a, T>(x: &'a [T]) -> Self::Iter<'a, T>; +} +``` + +Because `assumed_wf_types` is only defined for local def ids, in order +to properly implement `assumed_wf_types` for impls of foreign traits +with RPITs, we need to encode the assumed wf types of RPITITs in an +extern query +[`assumed_wf_types_for_rpitit`](https://github.com/rust-lang/rust/blob/a17c7968b727d8413801961fc4e89869b6ab00d3/compiler/rustc_ty_utils/src/implied_bounds.rs#L14). + +### Typechecking + +#### The RPITIT inference algorithm + +The RPITIT inference algorithm is implemented in +[`collect_return_position_impl_trait_in_trait_tys`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_analysis/check/compare_impl_item/fn.collect_return_position_impl_trait_in_trait_tys.html). + +**High-level:** Given a impl method and a trait method, we take the +trait method and instantiate each RPITIT in the signature with an infer +var. We then equate this trait method signature with the impl method +signature, and process all obligations that fall out in order to infer +the type of all of the RPITITs in the method. + +The method is also responsible for making sure that the hidden types for +each RPITIT actually satisfy the bounds of the `impl Trait`, i.e. that +if we infer `impl Trait = Foo`, that `Foo: Trait` holds. + +
+ An example... + +```rust +#![feature(return_position_impl_trait_in_trait)] + +use std::ops::Deref; + +trait Foo { + fn bar() -> impl Deref; + // ^- RPITIT ?0 ^- RPITIT ?1 +} + +impl Foo for () { + fn bar() -> Box { Box::new(String::new()) } +} +``` + +We end up with the trait signature that looks like `fn() -> ?0`, and +nested obligations `?0: Deref`, `?1: Sized`. The impl +signature is `fn() -> Box`. + +Equating these signatures gives us `?0 = Box`, which then after +processing the obligation `Box: Deref` gives us `?1 += String`, and the other obligation `String: Sized` evaluates to true. + +By the end of the algorithm, we end up with a mapping between associated +type def-ids to concrete types inferred from the signature. We can then +use this mapping to implement `type_of` for the synthetic associated +types in the impl, since this mapping describes the type that should +come after the `=` in `type Assoc = ...` for each RPITIT. +
+ +##### Implied bounds in RPITIT hidden type inference + +Since `collect_return_position_impl_trait_in_trait_tys` does fulfillment and +region resolution, we must provide it `assumed_wf_types` so that we can prove +region obligations with the same expected implied bounds as +`compare_method_predicate_entailment` does. + +Since the return type of a method is understood to be one of the assumed WF +types, and we eagerly fold the return type with inference variables to do +opaque type inference, after opaque type inference, the return type will +resolve to contain the hidden types of the RPITITs. this would mean that the +hidden types of the RPITITs would be assumed to be well-formed without having +independently proven that they are. This resulted in a +[subtle unsoundness bug](https://github.com/rust-lang/rust/pull/116072). In +order to prevent this cyclic reasoning, we instead replace the hidden types of +the RPITITs in the return type of the method with *placeholders*, which lead +to no implied well-formedness bounds. + +#### Default trait body + +Type-checking a default trait body, like: + +```rust +trait Foo { + fn bar() -> impl Sized { + 1i32 + } +} +``` + +requires one interesting hack. We need to install a projection predicate +into the param-env of `Foo::bar` allowing us to assume that the RPITIT's +GAT normalizes to the RPITIT's opaque type. This relies on the +observation that a trait method and RPITIT's GAT will always be "in +sync". That is, one will only ever be overridden if the other one is as +well. + +Compare this to a similar desugaring of the code above, which would fail +because we cannot rely on this same assumption: + +```rust +#![feature(impl_trait_in_assoc_type)] +#![feature(associated_type_defaults)] + +trait Foo { + type RPITIT = impl Sized; + + fn bar() -> Self::RPITIT { + 01i32 + } +} +``` + +Failing because a down-stream impl could theoretically provide an +implementation for `RPITIT` without providing an implementation of +`foo`: + +```text +error[E0308]: mismatched types +--> src/lib.rs:8:9 + | +5 | type RPITIT = impl Sized; + | ------------------------- associated type defaults can't be assumed inside the trait defining them +6 | +7 | fn bar() -> Self::RPITIT { + | ------------ expected `::RPITIT` because of return type +8 | 01i32 + | ^^^^^ expected associated type, found `i32` + | + = note: expected associated type `::RPITIT` + found type `i32` +``` + +#### Well-formedness checking + +We check well-formedness of RPITITs just like regular associated types. + +Since we added lifetime bounds in `predicates_of` that link the +duplicated early-bound lifetimes to their original lifetimes, and we +implemented `assumed_wf_types` which inherits the WF types of the method +from which the RPITIT originates ([#113704]), we have no issues +WF-checking the GAT as if it were a regular GAT. + +### What's broken, what's weird, etc. + +##### Specialization is super busted + +The "default trait methods" described above does not interact well with +specialization, because we only install those projection bounds in trait +default methods, and not in impl methods. Given that specialization is +already pretty busted, I won't go into detail, but it's currently a bug +tracked in: + * `tests/ui/impl-trait/in-trait/specialization-broken.rs` + +##### Projections don't have variances + +This code fails because projections don't have variances: +```rust +#![feature(return_position_impl_trait_in_trait)] + +trait Foo { + // Note that the RPITIT below does *not* capture `'lt`. + fn bar<'lt: 'lt>() -> impl Eq; +} + +fn test<'a, 'b, T: Foo>() -> bool { + ::bar::<'a>() == ::bar::<'b>() + //~^ ERROR + // (requires that `'a == 'b`) +} +``` + +This is because we can't relate `::Rpitit<'a>` and `::Rpitit<'b>`, even if they don't capture their lifetime. If we were +using regular opaque types, this would work, because they would be +bivariant in that lifetime parameter: +```rust +#![feature(return_position_impl_trait_in_trait)] + +fn bar<'lt: 'lt>() -> impl Eq { + () +} + +fn test<'a, 'b>() -> bool { + bar::<'a>() == bar::<'b>() +} +``` + +This is probably okay though, since RPITITs will likely have their +captures behavior changed to capture all in-scope lifetimes anyways. +This could also be relaxed later in a forwards-compatible way if we were +to consider variances of RPITITs when relating projections. + +[#112988]: https://github.com/rust-lang/rust/pull/112988 +[RFC 3425]: https://github.com/rust-lang/rfcs/pull/3425 +[#101224]: https://github.com/rust-lang/rust/pull/101224 +[#113704]: https://github.com/rust-lang/rust/pull/113704 diff --git a/src/doc/rustc-dev-guide/src/rustbot.md b/src/doc/rustc-dev-guide/src/rustbot.md new file mode 100644 index 000000000000..88b831697ffa --- /dev/null +++ b/src/doc/rustc-dev-guide/src/rustbot.md @@ -0,0 +1,66 @@ +# Mastering @rustbot + +`@rustbot` (also known as `triagebot`) is a utility robot that is mostly used to +allow any contributor to achieve certain tasks that would normally require GitHub +membership to the `rust-lang` organization. Its most interesting features for +contributors to `rustc` are issue claiming and relabeling. + +## Issue claiming + +`@rustbot` exposes a command that allows anyone to assign an issue to themselves. +If you see an issue you want to work on, you can send the following message as a +comment on the issue at hand: + + @rustbot claim + +This will tell `@rustbot` to assign the issue to you if it has no assignee yet. +Note that because of some GitHub restrictions, you may be assigned indirectly, +i.e. `@rustbot` will assign itself as a placeholder and edit the top comment to +reflect the fact that the issue is now assigned to you. + +If you want to unassign from an issue, `@rustbot` has a different command: + + @rustbot release-assignment + +## Issue relabeling + +Changing labels for an issue or PR is also normally reserved for members of the +organization. However, `@rustbot` allows you to relabel an issue yourself, only +with a few restrictions. This is mostly useful in two cases: + +**Helping with issue triage**: Rust's issue tracker has more than 5,000 open +issues at the time of this writing, so labels are the most powerful tool that we +have to keep it as tidy as possible. You don't need to spend hours in the issue tracker +to triage issues, but if you open an issue, you should feel free to label it if +you are comfortable with doing it yourself. + +**Updating the status of a PR**: We use "status labels" to reflect the status of +PRs. For example, if your PR has merge conflicts, it will automatically be assigned +the `S-waiting-on-author`, and reviewers might not review it until you rebase your +PR. Once you do rebase your branch, you should change the labels yourself to remove +the `S-waiting-on-author` label and add back `S-waiting-on-review`. In this case, +the `@rustbot` command will look like this: + + @rustbot label -S-waiting-on-author +S-waiting-on-review + +The syntax for this command is pretty loose, so there are other variants of this +command invocation. There are also some shortcuts to update labels, +for instance `@rustbot ready` will do the same thing with above command. +For more details, see [the docs page about labeling][labeling] and [shortcuts][shortcuts]. + +[labeling]: https://forge.rust-lang.org/triagebot/labeling.html +[shortcuts]: https://forge.rust-lang.org/triagebot/shortcuts.html + +## Other commands + +If you are interested in seeing what `@rustbot` is capable of, check out its [documentation], +which is meant as a reference for the bot and should be kept up to date every time the +bot gets an upgrade. + +`@rustbot` is maintained by the Release team. If you have any feedback regarding +existing commands or suggestions for new commands, feel free to reach out +[on Zulip][zulip] or file an issue in [the triagebot repository][repo] + +[documentation]: https://forge.rust-lang.org/triagebot/index.html +[zulip]: https://rust-lang.zulipchat.com/#narrow/stream/224082-t-release.2Ftriagebot +[repo]: https://github.com/rust-lang/triagebot/ diff --git a/src/doc/rustc-dev-guide/src/rustc-driver/getting-diagnostics.md b/src/doc/rustc-dev-guide/src/rustc-driver/getting-diagnostics.md new file mode 100644 index 000000000000..e3ca323058c8 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/rustc-driver/getting-diagnostics.md @@ -0,0 +1,19 @@ +# Example: Getting diagnostic through `rustc_interface` + +The [`rustc_interface`] allows you to intercept diagnostics that would +otherwise be printed to stderr. + +## Getting diagnostics + +To get diagnostics from the compiler, +configure [`rustc_interface::Config`] to output diagnostic to a buffer, +and run [`TyCtxt.analysis`]. +The following was tested with `nightly-2024-09-16`: + +```rust +{{#include ../../examples/rustc-interface-getting-diagnostics.rs}} +``` + +[`rustc_interface`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/index.html +[`rustc_interface::Config`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/struct.Config.html +[`TyCtxt.analysis`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/passes/fn.analysis.html diff --git a/src/doc/rustc-dev-guide/src/rustc-driver/interacting-with-the-ast.md b/src/doc/rustc-dev-guide/src/rustc-driver/interacting-with-the-ast.md new file mode 100644 index 000000000000..5eaa0c82c9ee --- /dev/null +++ b/src/doc/rustc-dev-guide/src/rustc-driver/interacting-with-the-ast.md @@ -0,0 +1,15 @@ +# Example: Type checking through `rustc_driver` + +[`rustc_driver`] allows you to interact with Rust code at various stages of compilation. + +## Getting the type of an expression + +To get the type of an expression, use the [`after_analysis`] callback to get a [`TyCtxt`]. +The following was tested with `nightly-2024-12-15`: + +```rust +{{#include ../../examples/rustc-driver-interacting-with-the-ast.rs}} +``` +[`after_analysis`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/trait.Callbacks.html#method.after_analysis +[`rustc_driver`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver +[`TyCtxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html diff --git a/src/doc/rustc-dev-guide/src/rustc-driver/intro.md b/src/doc/rustc-dev-guide/src/rustc-driver/intro.md new file mode 100644 index 000000000000..a6234dc129ff --- /dev/null +++ b/src/doc/rustc-dev-guide/src/rustc-driver/intro.md @@ -0,0 +1,46 @@ +# `rustc_driver` and `rustc_interface` + +## `rustc_driver` + +The [`rustc_driver`] is essentially `rustc`'s `main` function. +It acts as the glue for running the various phases of the compiler in the correct order, +using the interface defined in the [`rustc_interface`] crate. Where possible, using [`rustc_driver`] rather than [`rustc_interface`] is recommended. + +The main entry point of [`rustc_driver`] is [`rustc_driver::RunCompiler`][rd_rc]. +This builder accepts the same command-line args as rustc as well as an implementation of [`Callbacks`][cb] and a couple of other optional options. +[`Callbacks`][cb] is a `trait` that allows for custom compiler configuration, +as well as allowing custom code to run after different phases of the compilation. + +## `rustc_interface` + +The [`rustc_interface`] crate provides a low level API to external users for manually driving the compilation process, +allowing third parties to effectively use `rustc`'s internals as a library for analyzing a crate or for ad hoc emulating of the compiler for cases where [`rustc_driver`] is not flexible enough (i.e. `rustdoc` compiling code and serving output). + +The main entry point of [`rustc_interface`] ([`rustc_interface::run_compiler`][i_rc]) takes a configuration variable for the compiler +and a `closure` taking a yet unresolved [`Compiler`]. +[`run_compiler`][i_rc] creates a `Compiler` from the configuration and passes it to the `closure`. +Inside the `closure` you can use the `Compiler` to call various functions to compile a crate and get the results. +You can see a minimal example of how to use [`rustc_interface`] [here][example]. + +You can see an example of how to use the various functions using [`rustc_interface`] needs by looking at the `rustc_driver` implementation, +specifically [`rustc_driver_impl::run_compiler`][rdi_rc] +(not to be confused with [`rustc_interface::run_compiler`][i_rc]). + +> **Warning:** By its very nature, the internal compiler APIs are always going +> to be unstable. That said, we do try not to break things unnecessarily. + + +[`Compiler`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/struct.Compiler.html +[`rustc_driver`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/ +[`rustc_interface`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/index.html +[`Session`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/struct.Session.html +[`SourceMap`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/source_map/struct.SourceMap.html +[`TyCtxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TyCtxt.html +[Appendix A]: appendix/stupid-stats.html +[cb]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/trait.Callbacks.html +[example]: https://github.com/rust-lang/rustc-dev-guide/blob/master/examples/rustc-interface-example.rs +[i_rc]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/fn.run_compiler.html +[rd_rc]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/struct.RunCompiler.html +[rdi_rc]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver_impl/fn.run_compiler.html +[stupid-stats]: https://github.com/nrc/stupid-stats +[`nightly-rustc`]: https://doc.rust-lang.org/nightly/nightly-rustc/ diff --git a/src/doc/rustc-dev-guide/src/rustdoc-internals.md b/src/doc/rustc-dev-guide/src/rustdoc-internals.md new file mode 100644 index 000000000000..7f1c83e00f98 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/rustdoc-internals.md @@ -0,0 +1,325 @@ +# Rustdoc Internals + + + +This page describes [`rustdoc`]'s passes and modes. For an overview of `rustdoc`, +see the ["Rustdoc overview" chapter](./rustdoc.md). + +[`rustdoc`]: https://github.com/rust-lang/rust/tree/master/src/tools/rustdoc + +## From Crate to Clean + +In [`core.rs`] are two central items: the [`rustdoc::core::DocContext`] +`struct`, and the [`rustdoc::core::run_global_ctxt`] function. The latter is +where `rustdoc` calls out to `rustc` to compile a crate to the point where +`rustdoc` can take over. The former is a state container used when crawling +through a crate to gather its documentation. + +The main process of crate crawling is done in [`clean/mod.rs`] through several +functions with names that start with `clean_`. Each function accepts an `hir` +or `ty` data structure, and outputs a `clean` structure used by `rustdoc`. For +example, [this function for converting lifetimes]: + +```rust,ignore +fn clean_lifetime<'tcx>(lifetime: &hir::Lifetime, cx: &mut DocContext<'tcx>) -> Lifetime { + if let Some( + rbv::ResolvedArg::EarlyBound(did) + | rbv::ResolvedArg::LateBound(_, _, did) + | rbv::ResolvedArg::Free(_, did), + ) = cx.tcx.named_bound_var(lifetime.hir_id) + && let Some(lt) = cx.args.get(&did).and_then(|arg| arg.as_lt()) + { + return lt.clone(); + } + Lifetime(lifetime.ident.name) +} +``` + +Also, `clean/mod.rs` defines the types for the "cleaned" [Abstract Syntax Tree +(`AST`)][ast] used later to render documentation pages. Each usually accompanies a +`clean_*` function that takes some [`AST`][ast] or [High-Level Intermediate +Representation (`HIR`)][hir] type from `rustc` and converts it into the +appropriate "cleaned" type. "Big" items like modules or associated items may +have some extra processing in its `clean` function, but for the most part these +`impl`s are straightforward conversions. The "entry point" to this module is +[`clean::utils::krate`][ck0], which is called by [`run_global_ctxt`]. + +The first step in [`clean::utils::krate`][ck1] is to invoke +[`visit_ast::RustdocVisitor`] to process the module tree into an intermediate +[`visit_ast::Module`]. This is the step that actually crawls the +[`rustc_hir::Crate`], normalizing various aspects of name resolution, such as: + + * handling `#[doc(inline)]` and `#[doc(no_inline)]` + * handling import globs and cycles, so there are no duplicates or infinite + directory trees + * inlining public `use` exports of private items, or showing a "Reexport" + line in the module page + * inlining items with `#[doc(hidden)]` if the base item is hidden but the + * showing `#[macro_export]`-ed macros at the crate root, regardless of where + they're defined reexport is not + +After this step, `clean::krate` invokes [`clean_doc_module`], which actually +converts the `HIR` items to the cleaned [`AST`][ast]. This is also the step where cross- +crate inlining is performed, which requires converting `rustc_middle` data +structures into the cleaned [`AST`][ast]. + +The other major thing that happens in `clean/mod.rs` is the collection of doc +comments and `#[doc=""]` attributes into a separate field of the [`Attributes`] +`struct`, present on anything that gets hand-written documentation. This makes it +easier to collect this documentation later in the process. + +The primary output of this process is a [`clean::types::Crate`] with a tree of [`Item`]s +which describe the publicly-documentable items in the target crate. + +[`Attributes`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/clean/types/struct.Attributes.html +[`clean_doc_module`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/clean/fn.clean_doc_module.html +[`clean::types::Crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/clean/types/struct.Crate.html +[`clean/mod.rs`]: https://github.com/rust-lang/rust/blob/master/src/librustdoc/clean/mod.rs +[`core.rs`]: https://github.com/rust-lang/rust/blob/master/src/librustdoc/core.rs +[`Item`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/clean/types/struct.Item.html +[`run_global_ctxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/core/fn.run_global_ctxt.html +[`rustc_hir::Crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.Crate.html +[`rustdoc::core::DocContext`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/core/struct.DocContext.html +[`rustdoc::core::run_global_ctxt`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/core/fn.run_global_ctxt.html +[`visit_ast::Module`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/visit_ast/struct.Module.html +[`visit_ast::RustdocVisitor`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/visit_ast/struct.RustdocVisitor.html +[ast]: ./ast-validation.md +[ck0]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/clean/utils/fn.krate.html# +[ck1]: https://doc.rust-lang.org/nightly/nightly-rustc/src/rustdoc/clean/utils.rs.html#31-77 +[hir]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/index.html +[this function for converting lifetimes]: https://doc.rust-lang.org/nightly/nightly-rustc/src/rustdoc/clean/mod.rs.html#256-267 + +### Passes Anything But a Gas Station (or: [Hot Potato](https://www.youtube.com/watch?v=WNFBIt5HxdY)) + +Before moving on to the next major step, a few important "passes" occur over +the cleaned [`AST`][ast]. Several of these passes are `lint`s and reports, but some of +them mutate or generate new items. + +These are all implemented in the [`librustdoc/passes`] directory, one file per pass. +By default, all of these passes are run on a crate, but the ones +regarding dropping private/hidden items can be bypassed by passing +`--document-private-items` to `rustdoc`. Note that unlike the previous set of [`AST`][ast] +transformations, the passes are run on the _cleaned_ crate. + +Here is the list of passes as of March 2023: + +- `calculate-doc-coverage` calculates information used for the `--show-coverage` + flag. + +- `check-doc-test-visibility` runs `doctest` visibility–related `lint`s. This pass + runs before `strip-private`, which is why it needs to be separate from + `run-lints`. + +- `collect-intra-doc-links` resolves [intra-doc links](https://doc.rust-lang.org/nightly/rustdoc/write-documentation/linking-to-items-by-name.html). + +- `collect-trait-impls` collects `trait` `impl`s for each item in the crate. For + example, if we define a `struct` that implements a `trait`, this pass will note + that the `struct` implements that `trait`. + +- `propagate-doc-cfg` propagates `#[doc(cfg(...))]` to child items. + +- `run-lints` runs some of `rustdoc`'s `lint`s, defined in `passes/lint`. This is + the last pass to run. + + - `bare_urls` detects links that are not linkified, e.g., in Markdown such as + `Go to https://example.com/.` It suggests wrapping the link with angle brackets: + `Go to .` to linkify it. This is the code behind the `rustdoc::bare_urls` `lint`. + + - `check_code_block_syntax` validates syntax inside Rust code blocks + (```rust) + + - `html_tags` detects invalid `HTML` (like an unclosed ``) + in doc comments. + +- `strip-hidden` and `strip-private` strip all `doc(hidden)` and private items + from the output. `strip-private` implies `strip-priv-imports`. Basically, the + goal is to remove items that are not relevant for public documentation. This + pass is skipped when `--document-hidden-items` is passed. + +- `strip-priv-imports` strips all private import statements (`use`, `extern + crate`) from a crate. This is necessary because `rustdoc` will handle *public* + imports by either inlining the item's documentation to the module or creating + a "Reexports" section with the import in it. The pass ensures that all of + these imports are actually relevant to documentation. It is technically + only run when `--document-private-items` is passed, but `strip-private` + accomplishes the same thing. + +- `strip-private` strips all private items from a crate which cannot be seen + externally. This pass is skipped when `--document-private-items` is passed. + +There is also a [`stripper`] module in `librustdoc/passes`, but it is a +collection of utility functions for the `strip-*` passes and is not a pass +itself. + +[`librustdoc/passes`]: https://github.com/rust-lang/rust/tree/master/src/librustdoc/passes +[`stripper`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/passes/stripper/index.html + +## From Clean To HTML + +This is where the "second phase" in `rustdoc` begins. This phase primarily lives +in the [`librustdoc/formats`] and [`librustdoc/html`] folders, and it all starts with +[`formats::renderer::run_format`]. This code is responsible for setting up a type that +`impl FormatRenderer`, which for `HTML` is [`Context`]. + +This structure contains methods that get called by `run_format` to drive the +doc rendering, which includes: + +* `init` generates `static.files`, as well as search index and `src/` +* `item` generates the item `HTML` files themselves +* `after_krate` generates other global resources like `all.html` + +In `item`, the "page rendering" occurs, via a mixture of [Askama] templates +and manual `write!()` calls, starting in [`html/layout.rs`]. The parts that have +not been converted to templates occur within a series of `std::fmt::Display` +implementations and functions that pass around a `&mut std::fmt::Formatter`. + +The parts that actually generate `HTML` from the items and documentation start +with [`print_item`] defined in [`html/render/print_item.rs`], which switches out +to one of several `item_*` functions based on kind of `Item` being rendered. + +Depending on what kind of rendering code you're looking for, you'll probably +find it either in [`html/render/mod.rs`] for major items like "what sections +should I print for a `struct` page" or [`html/format.rs`] for smaller component +pieces like "how should I print a where clause as part of some other item". + +Whenever `rustdoc` comes across an item that should print hand-written +documentation alongside, it calls out to [`html/markdown.rs`] which interfaces +with the Markdown parser. This is exposed as a series of types that wrap a +string of Markdown, and implement `fmt::Display` to emit `HTML` text. It takes +special care to enable certain features like footnotes and tables and add +syntax highlighting to Rust code blocks (via `html/highlight.rs`) before +running the Markdown parser. There's also a function [`find_codes`] which is +called by `find_testable_codes` that specifically scans for Rust code blocks so +the test-runner code can find all the `doctest`s in the crate. + +[`find_codes`]: https://doc.rust-lang.org/nightly/nightly-rustc/src/rustdoc/html/markdown.rs.html#749-818 +[`formats::renderer::run_format`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/formats/renderer/fn.run_format.html +[`html/format.rs`]: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/format.rs +[`html/layout.rs`]: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/layout.rs +[`html/markdown.rs`]: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/markdown.rs +[`html/render/mod.rs`]: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/render/mod.rs +[`html/render/print_item.rs`]: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/render/print_item.rs +[`librustdoc/formats`]: https://github.com/rust-lang/rust/tree/master/src/librustdoc/formats +[`librustdoc/html`]: https://github.com/rust-lang/rust/tree/master/src/librustdoc/html +[`print_item`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/html/render/print_item/fn.print_item.html +[Askama]: https://docs.rs/askama/latest/askama/ + +### From Soup to Nuts (or: ["An Unbroken Thread Stretches From Those First `Cell`s To Us"][video]) + +[video]: https://www.youtube.com/watch?v=hOLAGYmUQV0 + +It's important to note that `rustdoc` can ask the compiler for type information +directly, even during `HTML` generation. This [didn't used to be the case], and +a lot of `rustdoc`'s architecture was designed around not doing that, but a +`TyCtxt` is now passed to `formats::renderer::run_format`, which is used to +run generation for both `HTML` and the +(unstable as of March 2023) JSON format. + +This change has allowed other changes to remove data from the "clean" [`AST`][ast] +that can be easily derived from `TyCtxt` queries, and we'll usually accept +PRs that remove fields from "clean" (it's been soft-deprecated), but this +is complicated from two other constraints that `rustdoc` runs under: + +* Docs can be generated for crates that don't actually pass type checking. + This is used for generating docs that cover mutually-exclusive platform + configurations, such as `libstd` having a single package of docs that + cover all supported operating systems. This means `rustdoc` has to be able + to generate docs from `HIR`. +* Docs can inline across crates. Since crate metadata doesn't contain `HIR`, + it must be possible to generate inlined docs from the `rustc_middle` data. + +The "clean" [`AST`][ast] acts as a common output format for both input formats. There +is also some data in clean that doesn't correspond directly to `HIR`, such as +synthetic `impl`s for auto traits and blanket `impl`s generated by the +`collect-trait-impls` pass. + +Some additional data is stored in +`html::render::context::{Context, SharedContext}`. These two types serve as +ways to segregate `rustdoc`'s data for an eventual future with multithreaded doc +generation, as well as just keeping things organized: + +* [`Context`] stores data used for generating the current page, such as its + path, a list of `HTML` IDs that have been used (to avoid duplicate `id=""`), + and the pointer to `SharedContext`. +* [`SharedContext`] stores data that does not vary by page, such as the `tcx` + pointer, and a list of all types. + +[`Context`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/html/render/context/struct.Context.html +[didn't used to be the case]: https://github.com/rust-lang/rust/pull/80090 +[`SharedContext`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/html/render/context/struct.SharedContext.html + +## Other Tricks Up Its Sleeve + +All this describes the process for generating `HTML` documentation from a Rust +crate, but there are couple other major modes that `rustdoc` runs in. It can also +be run on a standalone Markdown file, or it can run `doctest`s on Rust code or +standalone Markdown files. For the former, it shortcuts straight to +`html/markdown.rs`, optionally including a mode which inserts a Table of +Contents to the output `HTML`. + +For the latter, `rustdoc` runs a similar partial-compilation to get relevant +documentation in `test.rs`, but instead of going through the full clean and +render process, it runs a much simpler crate walk to grab *just* the +hand-written documentation. Combined with the aforementioned +"`find_testable_code`" in `html/markdown.rs`, it builds up a collection of +tests to run before handing them off to the test runner. One notable location +in `test.rs` is the function `make_test`, which is where hand-written +`doctest`s get transformed into something that can be executed. + +Some extra reading about `make_test` can be found +[here](https://quietmisdreavus.net/code/2018/02/23/how-the-doctests-get-made/). + +## Dotting i's And Crossing t's + +So that's `rustdoc`'s code in a nutshell, but there's more things in the +compiler that deal with it. Since we have the full `compiletest` suite at hand, +there's a set of tests in `tests/rustdoc` that make sure the final `HTML` is +what we expect in various situations. These tests also use a supplementary +script, `src/etc/htmldocck.py`, that allows it to look through the final `HTML` +using `XPath` notation to get a precise look at the output. The full +description of all the commands available to `rustdoc` tests (e.g. [`@has`] and +[`@matches`]) is in [`htmldocck.py`]. + +To use multiple crates in a `rustdoc` test, add `// aux-build:filename.rs` +to the top of the test file. `filename.rs` should be placed in an `auxiliary` +directory relative to the test file with the comment. If you need to build +docs for the auxiliary file, use `// build-aux-docs`. + +In addition, there are separate tests for the search index and `rustdoc`'s +ability to query it. The files in `tests/rustdoc-js` each contain a +different search query and the expected results, broken out by search tab. +These files are processed by a script in `src/tools/rustdoc-js` and the `Node.js` +runtime. These tests don't have as thorough of a writeup, but a broad example +that features results in all tabs can be found in `basic.js`. The basic idea is +that you match a given `QUERY` with a set of `EXPECTED` results, complete with +the full item path of each item. + +[`@has`]: https://github.com/rust-lang/rust/blob/master/src/etc/htmldocck.py#L39 +[`@matches`]: https://github.com/rust-lang/rust/blob/master/src/etc/htmldocck.py#L44 +[`htmldocck.py`]: https://github.com/rust-lang/rust/blob/master/src/etc/htmldocck.py + +## Testing Locally + +Some features of the generated `HTML` documentation might require local +storage to be used across pages, which doesn't work well without an `HTTP` +server. To test these features locally, you can run a local `HTTP` server, like +this: + +```bash +$ ./x doc library +# The documentation has been generated into `build/[YOUR ARCH]/doc`. +$ python3 -m http.server -d build/[YOUR ARCH]/doc +``` + +Now you can browse your documentation just like you would if it was hosted +on the internet. For example, the url for `std` will be `rust/std/`. + +## See Also + +- The [`rustdoc` api docs] +- [An overview of `rustdoc`](./rustdoc.md) +- [The rustdoc user guide] + +[`rustdoc` api docs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustdoc/ +[The rustdoc user guide]: https://doc.rust-lang.org/nightly/rustdoc/ diff --git a/src/doc/rustc-dev-guide/src/rustdoc-internals/search.md b/src/doc/rustc-dev-guide/src/rustdoc-internals/search.md new file mode 100644 index 000000000000..ddf8ec405f81 --- /dev/null +++ b/src/doc/rustc-dev-guide/src/rustdoc-internals/search.md @@ -0,0 +1,526 @@ +# Rustdoc search + +Rustdoc Search is two programs: `search_index.rs` +and `search.js`. The first generates a nasty JSON +file with a full list of items and function signatures +in the crates in the doc bundle, and the second reads +it, turns it into some in-memory structures, and +scans them linearly to search. + + + +## Search index format + +`search.js` calls this Raw, because it turns it into +a more normal object tree after loading it. +For space savings, it's also written without newlines or spaces. + +```json +[ + [ "crate_name", { + // name + "n": ["function_name", "Data"], + // type + "t": "HF", + // parent module + "q": [[0, "crate_name"]], + // parent type + "i": [2, 0], + // type dictionary + "p": [[1, "i32"], [1, "str"], [5, "Data", 0]], + // function signature + "f": "{{gb}{d}}`", // [[3, 1], [2]] + // impl disambiguator + "b": [], + // deprecated flag + "c": "OjAAAAAAAAA=", // empty bitmap + // empty description flag + "e": "OjAAAAAAAAA=", // empty bitmap + // aliases + "a": [["get_name", 0]], + // description shards + "D": "g", // 3 + // inlined re-exports + "r": [], + }] +] +``` + +[`src/librustdoc/html/static/js/externs.js`] +defines an actual schema in a Closure `@typedef`. + +| Key | Name | Description | +| --- | -------------------- | ------------ | +| `n` | Names | Item names | +| `t` | Item Type | One-char item type code | +| `q` | Parent module | `Map` | +| `i` | Parent type | list of indexes | +| `f` | Function signature | [encoded](#i-f-and-p) | +| `b` | Impl disambiguator | `Map` | +| `c` | Deprecation flag | [roaring bitmap](#roaring-bitmaps) | +| `e` | Description is empty | [roaring bitmap](#roaring-bitmaps) | +| `p` | Type dictionary | `[[item type, path]]` | +| `a` | Alias | `Map` | +| `D` | description shards | [encoded](#how-descriptions-are-stored) | + +The above index defines a crate called `crate_name` +with a free function called `function_name` and a struct called `Data`, +with the type signature `Data, i32 -> str`, +and an alias, `get_name`, that equivalently refers to `function_name`. + +[`src/librustdoc/html/static/js/externs.js`]: https://github.com/rust-lang/rust/blob/79b710c13968a1a48d94431d024d2b1677940866/src/librustdoc/html/static/js/externs.js#L204-L258 + +The search index needs to fit the needs of the `rustdoc` compiler, +the `search.js` frontend, +and also be compact and fast to decode. +It makes a lot of compromises: + +* The `rustdoc` compiler runs on one crate at a time, + so each crate has an essentially separate search index. + It [merges] them by having each crate on one line + and looking at the first quoted string. +* Names in the search index are given + in their original case and with underscores. + When the search index is loaded, + `search.js` stores the original names for display, + but also folds them to lowercase and strips underscores for search. + You'll see them called `normalized`. +* The `f` array stores types as offsets into the `p` array. + These types might actually be from another crate, + so `search.js` has to turn the numbers into names and then + back into numbers to deduplicate them if multiple crates in the + same index mention the same types. +* It's a JSON file, but not designed to be human-readable. + Browsers already include an optimized JSON decoder, + so this saves on `search.js` code and performs better for small crates, + but instead of using objects like normal JSON formats do, + it tries to put data of the same type next to each other + so that the sliding window used by [DEFLATE] can find redundancies. + Where `search.js` does its own compression, + it's designed to save memory when the file is finally loaded, + not just size on disk or network transfer. + +[merges]: https://github.com/rust-lang/rust/blob/79b710c13968a1a48d94431d024d2b1677940866/src/librustdoc/html/render/write_shared.rs#L151-L164 +[DEFLATE]: https://en.wikipedia.org/wiki/Deflate + +### Parallel arrays and indexed maps + +Abstractly, Rustdoc Search data is a table, stored in column-major form. +Most data in the index represents a set of parallel arrays +(the "columns") which refer to the same data if they're at the same position. + +For example, +the above search index can be turned into this table: + +| | n | t | [d] | q | i | f | b | c | +|---|---|---|-----|---|---|---|---|---| +| 0 | `crate_name` | `D` | Documentation | NULL | 0 | NULL | NULL | 0 | +| 1 | `function_name` | `H` | This function gets the name of an integer with Data | `crate_name` | 2 | `{{gb}{d}}` | NULL | 0 | +| 2 | `Data` | `F` | The data struct | `crate_name` | 0 | `` ` `` | NULL | 0 | + +[d]: #how-descriptions-are-stored + +The crate row is implied in most columns, since its type is known (it's a crate), +it can't have a parent (crates form the root of the module tree), +its name is specified as the map key, +and function-specific data like the impl disambiguator can't apply either. +However, it can still have a description and it can still be deprecated. +The crate, therefore, has a primary key of `0`. + +The above code doesn't use `c`, which holds deprecated indices, +or `b`, which maps indices to strings. +If `crate_name::function_name` used both, it might look like this. + +```json + "b": [[0, "impl-Foo-for-Bar"]], + "c": "OjAAAAEAAAAAAAIAEAAAABUAbgZYCQ==", +``` + +This attaches a disambiguator to index 1 and marks it deprecated. + +The advantage of this layout is that these APIs often have implicit structure +that DEFLATE can take advantage of, +but that rustdoc can't assume. +Like how names are usually CamelCase or snake_case, +but descriptions aren't. +It also makes it easier to use a sparse data for things like boolean flags. + +`q` is a Map from *the first applicable* ID to a parent module path. +This is a weird trick, but it makes more sense in pseudo-code: + +```rust +let mut parent_module = ""; +for (i, entry) in search_index.iter().enumerate() { + if q.contains(i) { + parent_module = q.get(i); + } + // ... do other stuff with `entry` ... +} +``` + +This is valid because everything has a parent module +(even if it's just the crate itself), +and is easy to assemble because the rustdoc generator sorts by path +before serializing. +Doing this allows rustdoc to not only make the search index smaller, +but reuse the same string representing the parent path across multiple in-memory items. + +### Representing sparse columns + +#### VLQ Hex + +This format is, as far as I know, used nowhere other than rustdoc. +It follows this grammar: + +```ebnf +VLQHex = { VHItem | VHBackref } +VHItem = VHNumber | ( '{', {VHItem}, '}' ) +VHNumber = { '@' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' }, ( '`' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k ' | 'l' | 'm' | 'n' | 'o' ) +VHBackref = ( '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | ':' | ';' | '<' | '=' | '>' | '?' ) +``` + +A VHNumber is a variable-length, self-terminating base16 number +(terminated because the last hexit is lowercase while all others are uppercase). +The sign bit is represented using [zig-zag encoding]. + +This alphabet is chosen because the characters can be turned into hexits by +masking off the last four bits of the ASCII encoding. + +A major feature of this encoding, as with all of the "compression" done in rustdoc, +is that it can remain in its compressed format *even in memory at runtime*. +This is why `HBackref` is only used at the top level, +and why we don't just use [Flate] for everything: the decoder in search.js +will reuse the entire decoded object whenever a backref is seen, +saving decode work and memory. + +[zig-zag encoding]: https://en.wikipedia.org/wiki/Variable-length_quantity#Zigzag_encoding +[Flate]: https://en.wikipedia.org/wiki/Deflate + +#### Roaring Bitmaps + +Flag-style data, such as deprecation and empty descriptions, +are stored using the [standard Roaring Bitmap serialization format with runs]. +The data is then base64 encoded when writing it. + +As a brief overview: a roaring bitmap is a chunked array of bits, +described in [this paper]. +A chunk can either be a list of integers, a bitfield, or a list of runs. +In any case, the search engine has to base64 decode it, +and read the chunk index itself, +but the payload data stays as-is. + +All roaring bitmaps in rustdoc currently store a flag for each item index. +The crate is item 0, all others start at 1. + +[standard Roaring Bitmap serialization format with runs]: https://github.com/RoaringBitmap/RoaringFormatSpec +[this paper]: https://arxiv.org/pdf/1603.06549.pdf + +### How descriptions are stored + +The largest amount of data, +and the main thing Rustdoc Search deals with that isn't +actually used for searching, is descriptions. +In a SERP table, this is what appears on the rightmost column. + +> | item type | item path | ***description*** (this part) | +> | --------- | --------------------- | --------------------------------------------------- | +> | function | my_crate::my_function | This function gets the name of an integer with Data | + +When someone runs a search in rustdoc for the first time, their browser will +work through a "sandwich workload" of three steps: + +1. Download the search-index.js and search.js files (a network bottleneck). +2. Perform the actual search (a CPU and memory bandwidth bottleneck). +3. Download the description data (another network bottleneck). + +Reducing the amount of data downloaded here will almost always increase latency, +by delaying the decision of what to download behind other work and/or adding +data dependencies where something can't be downloaded without first downloading +something else. In this case, we can't start downloading descriptions until +after the search is done, because that's what allows it to decide *which* +descriptions to download (it needs to sort the results then truncate to 200). + +To do this, two columns are stored in the search index, building on both +Roaring Bitmaps and on VLQ Hex. + +* `e` is an index of **e**mpty descriptions. It's a [roaring bitmap] of + each item (the crate itself is item 0, the rest start at 1). +* `D` is a shard list, stored in [VLQ hex] as flat list of integers. + Each integer gives you the number of descriptions in the shard. + As the decoder walks the index, it checks if the description is empty. + if it's not, then it's in the "current" shard. When all items are + exhausted, it goes on to the next shard. + +Inside each shard is a newline-delimited list of descriptions, +wrapped in a JSONP-style function call. + +[roaring bitmap]: #roaring-bitmaps +[VLQ hex]: #vlq-hex + +### `i`, `f`, and `p` + +`i` and `f` both index into `p`, the array of parent items. + +`i` is just a one-indexed number +(not zero-indexed because `0` is used for items that have no parent item). +It's different from `q` because `q` represents the parent *module or crate*, +which everything has, +while `i`/`q` are used for *type and trait-associated items* like methods. + +`f`, the function signatures, use a [VLQ hex] tree. +A number is either a one-indexed reference into `p`, +a negative number representing a generic, +or zero for null. + +(the internal object representation also uses negative numbers, +even after decoding, +to represent generics). + +For example, `{{gb}{d}}` is equivalent to the json `[[3, 1], [2]]`. +Because of zigzag encoding, `` ` `` is +0, `a` is -0 (which is not used), +`b` is +1, and `c` is -1. + +## Searching by name + +Searching by name works by looping through the search index +and running these functions on each: + +* [`editDistance`] is always used to determine a match + (unless quotes are specified, which would use simple equality instead). + It computes the number of swaps, inserts, and removes needed to turn + the query name into the entry name. + For example, `foo` has zero distance from itself, + but a distance of 1 from `ofo` (one swap) and `foob` (one insert). + It is checked against an heuristic threshold, and then, + if it is within that threshold, the distance is stored for ranking. +* [`String.prototype.indexOf`] is always used to determine a match. + If it returns anything other than -1, the result is added, + even if `editDistance` exceeds its threshold, + and the index is stored for ranking. +* [`checkPath`] is used if, and only if, a parent path is specified + in the query. For example, `vec` has no parent path, but `vec::vec` does. + Within checkPath, editDistance and indexOf are used, + and the path query has its own heuristic threshold, too. + If it's not within the threshold, the entry is rejected, + even if the first two pass. + If it's within the threshold, the path distance is stored + for ranking. +* [`checkType`] is used only if there's a type filter, + like the struct in `struct:vec`. If it fails, + the entry is rejected. + +If all four criteria pass +(plus the crate filter, which isn't technically part of the query), +the results are sorted by [`sortResults`]. + +[`editDistance`]: https://github.com/rust-lang/rust/blob/79b710c13968a1a48d94431d024d2b1677940866/src/librustdoc/html/static/js/search.js#L137 +[`String.prototype.indexOf`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf +[`checkPath`]: https://github.com/rust-lang/rust/blob/79b710c13968a1a48d94431d024d2b1677940866/src/librustdoc/html/static/js/search.js#L1814 +[`checkType`]: https://github.com/rust-lang/rust/blob/79b710c13968a1a48d94431d024d2b1677940866/src/librustdoc/html/static/js/search.js#L1787 +[`sortResults`]: https://github.com/rust-lang/rust/blob/79b710c13968a1a48d94431d024d2b1677940866/src/librustdoc/html/static/js/search.js#L1229 + +## Searching by type + +Searching by type can be divided into two phases, +and the second phase has two sub-phases. + +* Turn names in the query into numbers. +* Loop over each entry in the search index: + * Quick rejection using a bloom filter. + * Slow rejection using a recursive type unification algorithm. + +In the names->numbers phase, if the query has only one name in it, +the editDistance function is used to find a near match if the exact match fails, +but if there's multiple items in the query, +non-matching items are treated as generics instead. +This means `hahsmap` will match hashmap on its own, but `hahsmap, u32` +is going to match the same things `T, u32` matches +(though rustdoc will detect this particular problem and warn about it). + +Then, when actually looping over each item, +the bloom filter will probably reject entries that don't have every +type mentioned in the query. +For example, the bloom query allows a query of `i32 -> u32` to match +a function with the type `i32, u32 -> bool`, +but unification will reject it later. + +The unification filter ensures that: + +* Bag semantics are respected. If you query says `i32, i32`, + then the function has to mention *two* i32s, not just one. +* Nesting semantics are respected. If your query says `vec