File tree 1 file changed +45
-0
lines changed
src/doc/unstable-book/src/language-features
1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ # ` inline_const `
2
+
3
+ The tracking issue for this feature is: [ #76001 ]
4
+
5
+ ------
6
+
7
+ This feature allows you to use inline constant expressions. For example, you can
8
+ turn this code:
9
+
10
+ ``` rust
11
+ # fn add_one (x : i32 ) -> i32 { x + 1 }
12
+ const MY_COMPUTATION : i32 = 1 + 2 * 3 / 4 ;
13
+
14
+ fn main () {
15
+ let x = add_one (MY_COMPUTATION );
16
+ }
17
+ ```
18
+
19
+ into this code:
20
+
21
+ ``` rust
22
+ #![feature(inline_const)]
23
+
24
+ # fn add_one (x : i32 ) -> i32 { x + 1 }
25
+ fn main () {
26
+ let x = add_one (const { 1 + 2 * 3 / 4 });
27
+ }
28
+ ```
29
+
30
+ You can also use inline constant expressions in patterns:
31
+
32
+ ``` rust
33
+ #![feature(inline_const)]
34
+
35
+ const fn one () -> i32 { 1 }
36
+
37
+ let some_int = 3 ;
38
+ match some_int {
39
+ const { 1 + 2 } => println! (" Matched 1 + 2" ),
40
+ const { one () } => println! (" Matched const fn returning 1" ),
41
+ _ => println! (" Didn't match anything :(" ),
42
+ }
43
+ ```
44
+
45
+ [ #76001 ] : https://github.com/rust-lang/rust/issues/76001
You can’t perform that action at this time.
0 commit comments