E0154 - Error codes index
Description: Book listing all Rust error codes

## 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 E0154

#### Note: this error code is no longer emitted by the compiler.

Imports (`use` statements) are not allowed after non-item statements, such as variable declarations and expression statements.

Here is an example that demonstrates the error:

    #![allow(unused)]
    fn main() {
    fn f() {
        // Variable declaration before import
        let x = 0;
        use std::io::Read;
        // ...
    }
    }

The solution is to declare the imports at the top of the block, function, or file.

Here is the previous example again, with the correct order:

    #![allow(unused)]
    fn main() {
    fn f() {
        use std::io::Read;
        let x = 0;
        // ...
    }
    }

See the Declaration Statements section of the reference for more information about what constitutes an item declaration and what does not.