box_patterns - The Rust Unstable Book

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

# `box_patterns`

The tracking issue for this feature is: #29641

> Note: This feature will be superseded by `deref_patterns` in the future.

Box patterns let you match on `Box<T>`s:

    #![feature(box_patterns)]

    fn main() {
        let b = Some(Box::new(5));
        match b {
            Some(box n) if n < 0 => {
                println!("Box contains negative number {n}");
            },
            Some(box n) if n >= 0 => {
                println!("Box contains non-negative number {n}");
            },
            None => {
                println!("No box");
            },
            _ => unreachable!()
        }
    }