mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-13 07:24:00 +00:00
![]() `#[naked]`: report incompatible attributes tracking issue: https://github.com/rust-lang/rust/issues/90957 this is a re-implementation of https://github.com/rust-lang/rust/pull/93809 by ``@bstrie`` which was closed 2 years ago due to inactivity. This PR takes some of the final comments into account, specifically providing a little more context in error messages, and using an allow list to determine which attributes are compatible with `#[naked]`. Notable attributes that are incompatible with `#[naked]` are: * `#[inline]` * `#[track_caller]` * ~~`#[target_feature]`~~ (this is now allowed, see PR discussion) * `#[test]`, `#[ignore]`, `#[should_panic]` These attributes just directly conflict with what `#[naked]` should do. Naked functions are still important for systems programming, embedded, and operating systems, so I'd like to move them forward. |
||
---|---|---|
.. | ||
liveness | ||
abi_test.rs | ||
check_attr.rs | ||
check_const.rs | ||
dead.rs | ||
debugger_visualizer.rs | ||
diagnostic_items.rs | ||
entry.rs | ||
errors.rs | ||
hir_id_validator.rs | ||
hir_stats.rs | ||
lang_items.rs | ||
layout_test.rs | ||
lib_features.rs | ||
lib.rs | ||
liveness.rs | ||
loops.rs | ||
naked_functions.rs | ||
reachable.rs | ||
stability.rs | ||
upvars.rs | ||
weak_lang_items.rs |