rust-analyzer/crates/hir-ty/src
bors 2223b4fa71 Auto merge of #13112 - lowr:patch/auto-trait-bounds, r=Veykril
Setup infra for handling auto trait bounds disabled due to perf problems

This patch updates some of the partially-implemented functions of `ChalkContext as RustIrDatabase`, namely `adt_datum()` and `impl_provided_for()`. With those, we can now correctly work with auto trait bounds and distinguish methods based on them.

Resolves #7856 (the second code; the first one is resolved by #13074)

**IMPORTANT**: I don't think we want to merge this until #7637 is resolved. Currently this patch introduces A LOT of unknown types and type mismtaches as shown below. This is because we cannot resolve items like `hashbrown::HashMap` in `std` modules, leading to auto trait bounds on them and their dependents unprovable.

|crate (from `rustc-perf@c52ee6` except for r-a)|e3dc5a588f07d6f1d3a0f33051d4af26190abe9e|HEAD of this branch|
|---|---|---|
|rust-analyzer @ e3dc5a588f |exprs: 417528, ??ty: 907 (0%), ?ty: 114 (0%), !ty: 1|exprs: 417528, ??ty: 1704 (0%), ?ty: 403 (0%), !ty: 20|
|ripgrep|exprs: 62120, ??ty: 2 (0%), ?ty: 0 (0%), !ty: 0|exprs: 62120, ??ty: 132 (0%), ?ty: 58 (0%), !ty: 11|
|webrender/webrender|exprs: 94355, ??ty: 49 (0%), ?ty: 16 (0%), !ty: 2|exprs: 94355, ??ty: 429 (0%), ?ty: 130 (0%), !ty: 7|
|diesel|exprs: 132591, ??ty: 401 (0%), ?ty: 5129 (3%), !ty: 31|exprs: 132591, ??ty: 401 (0%), ?ty: 5129 (3%), !ty: 31|
2024-02-19 16:45:59 +00:00
..
consteval hir-ty: Fix warnings about clippy str_to_string rule 2024-02-10 01:00:40 +09:00
diagnostics refactor: remove body parameter for "unnecessary else" diagnostic 2024-02-19 15:35:47 +03:00
infer feat: add unresolved-ident diagnostic 2024-02-19 14:12:18 +01:00
layout fix: Split toolchain and datalayout out of CrateData 2024-02-16 14:48:25 +01:00
mir fix "needless return" for trailing item declarations 2024-02-15 20:07:58 +03:00
tests Auto merge of #13112 - lowr:patch/auto-trait-bounds, r=Veykril 2024-02-19 16:45:59 +00:00
autoderef.rs Merge commit '0113bc9388b480fa42c632f57f4f0f7af5813ec1' into sync-from-ra 2024-02-04 10:37:58 +02:00
builder.rs internal: add some more tracing spans inside of hir-ty 2024-02-01 16:10:32 -05:00
chalk_db.rs Don't populate rust_ir::AdtVariantDatum::fields for now due to perf 2024-02-19 17:38:03 +01:00
chalk_ext.rs Merge commit 'a9116523604c998e7781f60d3b5a6f586e0414a9' into sync-from-ra 2024-01-21 16:53:06 +02:00
consteval.rs Merge commit 'a9116523604c998e7781f60d3b5a6f586e0414a9' into sync-from-ra 2024-01-21 16:53:06 +02:00
db.rs Rename StructDatum -> AdtDatum 2024-02-14 13:50:44 +01:00
diagnostics.rs Merge commit '7219414e81810fd4d967136c4a0650523892c157' into sync-from-ra 2024-01-28 15:56:54 +02:00
display.rs internal: Remove SELF_REF hack for self referential SyntaxContexts 2024-02-10 16:20:02 +01:00
infer.rs feat: add unresolved-ident diagnostic 2024-02-19 14:12:18 +01:00
inhabitedness.rs Merge commit '0113bc9388b480fa42c632f57f4f0f7af5813ec1' into sync-from-ra 2024-02-04 10:37:58 +02:00
interner.rs Merge commit 'a9116523604c998e7781f60d3b5a6f586e0414a9' into sync-from-ra 2024-01-21 16:53:06 +02:00
lang_items.rs Merge commit 'aa9bc8612514d216f84eec218dfd19ab83f3598a' into sync-from-ra 2023-06-05 12:04:23 +03:00
layout.rs internal: Remove SELF_REF hack for self referential SyntaxContexts 2024-02-10 16:20:02 +01:00
lib.rs Introduce term search to rust-analyzer 2024-02-11 13:33:29 +02:00
lower.rs internal: Remove SELF_REF hack for self referential SyntaxContexts 2024-02-10 16:20:02 +01:00
mapping.rs Merge commit 'a9116523604c998e7781f60d3b5a6f586e0414a9' into sync-from-ra 2024-01-21 16:53:06 +02:00
method_resolution.rs Merge commit '0113bc9388b480fa42c632f57f4f0f7af5813ec1' into sync-from-ra 2024-02-04 10:37:58 +02:00
mir.rs Merge commit '7219414e81810fd4d967136c4a0650523892c157' into sync-from-ra 2024-01-28 15:56:54 +02:00
primitive.rs style: rename crates to kebab case 2022-05-01 10:48:58 +00:00
test_db.rs Merge commit 'a9116523604c998e7781f60d3b5a6f586e0414a9' into sync-from-ra 2024-01-21 16:53:06 +02:00
tests.rs hir-ty: Fix warnings about clippy str_to_string rule 2024-02-10 01:00:40 +09:00
tls.rs Merge commit 'a9116523604c998e7781f60d3b5a6f586e0414a9' into sync-from-ra 2024-01-21 16:53:06 +02:00
traits.rs hir-ty: Fix warnings about clippy str_to_string rule 2024-02-10 01:00:40 +09:00
utils.rs Try to fix in-tree build 2024-02-04 11:07:35 +02:00