Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/invalid_cast.rs')
-rw-r--r--crates/ide-diagnostics/src/handlers/invalid_cast.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/crates/ide-diagnostics/src/handlers/invalid_cast.rs b/crates/ide-diagnostics/src/handlers/invalid_cast.rs
index 90527c578e..ad4baf5e3a 100644
--- a/crates/ide-diagnostics/src/handlers/invalid_cast.rs
+++ b/crates/ide-diagnostics/src/handlers/invalid_cast.rs
@@ -441,16 +441,16 @@ fn main() {
//^^^^^^^^^^^^^^^^^ error: cannot cast thin pointer `*const i32` to fat pointer `*const [i32]`
let t: *mut (dyn Trait + 'static) = 0 as *mut _;
- //^^^^^^^^^^^ error: cannot cast `i32` to a fat pointer `*mut _`
+ //^^^^^^^^^^^ error: cannot cast `usize` to a fat pointer `*mut _`
let mut fail: *const str = 0 as *const str;
- //^^^^^^^^^^^^^^^ error: cannot cast `i32` to a fat pointer `*const str`
+ //^^^^^^^^^^^^^^^ error: cannot cast `usize` to a fat pointer `*const str`
let mut fail2: *const str = 0isize as *const str;
//^^^^^^^^^^^^^^^^^^^^ error: cannot cast `isize` to a fat pointer `*const str`
}
fn foo<T: ?Sized>() {
let s = 0 as *const T;
- //^^^^^^^^^^^^^ error: cannot cast `i32` to a fat pointer `*const T`
+ //^^^^^^^^^^^^^ error: cannot cast `usize` to a fat pointer `*const T`
}
"#,
&["E0308", "unused_variables"],
@@ -1100,4 +1100,15 @@ where
"#,
);
}
+
+ #[test]
+ fn cast_literal_to_char() {
+ check_diagnostics(
+ r#"
+fn foo() {
+ 0 as char;
+}
+ "#,
+ );
+ }
}