Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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!
}