Error code E0518

An #[inline(..)] attribute was incorrectly placed on something other than a function or method.

Example of erroneous code:

fn main() {
struct Foo;

impl Foo {
    // ...

#[inline] hints the compiler whether or not to attempt to inline a method or function. By default, the compiler does a pretty good job of figuring this out itself, but if you feel the need for annotations, #[inline(always)] and #[inline(never)] can override or force the compiler's decision.

If you wish to apply this attribute to all methods in an impl, manually annotate each method; it is not possible to annotate the entire impl with an #[inline] attribute.