Content-Length: 24581 | pFad | https://doc.rust-lang.org/std/iter/../convert/../../std/../std/../error_codes/./E0434.html

E0434 - Error codes index

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 E0434

A variable used inside an inner function comes from a dynamic environment.

Erroneous code example:

#![allow(unused)]
fn main() {
fn foo() {
    let y = 5;
    fn bar() -> u32 {
        y // error: can't capture dynamic environment in a fn item; use the
          //        || { ... } closure form instead.
    }
}
}

Inner functions do not have access to their containing environment. To fix this error, you can replace the function with a closure:

#![allow(unused)]
fn main() {
fn foo() {
    let y = 5;
    let bar = || {
        y
    };
}
}

Or replace the captured variable with a constant or a static item:

#![allow(unused)]
fn main() {
fn foo() {
    static mut X: u32 = 4;
    const Y: u32 = 5;
    fn bar() -> u32 {
        unsafe {
            X = 3;
        }
        Y
    }
}
}








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://doc.rust-lang.org/std/iter/../convert/../../std/../std/../error_codes/./E0434.html

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy