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

# `adt_const_params`

The tracking issue for this feature is: #95174

Allows for using more complex types for const parameters, such as structs or enums.

    #![allow(unused)]
    #![feature(adt_const_params)]
    #![allow(incomplete_features)]

    fn main() {
    use std::marker::ConstParamTy;

    #[derive(ConstParamTy, PartialEq, Eq)]
    enum Foo {
        A,
        B,
        C,
    }

    #[derive(ConstParamTy, PartialEq, Eq)]
    struct Bar {
        flag: bool,
    }

    fn is_foo_a_and_bar_true<const F: Foo, const B: Bar>() -> bool {
        match (F, B.flag) {
            (Foo::A, true) => true,
            _ => false,
        }
    }
    }