diff options
| author | bors <bors@rust-lang.org> | 2015-06-08 09:54:32 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-06-08 09:54:32 +0000 |
| commit | 1ade076f62c9e8188c4fb5c888277a1673ac82cd (patch) | |
| tree | c9de7b7ec1f6fa5beb7189abffa7beec91329114 | |
| parent | bea1c4a78e5233ea6f85a2028a26e08c26635fca (diff) | |
| parent | ae550bd987cbdd0b6ab59421c77c5575a060fca7 (diff) | |
| download | rust-1ade076f62c9e8188c4fb5c888277a1673ac82cd.tar.gz rust-1ade076f62c9e8188c4fb5c888277a1673ac82cd.zip | |
Auto merge of #26029 - GuillaumeGomez:const_check, r=Manishearth
Part of #24407.
| -rw-r--r-- | src/librustc/diagnostics.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/librustc/diagnostics.rs b/src/librustc/diagnostics.rs index 67b09943781..9a60e2378cc 100644 --- a/src/librustc/diagnostics.rs +++ b/src/librustc/diagnostics.rs @@ -227,6 +227,25 @@ const Y: i32 = A; ``` "##, +E0014: r##" +Constants can only be initialized by a constant value or, in a future +version of Rust, a call to a const function. This error indicates the use +of a path (like a::b, or x) denoting something other than one of these +allowed items. Example: + +``` +const FOO: i32 = { let x = 0; x }; // 'x' isn't a constant nor a function! +``` + +To avoid it, you have to replace the non-constant value: + +``` +const FOO: i32 = { const X : i32 = 0; X }; +// or even: +const FOO: i32 = { 0 }; // but brackets are useless here +``` +"##, + E0015: r##" The only functions that can be called in static or constant expressions are `const` functions. Rust currently does not support more general compile-time @@ -931,7 +950,6 @@ static mut BAR: Option<Vec<i32>> = None; register_diagnostics! { - E0014, E0016, E0017, E0019, |
