Understanding Rust Error E0572: Return Statement Outside of Function Body


Rust Error E0572 occurs when a return statement is used outside a function body. This article will provide details on the error, its causes, and how to fix it.

Error E0572: Overview

In Rust, the return keyword is used to specify the value returned by a function. However, it is not valid to use the return keyword outside the body of a function. It is important to understand the proper use of a return statement to avoid encountering this error.

Erroneous Code Example

const FOO: u32 = return 0; // error: return statement outside of function body

fn main() {}

In the code snippet above, the return keyword is present outside of a function body. This will trigger Rust Error E0572.


To resolve Rust Error E0572, consider the following solutions.

Solution 1: Remove the return keyword

In cases where the return keyword is not required, you can simply remove it. For example:

const FOO: u32 = 0;

fn main() {}

The modified code above removes the return keyword and eliminates Rust Error E0572.

Solution 2: Move the expression to a function

If a return statement is required, refactor the code to move the expression into a function. For example:

const FOO: u32 = 0;

fn some_fn() -> u32 {
    return FOO;

fn main() {

The modified code snippet above moves the return statement into a properly defined function, successfully resolving Rust Error E0572.