Content-Length: 24821 | pFad | https://doc.rust-lang.org/std/string/../error/../string/../vec/../../../error_codes/./E0303.html

E0303 - 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 E0303

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

Sub-bindings, e.g. ref x @ Some(ref y) are now allowed under #![feature(bindings_after_at)] and checked to make sure that memory safety is upheld.


In certain cases it is possible for sub-bindings to violate memory safety. Updates to the borrow checker in a future version of Rust may remove this restriction, but for now patterns must be rewritten without sub-bindings.

Before:

#![allow(unused)]
fn main() {
match Some("hi".to_string()) {
    ref op_string_ref @ Some(s) => {},
    None => {},
}
}

After:

#![allow(unused)]
fn main() {
match Some("hi".to_string()) {
    Some(ref s) => {
        let op_string_ref = &Some(s);
        // ...
    },
    None => {},
}
}

The op_string_ref binding has type &Option<&String> in both cases.

See also Issue 14587.









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/string/../error/../string/../vec/../../../error_codes/./E0303.html

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy