Error code E0197

An inherent implementation was marked unsafe.

Erroneous code example:

#![allow(unused)]
fn main() {
struct Foo;

unsafe impl Foo { } // error!
}

Inherent implementations (one that do not implement a trait but provide methods associated with a type) are always safe because they are not implementing an unsafe trait. Removing the unsafe keyword from the inherent implementation will resolve this error.

#![allow(unused)]
fn main() {
struct Foo;

impl Foo { } // ok!
}