Functions marked with the #[naked] attribute are restricted in what other attributes they may be marked with.
Notable attributes that are incompatible with #[naked] are:
#[inline]#[track_caller]#[test], #[ignore], #[should_panic]
Erroneous code example:
#![allow(unused)]
fn main() {
#[inline]
#[unsafe(naked)]
fn foo() {}
} These incompatibilities are due to the fact that naked functions deliberately impose strict restrictions regarding the code that the compiler is allowed to produce for this function.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0736.html