Skip to content

Commit c6905a4

Browse files
bors[bot]taiki-e
andauthored
Merge #322
322: v0.4: Fix unused_must_use warning on unused borrows r=taiki-e a=taiki-e This fixes `unused_must_use` warning on unused borrows, which will be added to rustc in the future. See rust-lang/rust#76894 fore more. (Note: pin-project 1.0 does not have this problem.) Co-authored-by: Taiki Endo <[email protected]>
2 parents 9e67d8b + 88ff0cb commit c6905a4

22 files changed

+71
-71
lines changed

examples/not_unpin-expanded.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,9 @@ const _: () = {
117117
// See ./struct-default-expanded.rs and https://github.com/taiki-e/pin-project/pull/34
118118
// for details.
119119
#[forbid(safe_packed_borrows)]
120-
fn __assert_not_repr_packed<T, U>(val: &Struct<T, U>) {
121-
&val.pinned;
122-
&val.unpinned;
120+
fn __assert_not_repr_packed<T, U>(this: &Struct<T, U>) {
121+
let _ = &this.pinned;
122+
let _ = &this.unpinned;
123123
}
124124
};
125125

examples/pinned_drop-expanded.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,9 @@ const _: () = {
124124
// See ./struct-default-expanded.rs and https://github.com/taiki-e/pin-project/pull/34
125125
// for details.
126126
#[forbid(safe_packed_borrows)]
127-
fn __assert_not_repr_packed<'a, T>(val: &Struct<'a, T>) {
128-
&val.was_dropped;
129-
&val.field;
127+
fn __assert_not_repr_packed<'a, T>(this: &Struct<'a, T>) {
128+
let _ = &this.was_dropped;
129+
let _ = &this.field;
130130
}
131131
};
132132

examples/project_replace-expanded.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,9 @@ const _: () = {
156156
// See ./struct-default-expanded.rs and https://github.com/taiki-e/pin-project/pull/34
157157
// for details.
158158
#[forbid(safe_packed_borrows)]
159-
fn __assert_not_repr_packed<T, U>(val: &Struct<T, U>) {
160-
&val.pinned;
161-
&val.unpinned;
159+
fn __assert_not_repr_packed<T, U>(this: &Struct<T, U>) {
160+
let _ = &this.pinned;
161+
let _ = &this.unpinned;
162162
}
163163
};
164164

examples/struct-default-expanded.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ const _: () = {
155155
//
156156
// See https://github.com/taiki-e/pin-project/pull/34 for more details.
157157
#[forbid(safe_packed_borrows)]
158-
fn __assert_not_repr_packed<T, U>(val: &Struct<T, U>) {
159-
&val.pinned;
160-
&val.unpinned;
158+
fn __assert_not_repr_packed<T, U>(this: &Struct<T, U>) {
159+
let _ = &this.pinned;
160+
let _ = &this.unpinned;
161161
}
162162
};
163163

examples/unsafe_unpin-expanded.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,9 @@ const _: () = {
104104
// See ./struct-default-expanded.rs and https://github.com/taiki-e/pin-project/pull/34
105105
// for details.
106106
#[forbid(safe_packed_borrows)]
107-
fn __assert_not_repr_packed<T, U>(val: &Struct<T, U>) {
108-
&val.pinned;
109-
&val.unpinned;
107+
fn __assert_not_repr_packed<T, U>(this: &Struct<T, U>) {
108+
let _ = &this.pinned;
109+
let _ = &this.unpinned;
110110
}
111111
};
112112

pin-project-internal/src/pin_project/derive.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,13 +1208,13 @@ impl<'a> Context<'a> {
12081208
match fields {
12091209
Fields::Named(FieldsNamed { named, .. }) => {
12101210
for Field { ident, .. } in named {
1211-
field_refs.push(quote!(&val.#ident;));
1211+
field_refs.push(quote!(&this.#ident));
12121212
}
12131213
}
12141214
Fields::Unnamed(FieldsUnnamed { unnamed, .. }) => {
12151215
for (index, _) in unnamed.iter().enumerate() {
12161216
let index = Index::from(index);
1217-
field_refs.push(quote!(&val.#index;));
1217+
field_refs.push(quote!(&this.#index));
12181218
}
12191219
}
12201220
Fields::Unit => {}
@@ -1224,8 +1224,8 @@ impl<'a> Context<'a> {
12241224
let ident = self.orig.ident;
12251225
Ok(quote! {
12261226
#[forbid(safe_packed_borrows)]
1227-
fn __assert_not_repr_packed #impl_generics (val: &#ident #ty_generics) #where_clause {
1228-
#(#field_refs)*
1227+
fn __assert_not_repr_packed #impl_generics (this: &#ident #ty_generics) #where_clause {
1228+
#(let _ = #field_refs;)*
12291229
}
12301230
})
12311231
}

tests/expand/tests/expand/default-struct.expanded.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@ const _: () = {
8080
unsafe fn drop(self: ::pin_project::__private::Pin<&mut Self>) {}
8181
}
8282
#[forbid(safe_packed_borrows)]
83-
fn __assert_not_repr_packed<T, U>(val: &Struct<T, U>) {
84-
&val.pinned;
85-
&val.unpinned;
83+
fn __assert_not_repr_packed<T, U>(this: &Struct<T, U>) {
84+
let _ = &this.pinned;
85+
let _ = &this.unpinned;
8686
}
8787
};
8888
fn main() {}

tests/expand/tests/expand/default-tuple_struct.expanded.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ const _: () = {
6565
unsafe fn drop(self: ::pin_project::__private::Pin<&mut Self>) {}
6666
}
6767
#[forbid(safe_packed_borrows)]
68-
fn __assert_not_repr_packed<T, U>(val: &TupleStruct<T, U>) {
69-
&val.0;
70-
&val.1;
68+
fn __assert_not_repr_packed<T, U>(this: &TupleStruct<T, U>) {
69+
let _ = &this.0;
70+
let _ = &this.1;
7171
}
7272
};
7373
fn main() {}

tests/expand/tests/expand/multifields-struct.expanded.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,11 @@ const _: () = {
141141
unsafe fn drop(self: ::pin_project::__private::Pin<&mut Self>) {}
142142
}
143143
#[forbid(safe_packed_borrows)]
144-
fn __assert_not_repr_packed<T, U>(val: &Struct<T, U>) {
145-
&val.pinned1;
146-
&val.pinned2;
147-
&val.unpinned1;
148-
&val.unpinned2;
144+
fn __assert_not_repr_packed<T, U>(this: &Struct<T, U>) {
145+
let _ = &this.pinned1;
146+
let _ = &this.pinned2;
147+
let _ = &this.unpinned1;
148+
let _ = &this.unpinned2;
149149
}
150150
};
151151
fn main() {}

tests/expand/tests/expand/multifields-tuple_struct.expanded.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,11 @@ const _: () = {
117117
unsafe fn drop(self: ::pin_project::__private::Pin<&mut Self>) {}
118118
}
119119
#[forbid(safe_packed_borrows)]
120-
fn __assert_not_repr_packed<T, U>(val: &TupleStruct<T, U>) {
121-
&val.0;
122-
&val.1;
123-
&val.2;
124-
&val.3;
120+
fn __assert_not_repr_packed<T, U>(this: &TupleStruct<T, U>) {
121+
let _ = &this.0;
122+
let _ = &this.1;
123+
let _ = &this.2;
124+
let _ = &this.3;
125125
}
126126
};
127127
fn main() {}

0 commit comments

Comments
 (0)