File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed 
src/doc/unstable-book/src/language-features Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ # ` adt_const_params `  
2+ 
3+ The tracking issue for this feature is: [ #95174  ] 
4+ 
5+ [ #95174 ] : https://github.com/rust-lang/rust/issues/95174 
6+ 
7+ ------------------------ 
8+ 
9+ Allows for using more complex types for const parameters, such as structs or enums.
10+ 
11+ ``` rust 
12+ #![feature(adt_const_params)]
13+ #![allow(incomplete_features)]
14+ 
15+ use  std :: marker :: ConstParamTy ;
16+ 
17+ #[derive(ConstParamTy , PartialEq , Eq )]
18+ enum  Foo  {
19+     A ,
20+     B ,
21+     C ,
22+ }
23+ 
24+ #[derive(ConstParamTy , PartialEq , Eq )]
25+ struct  Bar  {
26+     flag :  bool ,
27+ }
28+ 
29+ fn  is_foo_a_and_bar_true <const  F :  Foo , const  B :  Bar >() ->  bool  {
30+     match  (F , B . flag) {
31+         (Foo :: A , true ) =>  true ,
32+         _  =>  false ,
33+     }
34+ }
35+ ``` 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments