mirror of https://github.com/smol-rs/async-task
Ignore dead_code warnings for tuple structs in tests
We use Box to be able to catch memory leaks using miri/valgrind. ``` error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 99 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: `-D dead-code` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(dead_code)]` = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 99 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 100 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 118 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 118 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 119 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 137 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 137 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 138 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 156 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 156 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 157 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 185 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 185 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 186 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 216 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 216 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 217 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 247 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 247 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 248 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 285 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 285 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 286 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ error: field `0` is never read --> tests/join.rs:29:24 | 29 | struct Fut(Box<i32>); | --- ^^^^^^^^ | | | field in this struct ... 319 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 29 | struct Fut(()); | ~~ error: field `0` is never read --> tests/join.rs:47:24 | 47 | struct Out(Box<i32>, bool); | --- ^^^^^^^^ | | | field in this struct ... 319 | future!(f, POLL, DROP_F, DROP_T); | -------------------------------- in this macro invocation | = note: this error originates in the macro `future` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 47 | struct Out((), bool); | ~~ error: field `0` is never read --> tests/join.rs:75:26 | 75 | struct Guard(Box<i32>); | ----- ^^^^^^^^ | | | field in this struct ... 320 | schedule!(s, SCHEDULE, DROP_S); | ------------------------------ in this macro invocation | = note: this error originates in the macro `schedule` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 75 | struct Guard(()); | ~~ ```
This commit is contained in:
parent
8f2c088750
commit
b5f4978f54
|
@ -21,7 +21,7 @@ macro_rules! future {
|
|||
static $drop: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Fut(Box<i32>);
|
||||
struct Fut(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = Box<i32>;
|
||||
|
@ -56,7 +56,7 @@ macro_rules! schedule {
|
|||
static $sched: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
|
@ -24,7 +24,7 @@ macro_rules! future {
|
|||
static $drop_t: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Fut(Box<i32>);
|
||||
struct Fut(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = Out;
|
||||
|
@ -43,7 +43,7 @@ macro_rules! future {
|
|||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct Out(Box<i32>, bool);
|
||||
struct Out(#[allow(dead_code)] Box<i32>, bool);
|
||||
|
||||
impl Drop for Out {
|
||||
fn drop(&mut self) {
|
||||
|
@ -71,7 +71,7 @@ macro_rules! schedule {
|
|||
static $sched: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
|
@ -26,7 +26,7 @@ macro_rules! future {
|
|||
static $drop_t: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Fut(Box<i32>);
|
||||
struct Fut(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = Out;
|
||||
|
@ -44,7 +44,7 @@ macro_rules! future {
|
|||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct Out(Box<i32>, bool);
|
||||
struct Out(#[allow(dead_code)] Box<i32>, bool);
|
||||
|
||||
impl Drop for Out {
|
||||
fn drop(&mut self) {
|
||||
|
@ -72,7 +72,7 @@ macro_rules! schedule {
|
|||
static $sched: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
|
@ -23,7 +23,7 @@ macro_rules! future {
|
|||
static $drop: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Fut(Box<i32>);
|
||||
struct Fut(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = ();
|
||||
|
@ -59,7 +59,7 @@ macro_rules! schedule {
|
|||
static $sched: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
|
@ -24,7 +24,7 @@ macro_rules! future {
|
|||
static $drop_t: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Fut(Box<i32>);
|
||||
struct Fut(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = Out;
|
||||
|
@ -43,7 +43,7 @@ macro_rules! future {
|
|||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct Out(Box<i32>, bool);
|
||||
struct Out(#[allow(dead_code)] Box<i32>, bool);
|
||||
|
||||
impl Drop for Out {
|
||||
fn drop(&mut self) {
|
||||
|
@ -71,7 +71,7 @@ macro_rules! schedule {
|
|||
static $sched: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let $name = {
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
|
@ -29,7 +29,7 @@ macro_rules! future {
|
|||
static WAKER: AtomicWaker = AtomicWaker::new();
|
||||
|
||||
let ($name, $get_waker) = {
|
||||
struct Fut(Cell<bool>, Box<i32>);
|
||||
struct Fut(Cell<bool>, #[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = ();
|
||||
|
@ -76,7 +76,7 @@ macro_rules! schedule {
|
|||
let ($name, $chan) = {
|
||||
let (s, r) = flume::unbounded();
|
||||
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
|
@ -26,7 +26,7 @@ macro_rules! future {
|
|||
static WAKER: AtomicWaker = AtomicWaker::new();
|
||||
|
||||
let ($name, $get_waker) = {
|
||||
struct Fut(Box<i32>);
|
||||
struct Fut(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = ();
|
||||
|
@ -67,7 +67,7 @@ macro_rules! schedule {
|
|||
let ($name, $chan) = {
|
||||
let (s, r) = flume::unbounded();
|
||||
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
|
@ -26,7 +26,7 @@ macro_rules! future {
|
|||
static WAKER: AtomicWaker = AtomicWaker::new();
|
||||
|
||||
let ($name, $get_waker) = {
|
||||
struct Fut(Cell<bool>, Box<i32>);
|
||||
struct Fut(Cell<bool>, #[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Future for Fut {
|
||||
type Output = Box<i32>;
|
||||
|
@ -73,7 +73,7 @@ macro_rules! schedule {
|
|||
let ($name, $chan) = {
|
||||
let (s, r) = flume::unbounded();
|
||||
|
||||
struct Guard(Box<i32>);
|
||||
struct Guard(#[allow(dead_code)] Box<i32>);
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
|
|
Loading…
Reference in New Issue