Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/add_missing_impl_members.rs')
-rw-r--r--crates/ide-assists/src/handlers/add_missing_impl_members.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/crates/ide-assists/src/handlers/add_missing_impl_members.rs b/crates/ide-assists/src/handlers/add_missing_impl_members.rs
index 6b8a877756..ef538c17ce 100644
--- a/crates/ide-assists/src/handlers/add_missing_impl_members.rs
+++ b/crates/ide-assists/src/handlers/add_missing_impl_members.rs
@@ -2363,4 +2363,33 @@ impl other_file_2::Trait for MyStruct {
}"#,
);
}
+
+ #[test]
+ fn unsafeness_observed() {
+ check_assist(
+ add_missing_impl_members,
+ r#"
+unsafe trait UnsafeTrait {
+ unsafe fn unsafe_fn();
+}
+
+struct A {}
+
+impl Uns$0afeTrait for A {}
+ "#,
+ r#"
+unsafe trait UnsafeTrait {
+ unsafe fn unsafe_fn();
+}
+
+struct A {}
+
+unsafe impl UnsafeTrait for A {
+ unsafe fn unsafe_fn() {
+ ${0:todo!()}
+ }
+}
+ "#,
+ );
+ }
}