From 7195c3b77c3b8399a1d23a80cea2f4d540f82706 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Wed, 17 Jul 2024 11:30:36 -0700 Subject: [PATCH] Fix dead code warnings in tests Signed-off-by: Anders Kaseorg --- gc/tests/finalize.rs | 2 +- gc/tests/from_box.rs | 7 ++++++- gc/tests/gc_semantics.rs | 2 +- gc/tests/ignore_trace.rs | 2 +- gc/tests/trace_impl.rs | 20 +++++++++++++++----- 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/gc/tests/finalize.rs b/gc/tests/finalize.rs index 7df3e16..f717f84 100644 --- a/gc/tests/finalize.rs +++ b/gc/tests/finalize.rs @@ -41,7 +41,7 @@ struct X(Box); fn drop_triggers_finalize() { FLAGS.with(|f| assert_eq!(f.get(), Flags(0, 0))); { - let _x = A { b: B }; + let _x = X(Box::new(A { b: B })); FLAGS.with(|f| assert_eq!(f.get(), Flags(0, 0))); } FLAGS.with(|f| assert_eq!(f.get(), Flags(1, 1))); diff --git a/gc/tests/from_box.rs b/gc/tests/from_box.rs index 567b7b5..51787e9 100644 --- a/gc/tests/from_box.rs +++ b/gc/tests/from_box.rs @@ -1,9 +1,14 @@ -use gc::{Finalize, Gc, Trace}; +use gc::Gc; +#[cfg(feature = "nightly")] +use gc::{Finalize, Trace}; +#[cfg(feature = "nightly")] trait Foo: Trace {} +#[cfg(feature = "nightly")] #[derive(Trace, Finalize)] struct Bar; +#[cfg(feature = "nightly")] impl Foo for Bar {} #[test] diff --git a/gc/tests/gc_semantics.rs b/gc/tests/gc_semantics.rs index 3934d38..959dbf7 100644 --- a/gc/tests/gc_semantics.rs +++ b/gc/tests/gc_semantics.rs @@ -303,7 +303,7 @@ fn as_ptr() { let a_ptr = Gc::as_ptr(&a); assert_eq!(a_ptr, Gc::as_ptr(&aa)); - let b = Gc::new(B(a.clone())); + let b = Gc::new(B(a.clone())); assert_eq!(a_ptr, Gc::as_ptr(&b.0)); let bb = Gc::new(B(a.clone())); assert_eq!(a_ptr, Gc::as_ptr(&bb.0)); diff --git a/gc/tests/ignore_trace.rs b/gc/tests/ignore_trace.rs index 5fe0e69..5b0d718 100644 --- a/gc/tests/ignore_trace.rs +++ b/gc/tests/ignore_trace.rs @@ -7,6 +7,6 @@ struct S(#[unsafe_ignore_trace] Gc<()>); /// cycles through that `Gc`, but it should not result in panics. #[test] fn ignore_trace_gc() { - Gc::new(S(Gc::new(()))); + *Gc::new(S(Gc::new(()))).0; force_collect(); } diff --git a/gc/tests/trace_impl.rs b/gc/tests/trace_impl.rs index ee6bdc7..a831c2b 100644 --- a/gc/tests/trace_impl.rs +++ b/gc/tests/trace_impl.rs @@ -34,11 +34,6 @@ struct InnerBoxStr { inner: Box, } -#[derive(Trace, Clone, Finalize)] -struct InnerRcSlice { - inner: Box<[u32]>, -} - #[derive(Trace, Clone, Finalize)] struct InnerRcStr { inner: Rc, @@ -52,6 +47,21 @@ struct Baz { #[test] fn test() { + unsafe { + InnerBoxSlice { + inner: Box::new([1, 2, 3]), + } + .trace(); + InnerBoxStr { + inner: "abc".into(), + } + .trace(); + InnerRcStr { + inner: "abc".into(), + } + .trace(); + } + let bar = Bar { inner: Foo }; unsafe { bar.trace();