MIR episode 4

This commit is contained in:
hkalbasi 2023-04-28 20:44:30 +03:30
parent 001607fdb4
commit 6312fbf521
47 changed files with 2557 additions and 805 deletions

View file

@ -3,7 +3,10 @@
//! let _: u32 = /* <never-to-any> */ loop {};
//! let _: &u32 = /* &* */ &mut 0;
//! ```
use hir::{Adjust, Adjustment, AutoBorrow, HirDisplay, Mutability, PointerCast, Safety, Semantics};
use hir::{
Adjust, Adjustment, AutoBorrow, HirDisplay, Mutability, OverloadedDeref, PointerCast, Safety,
Semantics,
};
use ide_db::RootDatabase;
use stdx::never;
@ -88,7 +91,13 @@ pub(super) fn hints(
Adjust::NeverToAny if config.adjustment_hints == AdjustmentHints::Always => {
("<never-to-any>", "never to any")
}
Adjust::Deref(_) => ("*", "dereference"),
Adjust::Deref(None) => ("*", "dereference"),
Adjust::Deref(Some(OverloadedDeref(Mutability::Shared))) => {
("*", "`Deref` dereference")
}
Adjust::Deref(Some(OverloadedDeref(Mutability::Mut))) => {
("*", "`DerefMut` dereference")
}
Adjust::Borrow(AutoBorrow::Ref(Mutability::Shared)) => ("&", "borrow"),
Adjust::Borrow(AutoBorrow::Ref(Mutability::Mut)) => ("&mut ", "unique borrow"),
Adjust::Borrow(AutoBorrow::RawPtr(Mutability::Shared)) => {

View file

@ -444,7 +444,7 @@ fn main() {
file_id: FileId(
1,
),
range: 5768..5776,
range: 5769..5777,
},
),
tooltip: "",
@ -457,7 +457,7 @@ fn main() {
file_id: FileId(
1,
),
range: 5800..5804,
range: 5801..5805,
},
),
tooltip: "",
@ -478,7 +478,7 @@ fn main() {
file_id: FileId(
1,
),
range: 5768..5776,
range: 5769..5777,
},
),
tooltip: "",
@ -491,7 +491,7 @@ fn main() {
file_id: FileId(
1,
),
range: 5800..5804,
range: 5801..5805,
},
),
tooltip: "",
@ -512,7 +512,7 @@ fn main() {
file_id: FileId(
1,
),
range: 5768..5776,
range: 5769..5777,
},
),
tooltip: "",
@ -525,7 +525,7 @@ fn main() {
file_id: FileId(
1,
),
range: 5800..5804,
range: 5801..5805,
},
),
tooltip: "",