]> git.lizzy.rs Git - rust.git/blob - src/doc/unstable-book/src/language-features/const-fn.md
Rollup merge of #41390 - scottmcm:toowned-clone-into, r=alexcrichton
[rust.git] / src / doc / unstable-book / src / language-features / const-fn.md
1 # `const_fn`
2
3 The tracking issue for this feature is: [#24111]
4
5 [#24111]: https://github.com/rust-lang/rust/issues/24111
6
7 ------------------------
8
9 The `const_fn` feature allows marking free functions and inherent methods as
10 `const`, enabling them to be called in constants contexts, with constant
11 arguments.
12
13 ## Examples
14
15 ```rust
16 #![feature(const_fn)]
17
18 const fn double(x: i32) -> i32 {
19     x * 2
20 }
21
22 const FIVE: i32 = 5;
23 const TEN: i32 = double(FIVE);
24
25 fn main() {
26     assert_eq!(5, FIVE);
27     assert_eq!(10, TEN);
28 }
29 ```