From cd67589f63bff4356ef933dd090f97de4acb9b52 Mon Sep 17 00:00:00 2001 From: hkalbasi Date: Fri, 3 Feb 2023 14:46:25 +0330 Subject: [PATCH] beginning of MIR --- crates/hir-def/src/expr.rs | 10 +- crates/hir-def/src/lang_item.rs | 6 +- .../macro_expansion_tests/builtin_fn_macro.rs | 2 +- crates/hir-def/src/path.rs | 4 +- crates/hir-def/src/path/lower.rs | 4 +- crates/hir-def/src/type_ref.rs | 62 +- crates/hir-expand/src/builtin_fn_macro.rs | 2 +- crates/hir-ty/src/builder.rs | 9 + crates/hir-ty/src/chalk_db.rs | 3 +- crates/hir-ty/src/consteval.rs | 503 ++----- crates/hir-ty/src/consteval/tests.rs | 700 ++++++++- crates/hir-ty/src/db.rs | 22 +- crates/hir-ty/src/display.rs | 134 +- crates/hir-ty/src/infer.rs | 12 +- crates/hir-ty/src/infer/expr.rs | 21 +- crates/hir-ty/src/infer/pat.rs | 21 +- crates/hir-ty/src/infer/unify.rs | 5 +- crates/hir-ty/src/inhabitedness.rs | 19 +- crates/hir-ty/src/interner.rs | 4 +- crates/hir-ty/src/layout.rs | 16 +- crates/hir-ty/src/layout/adt.rs | 13 +- crates/hir-ty/src/layout/tests.rs | 9 +- crates/hir-ty/src/lib.rs | 47 +- crates/hir-ty/src/lower.rs | 18 +- crates/hir-ty/src/method_resolution.rs | 39 +- crates/hir-ty/src/mir.rs | 811 +++++++++++ crates/hir-ty/src/mir/eval.rs | 1245 +++++++++++++++++ crates/hir-ty/src/mir/lower.rs | 1209 ++++++++++++++++ crates/hir/src/lib.rs | 31 +- crates/hir/src/source_analyzer.rs | 4 +- .../src/handlers/add_explicit_type.rs | 4 +- crates/ide/src/hover.rs | 1 + crates/ide/src/hover/render.rs | 22 +- crates/ide/src/hover/tests.rs | 113 +- crates/ide/src/inlay_hints/discriminant.rs | 10 +- crates/ide/src/static_index.rs | 1 + crates/rust-analyzer/src/config.rs | 3 + crates/test-utils/src/fixture.rs | 4 +- crates/test-utils/src/minicore.rs | 1 + docs/user/generated_config.adoc | 5 + editors/code/package.json | 5 + 41 files changed, 4452 insertions(+), 702 deletions(-) create mode 100644 crates/hir-ty/src/mir.rs create mode 100644 crates/hir-ty/src/mir/eval.rs create mode 100644 crates/hir-ty/src/mir/lower.rs diff --git a/crates/hir-def/src/expr.rs b/crates/hir-def/src/expr.rs index 48028b7c6a8..8d6f0be2648 100644 --- a/crates/hir-def/src/expr.rs +++ b/crates/hir-def/src/expr.rs @@ -52,13 +52,21 @@ pub type LabelId = Idx