# Unsafe-to-invoke macros that expand to items

**URL:** <https://internals.rust-lang.org/t/unsafe-to-invoke-macros-that-expand-to-items/22360>\
**Category:** Unsafe Code Guidelines\
**Created:** [February 8, 2025, 6:51pm UTC](https://internals.rust-lang.org/t/unsafe-to-invoke-macros-that-expand-to-items/22360 "2025-02-08T18:51:31Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![JarredAllen](https://avatars.discourse-cdn.com/v4/letter/j/a183cd/32.png) [@JarredAllen](https://internals.rust-lang.org/u/JarredAllen)\
**Post date:** [February 10, 2025, 6:17pm UTC](https://internals.rust-lang.org/t/unsafe-to-invoke-macros-that-expand-to-items/22360/10 "2025-02-10T18:17:29Z")

</div>

For the syntax, I think [[Pre-RFC] Single function call `unsafe`](https://internals.rust-lang.org/t/pre-rfc-single-function-call-unsafe/22343) would be a good thing to lift, we can just declare `unsafe macro_call!(args..)` (or whichever syntax is used) to call an unsafe-to-invoke macro `macro_call`, but not change the safety context of the arguments nor what the macro expands to.

---

_[View the full topic](https://internals.rust-lang.org/t/unsafe-to-invoke-macros-that-expand-to-items/22360)._
