Rollup merge of #140029 - reddevilmidzy:move-test, r=jieyouxu
Relocate tests in `tests/ui` Part of #133895 Moved tests from a top-level directory into a more appropriate subdirectory. If there is anything else that could be improved, please let me know! r? jieyouxu
This commit is contained in:
commit
f8c67c6d15
11 changed files with 56 additions and 25 deletions
|
@ -1,12 +0,0 @@
|
||||||
//@ run-pass
|
|
||||||
|
|
||||||
fn incr(x: &mut isize) -> bool { *x += 1; assert!((false)); return false; }
|
|
||||||
|
|
||||||
pub fn main() {
|
|
||||||
let x = 1 == 2 || 3 == 3;
|
|
||||||
assert!((x));
|
|
||||||
let mut y: isize = 10;
|
|
||||||
println!("{}", x || incr(&mut y));
|
|
||||||
assert_eq!(y, 10);
|
|
||||||
if true && x { assert!((true)); } else { assert!((false)); }
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
//@ run-pass
|
|
||||||
|
|
||||||
#![allow(non_camel_case_types)]
|
|
||||||
|
|
||||||
enum list { #[allow(dead_code)] cons(isize, Box<list>), nil, }
|
|
||||||
|
|
||||||
pub fn main() {
|
|
||||||
list::cons(10, Box::new(list::cons(11, Box::new(list::cons(12, Box::new(list::nil))))));
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
fn main() { -"foo".to_string(); } //~ ERROR cannot apply unary operator `-` to type `String`
|
|
25
tests/ui/or-patterns/lazy-and-or.rs
Normal file
25
tests/ui/or-patterns/lazy-and-or.rs
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
//@ run-pass
|
||||||
|
// This test verifies the short-circuiting behavior of logical operators `||` and `&&`.
|
||||||
|
// It ensures that the right-hand expression is not evaluated when the left-hand
|
||||||
|
// expression is sufficient to determine the result.
|
||||||
|
|
||||||
|
fn would_panic_if_called(x: &mut isize) -> bool {
|
||||||
|
*x += 1;
|
||||||
|
assert!(false, "This function should never be called due to short-circuiting");
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let x = 1 == 2 || 3 == 3;
|
||||||
|
assert!(x);
|
||||||
|
|
||||||
|
let mut y: isize = 10;
|
||||||
|
println!("Result of short-circuit: {}", x || would_panic_if_called(&mut y));
|
||||||
|
assert_eq!(y, 10, "y should remain 10 if short-circuiting works correctly");
|
||||||
|
|
||||||
|
if true && x {
|
||||||
|
assert!(true);
|
||||||
|
} else {
|
||||||
|
assert!(false, "This branch should not be reached");
|
||||||
|
}
|
||||||
|
}
|
21
tests/ui/recursion/recursive-enum-box.rs
Normal file
21
tests/ui/recursion/recursive-enum-box.rs
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
//@ run-pass
|
||||||
|
// A smoke test for recursive enum structures using Box<T>.
|
||||||
|
// This test constructs a linked list-like structure to exercise memory allocation and ownership.
|
||||||
|
// Originally introduced in 2010, this is one of Rust’s earliest test cases.
|
||||||
|
|
||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
|
enum List {
|
||||||
|
Cons(isize, Box<List>),
|
||||||
|
Nil,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
List::Cons(
|
||||||
|
10,
|
||||||
|
Box::new(List::Cons(
|
||||||
|
11,
|
||||||
|
Box::new(List::Cons(12, Box::new(List::Nil))),
|
||||||
|
)),
|
||||||
|
);
|
||||||
|
}
|
7
tests/ui/typeck/minus-string.rs
Normal file
7
tests/ui/typeck/minus-string.rs
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
// Regression test for issue #813.
|
||||||
|
// This ensures that the unary negation operator `-` cannot be applied to an owned `String`.
|
||||||
|
// Previously, due to a type-checking bug, this was mistakenly accepted by the compiler.
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
-"foo".to_string(); //~ ERROR cannot apply unary operator `-` to type `String`
|
||||||
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
error[E0600]: cannot apply unary operator `-` to type `String`
|
error[E0600]: cannot apply unary operator `-` to type `String`
|
||||||
--> $DIR/minus-string.rs:1:13
|
--> $DIR/minus-string.rs:6:5
|
||||||
|
|
|
|
||||||
LL | fn main() { -"foo".to_string(); }
|
LL | -"foo".to_string();
|
||||||
| ^^^^^^^^^^^^^^^^^^ cannot apply unary operator `-`
|
| ^^^^^^^^^^^^^^^^^^ cannot apply unary operator `-`
|
||||||
|
|
|
|
||||||
note: the foreign item type `String` doesn't implement `Neg`
|
note: the foreign item type `String` doesn't implement `Neg`
|
||||||
--> $SRC_DIR/alloc/src/string.rs:LL:COL
|
--> $SRC_DIR/alloc/src/string.rs:LL:COL
|
Loading…
Add table
Add a link
Reference in a new issue