# Error code E0736

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]
    #[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.