diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2015-06-30 08:53:50 -0700 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2015-07-17 18:29:34 -0700 |
| commit | 6bdfb0534737b371e3b3e4abdec2f5dffd629916 (patch) | |
| tree | 401d475d73729352a43a4ab0387d10eea2c0a42f /src/test | |
| parent | e05ac3938bcbdd616930bb010a3bbfa35f22850e (diff) | |
Clarify the usage of "hints" in const_eval.
The "hint" mechanism is essentially used as a workaround to compute types for expressions which have not yet been type-checked. This commit clarifies that usage, and limits the effects to the places where it is currently necessary. Fixes #26210.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/lint-exceeding-bitshifts.rs | 6 | ||||
| -rw-r--r-- | src/test/compile-fail/match-range-fail-2.rs | 23 | ||||
| -rw-r--r-- | src/test/compile-fail/match-range-fail.rs | 6 |
3 files changed, 27 insertions, 8 deletions
diff --git a/src/test/compile-fail/lint-exceeding-bitshifts.rs b/src/test/compile-fail/lint-exceeding-bitshifts.rs index 5867bc2f09d..160551b81cb 100644 --- a/src/test/compile-fail/lint-exceeding-bitshifts.rs +++ b/src/test/compile-fail/lint-exceeding-bitshifts.rs @@ -8,11 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(negate_unsigned)] #![deny(exceeding_bitshifts)] #![allow(unused_variables)] #![allow(dead_code)] -#![feature(num_bits_bytes, negate_unsigned)] +#![feature(num_bits_bytes)] fn main() { let n = 1u8 << 7; @@ -60,4 +59,7 @@ fn main() { let n = 1_isize << std::isize::BITS; //~ ERROR: bitshift exceeds the type's number of bits let n = 1_usize << std::usize::BITS; //~ ERROR: bitshift exceeds the type's number of bits + + + let n = 1i8<<(1isize+-1); } diff --git a/src/test/compile-fail/match-range-fail-2.rs b/src/test/compile-fail/match-range-fail-2.rs new file mode 100644 index 00000000000..e30f783ce36 --- /dev/null +++ b/src/test/compile-fail/match-range-fail-2.rs @@ -0,0 +1,23 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn main() { + match 5 { + 6 ... 1 => { } + _ => { } + }; + //~^^^ ERROR lower range bound must be less than or equal to upper + + match 5u64 { + 0xFFFF_FFFF_FFFF_FFFF ... 1 => { } + _ => { } + }; + //~^^^ ERROR lower range bound must be less than or equal to upper +} diff --git a/src/test/compile-fail/match-range-fail.rs b/src/test/compile-fail/match-range-fail.rs index 234b74f76d1..05b870b8f41 100644 --- a/src/test/compile-fail/match-range-fail.rs +++ b/src/test/compile-fail/match-range-fail.rs @@ -9,12 +9,6 @@ // except according to those terms. fn main() { - match 5 { - 6 ... 1 => { } - _ => { } - }; - //~^^^ ERROR lower range bound must be less than or equal to upper - match "wow" { "bar" ... "foo" => { } }; |
