review: fix nits and move panic safety tests to the correct place

This commit is contained in:
Alexis Bourget 2020-09-25 23:10:24 +02:00
parent 5be843fc54
commit a61b9638bb
8 changed files with 23 additions and 24 deletions

View File

@ -1,3 +1,4 @@
use std::cell::Cell;
use std::mem::MaybeUninit; use std::mem::MaybeUninit;
use std::ptr::NonNull; use std::ptr::NonNull;
@ -52,8 +53,6 @@ fn box_clone_from_ptr_stability() {
#[test] #[test]
fn box_deref_lval() { fn box_deref_lval() {
use std::cell::Cell;
let x = Box::new(Cell::new(5)); let x = Box::new(Cell::new(5));
x.set(1000); x.set(1000);
assert_eq!(x.get(), 1000); assert_eq!(x.get(), 1000);

View File

@ -1,5 +1,4 @@
#![deny(warnings)] #![deny(warnings)]
#![allow(unused_must_use)]
use std::cell::RefCell; use std::cell::RefCell;
use std::fmt::{self, Write}; use std::fmt::{self, Write};
@ -241,15 +240,15 @@ fn test_format_macro_interface() {
#[test] #[test]
fn test_write() { fn test_write() {
let mut buf = String::new(); let mut buf = String::new();
write!(&mut buf, "{}", 3); let _ = write!(&mut buf, "{}", 3);
{ {
let w = &mut buf; let w = &mut buf;
write!(w, "{foo}", foo = 4); let _ = write!(w, "{foo}", foo = 4);
write!(w, "{}", "hello"); let _ = write!(w, "{}", "hello");
writeln!(w, "{}", "line"); let _ = writeln!(w, "{}", "line");
writeln!(w, "{foo}", foo = "bar"); let _ = writeln!(w, "{foo}", foo = "bar");
w.write_char('☃'); let _ = w.write_char('☃');
w.write_str("str"); let _ = w.write_str("str");
} }
t!(buf, "34helloline\nbar\n☃str"); t!(buf, "34helloline\nbar\n☃str");
@ -273,9 +272,9 @@ fn test_format_args() {
let mut buf = String::new(); let mut buf = String::new();
{ {
let w = &mut buf; let w = &mut buf;
write!(w, "{}", format_args!("{}", 1)); let _ = write!(w, "{}", format_args!("{}", 1));
write!(w, "{}", format_args!("test")); let _ = write!(w, "{}", format_args!("test"));
write!(w, "{}", format_args!("{test}", test = 3)); let _ = write!(w, "{}", format_args!("{test}", test = 3));
} }
let s = buf; let s = buf;
t!(s, "1test3"); t!(s, "1test3");

View File

@ -2238,5 +2238,6 @@ impl<T: ?Sized + Debug> Debug for UnsafeCell<T> {
} }
} }
// If you expected tests to be here, look instead at the ui/ifmt.rs test, // If you expected tests to be here, look instead at the core/tests/fmt.rs file,
// it's a lot easier than creating all of the rt::Piece structures here. // it's a lot easier than creating all of the rt::Piece structures here.
// There are also tests in the alloc crate, for those that need allocations.

View File

@ -78,7 +78,6 @@ mod nonzero;
mod num; mod num;
mod ops; mod ops;
mod option; mod option;
mod panic_safe;
mod pattern; mod pattern;
mod ptr; mod ptr;
mod result; mod result;

View File

@ -1,3 +1,4 @@
use core::cell::Cell;
use core::clone::Clone; use core::clone::Clone;
use core::mem; use core::mem;
use core::ops::DerefMut; use core::ops::DerefMut;
@ -375,8 +376,6 @@ fn option_const() {
#[test] #[test]
fn test_unwrap_drop() { fn test_unwrap_drop() {
use std::cell::Cell;
struct Dtor<'a> { struct Dtor<'a> {
x: &'a Cell<isize>, x: &'a Cell<isize>,
} }

View File

@ -1,3 +1,4 @@
use core::cell::Cell;
use core::result::Result::{Err, Ok}; use core::result::Result::{Err, Ok};
#[test] #[test]
@ -1983,8 +1984,6 @@ fn test_is_sorted() {
#[test] #[test]
fn test_slice_run_destructors() { fn test_slice_run_destructors() {
use core::cell::Cell;
// Make sure that destructors get run on slice literals // Make sure that destructors get run on slice literals
struct Foo<'a> { struct Foo<'a> {
x: &'a Cell<isize>, x: &'a Cell<isize>,

View File

@ -411,3 +411,6 @@ pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> {
pub fn resume_unwind(payload: Box<dyn Any + Send>) -> ! { pub fn resume_unwind(payload: Box<dyn Any + Send>) -> ! {
panicking::rust_panic_without_hook(payload) panicking::rust_panic_without_hook(payload)
} }
#[cfg(test)]
mod tests;

View File

@ -1,9 +1,9 @@
#![allow(dead_code)] #![allow(dead_code)]
use std::cell::RefCell; use crate::cell::RefCell;
use std::panic::{AssertUnwindSafe, UnwindSafe}; use crate::panic::{AssertUnwindSafe, UnwindSafe};
use std::rc::Rc; use crate::rc::Rc;
use std::sync::{Arc, Mutex, RwLock}; use crate::sync::{Arc, Mutex, RwLock};
struct Foo { struct Foo {
a: i32, a: i32,
@ -12,7 +12,7 @@ struct Foo {
fn assert<T: UnwindSafe + ?Sized>() {} fn assert<T: UnwindSafe + ?Sized>() {}
#[test] #[test]
fn test_panic_safety_traits() { fn panic_safety_traits() {
assert::<i32>(); assert::<i32>();
assert::<&i32>(); assert::<&i32>();
assert::<*mut i32>(); assert::<*mut i32>();