Auto merge of #127543 - carbotaniuman:more_unsafe_attr_verification, r=estebank,traviscross

More unsafe attr verification

This code denies unsafe on attributes such as `#[test]` and `#[ignore]`, while also changing the `MetaItem` parsing so `unsafe` in args like `#[allow(unsafe(dead_code))]` is not accidentally allowed.

Tracking:

- https://github.com/rust-lang/rust/issues/123757
diff --git a/crates/salsa/tests/macros.rs b/crates/salsa/tests/macros.rs
index 3d818e5..9b07740 100644
--- a/crates/salsa/tests/macros.rs
+++ b/crates/salsa/tests/macros.rs
@@ -5,6 +5,7 @@
 }
 
 mod another_module {
+    #[allow(dead_code)]
     pub(crate) fn another_name(_: &dyn crate::MyDatabase, (): ()) {}
 }