From 96912c611ccd23bae6a0b622e9ec5cce87419250 Mon Sep 17 00:00:00 2001 From: Pieter-Louis Schoeman Date: Mon, 4 May 2026 14:43:13 +0200 Subject: [PATCH] Remove redundant pin ergonomics UI test allows --- .../borrow-pinned-projection.rs | 1 - .../borrow-pinned-projection.stderr | 16 +++++----- .../pin-ergonomics/borrow-unpin.pinned.stderr | 30 +++++++++---------- tests/ui/pin-ergonomics/borrow-unpin.rs | 1 - .../pin-ergonomics/borrow-unpin.unpin.stderr | 20 ++++++------- tests/ui/pin-ergonomics/borrow.rs | 1 - tests/ui/pin-ergonomics/borrow.stderr | 16 +++++----- .../direct-borrow-requires-pin-v2.rs | 1 - .../direct-borrow-requires-pin-v2.stderr | 26 ++++++++-------- .../pin-coercion-get-mut-then-as-mut.rs | 1 - .../pin-coercion-unpin-roundtrip.rs | 1 - 11 files changed, 54 insertions(+), 60 deletions(-) diff --git a/tests/ui/pin-ergonomics/borrow-pinned-projection.rs b/tests/ui/pin-ergonomics/borrow-pinned-projection.rs index 2c71aaf23a6c5..5bb037c753272 100644 --- a/tests/ui/pin-ergonomics/borrow-pinned-projection.rs +++ b/tests/ui/pin-ergonomics/borrow-pinned-projection.rs @@ -1,5 +1,4 @@ #![feature(pin_ergonomics)] -#![allow(incomplete_features)] // This protects pinning projected places. Pinning `pair.0` must not pin // unrelated disjoint fields, but it must reject later mutable borrows or moves diff --git a/tests/ui/pin-ergonomics/borrow-pinned-projection.stderr b/tests/ui/pin-ergonomics/borrow-pinned-projection.stderr index 6b18f5c42ec55..107e274024632 100644 --- a/tests/ui/pin-ergonomics/borrow-pinned-projection.stderr +++ b/tests/ui/pin-ergonomics/borrow-pinned-projection.stderr @@ -1,5 +1,5 @@ error: cannot borrow `pair.0` as mutable because it is pinned - --> $DIR/borrow-pinned-projection.rs:20:19 + --> $DIR/borrow-pinned-projection.rs:19:19 | LL | let _pin = &pin mut pair.0; | --------------- pin of `pair.0` occurs here @@ -8,7 +8,7 @@ LL | let _borrow = &mut pair.0; | ^^^^^^^^^^^ borrow of `pair.0` as mutable occurs here error: cannot borrow `pair.0` as mutable because it is pinned - --> $DIR/borrow-pinned-projection.rs:32:19 + --> $DIR/borrow-pinned-projection.rs:31:19 | LL | let ref pin mut _pin = pair.0; | ---------------- pin of `pair.0` occurs here @@ -17,7 +17,7 @@ LL | let _borrow = &mut pair.0; | ^^^^^^^^^^^ borrow of `pair.0` as mutable occurs here error: cannot move out of `pair.0` because it is pinned - --> $DIR/borrow-pinned-projection.rs:44:18 + --> $DIR/borrow-pinned-projection.rs:43:18 | LL | let _pin = &pin mut pair.0; | --------------- pin of `pair.0` occurs here @@ -26,7 +26,7 @@ LL | let _moved = pair.0; | ^^^^^^ move out of `pair.0` occurs here error: cannot move out of `pair.0` because it is pinned - --> $DIR/borrow-pinned-projection.rs:56:18 + --> $DIR/borrow-pinned-projection.rs:55:18 | LL | let ref pin mut _pin = pair.0; | ---------------- pin of `pair.0` occurs here @@ -35,7 +35,7 @@ LL | let _moved = pair.0; | ^^^^^^ move out of `pair.0` occurs here error: cannot move out of `value.field` because it is pinned - --> $DIR/borrow-pinned-projection.rs:71:18 + --> $DIR/borrow-pinned-projection.rs:70:18 | LL | let _ = &pin mut value; | -------------- pin of `value` occurs here @@ -44,7 +44,7 @@ LL | let _moved = value.field; | ^^^^^^^^^^^ move out of `value.field` occurs here error: cannot move out of `value.field` because it is pinned - --> $DIR/borrow-pinned-projection.rs:80:18 + --> $DIR/borrow-pinned-projection.rs:79:18 | LL | let ref pin mut _pin = value; | ---------------- pin of `value` occurs here @@ -53,7 +53,7 @@ LL | let _moved = value.field; | ^^^^^^^^^^^ move out of `value.field` occurs here error: cannot borrow `value.field` as mutable because it is pinned - --> $DIR/borrow-pinned-projection.rs:89:13 + --> $DIR/borrow-pinned-projection.rs:88:13 | LL | let _ = &pin mut value; | -------------- pin of `value` occurs here @@ -62,7 +62,7 @@ LL | let _ = &mut value.field; | ^^^^^^^^^^^^^^^^ borrow of `value.field` as mutable occurs here error: cannot borrow `value.field` as mutable because it is pinned - --> $DIR/borrow-pinned-projection.rs:98:13 + --> $DIR/borrow-pinned-projection.rs:97:13 | LL | let ref pin mut _pin = value; | ---------------- pin of `value` occurs here diff --git a/tests/ui/pin-ergonomics/borrow-unpin.pinned.stderr b/tests/ui/pin-ergonomics/borrow-unpin.pinned.stderr index be42c83507b7b..40bbf05a12839 100644 --- a/tests/ui/pin-ergonomics/borrow-unpin.pinned.stderr +++ b/tests/ui/pin-ergonomics/borrow-unpin.pinned.stderr @@ -1,5 +1,5 @@ error: cannot move out of `foo` because it is pinned - --> $DIR/borrow-unpin.rs:30:14 + --> $DIR/borrow-unpin.rs:29:14 | LL | foo_pin_mut(&pin mut foo); // ok | ------------ pin of `foo` occurs here @@ -7,7 +7,7 @@ LL | foo_move(foo); | ^^^ move out of `foo` occurs here error[E0505]: cannot move out of `foo` because it is borrowed - --> $DIR/borrow-unpin.rs:34:14 + --> $DIR/borrow-unpin.rs:33:14 | LL | let mut foo = Foo::default(); | ------- binding `foo` declared here @@ -19,7 +19,7 @@ LL | foo_pin_mut(x); // ok | - borrow later used here | note: if `Foo` implemented `Clone`, you could clone the value - --> $DIR/borrow-unpin.rs:14:1 + --> $DIR/borrow-unpin.rs:13:1 | LL | struct Foo(PhantomPinned); | ^^^^^^^^^^ consider implementing `Clone` for this type @@ -28,7 +28,7 @@ LL | let x = &pin mut foo; | --- you could clone this value error: cannot move out of `foo` because it is pinned - --> $DIR/borrow-unpin.rs:41:14 + --> $DIR/borrow-unpin.rs:40:14 | LL | foo_pin_mut(&pin mut foo); // ok | ------------ pin of `foo` occurs here @@ -36,7 +36,7 @@ LL | foo_move(foo); | ^^^ move out of `foo` occurs here error[E0505]: cannot move out of `foo` because it is borrowed - --> $DIR/borrow-unpin.rs:45:14 + --> $DIR/borrow-unpin.rs:44:14 | LL | let mut foo = Foo::default(); | ------- binding `foo` declared here @@ -48,7 +48,7 @@ LL | foo_pin_mut(x); // ok | - borrow later used here | note: if `Foo` implemented `Clone`, you could clone the value - --> $DIR/borrow-unpin.rs:14:1 + --> $DIR/borrow-unpin.rs:13:1 | LL | struct Foo(PhantomPinned); | ^^^^^^^^^^ consider implementing `Clone` for this type @@ -57,7 +57,7 @@ LL | let x = &pin mut foo; // ok | --- you could clone this value error: cannot move out of `foo` because it is pinned - --> $DIR/borrow-unpin.rs:52:14 + --> $DIR/borrow-unpin.rs:51:14 | LL | foo_pin_ref(&pin const foo); // ok | -------------- pin of `foo` occurs here @@ -65,7 +65,7 @@ LL | foo_move(foo); | ^^^ move out of `foo` occurs here error[E0505]: cannot move out of `foo` because it is borrowed - --> $DIR/borrow-unpin.rs:56:14 + --> $DIR/borrow-unpin.rs:55:14 | LL | let foo = Foo::default(); | --- binding `foo` declared here @@ -77,7 +77,7 @@ LL | foo_pin_ref(x); | - borrow later used here | note: if `Foo` implemented `Clone`, you could clone the value - --> $DIR/borrow-unpin.rs:14:1 + --> $DIR/borrow-unpin.rs:13:1 | LL | struct Foo(PhantomPinned); | ^^^^^^^^^^ consider implementing `Clone` for this type @@ -86,7 +86,7 @@ LL | let x = &pin const foo; // ok | --- you could clone this value error: cannot move out of `foo` because it is pinned - --> $DIR/borrow-unpin.rs:65:14 + --> $DIR/borrow-unpin.rs:64:14 | LL | let ref pin mut _x = foo; | -------------- pin of `foo` occurs here @@ -95,7 +95,7 @@ LL | foo_move(foo); | ^^^ move out of `foo` occurs here error: cannot borrow `foo` as mutable because it is pinned - --> $DIR/borrow-unpin.rs:73:13 + --> $DIR/borrow-unpin.rs:72:13 | LL | let ref pin mut _x = foo; | -------------- pin of `foo` occurs here @@ -104,7 +104,7 @@ LL | foo_mut(&mut foo); | ^^^^^^^^ borrow of `foo` as mutable occurs here error[E0502]: cannot borrow `foo` as immutable because it is also borrowed as mutable - --> $DIR/borrow-unpin.rs:83:13 + --> $DIR/borrow-unpin.rs:82:13 | LL | let x = &pin mut foo; // ok | ------------ mutable borrow occurs here @@ -114,7 +114,7 @@ LL | foo_pin_mut(x); | - mutable borrow later used here error[E0499]: cannot borrow `foo` as mutable more than once at a time - --> $DIR/borrow-unpin.rs:105:17 + --> $DIR/borrow-unpin.rs:104:17 | LL | let x = &pin mut foo; // ok | ------------ first mutable borrow occurs here @@ -124,7 +124,7 @@ LL | foo_pin_mut(x); | - first borrow later used here error[E0502]: cannot borrow `foo` as mutable because it is also borrowed as immutable - --> $DIR/borrow-unpin.rs:116:17 + --> $DIR/borrow-unpin.rs:115:17 | LL | let x = &pin const foo; // ok | -------------- immutable borrow occurs here @@ -134,7 +134,7 @@ LL | foo_pin_ref(x); | - immutable borrow later used here error[E0502]: cannot borrow `foo` as immutable because it is also borrowed as mutable - --> $DIR/borrow-unpin.rs:127:17 + --> $DIR/borrow-unpin.rs:126:17 | LL | let x = &pin mut foo; // ok | ------------ mutable borrow occurs here diff --git a/tests/ui/pin-ergonomics/borrow-unpin.rs b/tests/ui/pin-ergonomics/borrow-unpin.rs index 8e5f3b3bec328..b20aa2008d83c 100644 --- a/tests/ui/pin-ergonomics/borrow-unpin.rs +++ b/tests/ui/pin-ergonomics/borrow-unpin.rs @@ -1,6 +1,5 @@ //@ revisions: unpin pinned #![feature(pin_ergonomics)] -#![allow(dead_code, incomplete_features)] // This test ensures `!Unpin` places cannot be mutably borrowed or moved after pinning. // `Unpin` places still obey ordinary borrow rules, but expired `&pin` borrows do not pin. diff --git a/tests/ui/pin-ergonomics/borrow-unpin.unpin.stderr b/tests/ui/pin-ergonomics/borrow-unpin.unpin.stderr index 963de703d3348..afb7a555cf79f 100644 --- a/tests/ui/pin-ergonomics/borrow-unpin.unpin.stderr +++ b/tests/ui/pin-ergonomics/borrow-unpin.unpin.stderr @@ -1,5 +1,5 @@ error[E0505]: cannot move out of `foo` because it is borrowed - --> $DIR/borrow-unpin.rs:34:14 + --> $DIR/borrow-unpin.rs:33:14 | LL | let mut foo = Foo::default(); | ------- binding `foo` declared here @@ -11,7 +11,7 @@ LL | foo_pin_mut(x); // ok | - borrow later used here | note: if `Foo` implemented `Clone`, you could clone the value - --> $DIR/borrow-unpin.rs:19:1 + --> $DIR/borrow-unpin.rs:18:1 | LL | struct Foo; | ^^^^^^^^^^ consider implementing `Clone` for this type @@ -20,7 +20,7 @@ LL | let x = &pin mut foo; | --- you could clone this value error[E0505]: cannot move out of `foo` because it is borrowed - --> $DIR/borrow-unpin.rs:45:14 + --> $DIR/borrow-unpin.rs:44:14 | LL | let mut foo = Foo::default(); | ------- binding `foo` declared here @@ -32,7 +32,7 @@ LL | foo_pin_mut(x); // ok | - borrow later used here | note: if `Foo` implemented `Clone`, you could clone the value - --> $DIR/borrow-unpin.rs:19:1 + --> $DIR/borrow-unpin.rs:18:1 | LL | struct Foo; | ^^^^^^^^^^ consider implementing `Clone` for this type @@ -41,7 +41,7 @@ LL | let x = &pin mut foo; // ok | --- you could clone this value error[E0505]: cannot move out of `foo` because it is borrowed - --> $DIR/borrow-unpin.rs:56:14 + --> $DIR/borrow-unpin.rs:55:14 | LL | let foo = Foo::default(); | --- binding `foo` declared here @@ -53,7 +53,7 @@ LL | foo_pin_ref(x); | - borrow later used here | note: if `Foo` implemented `Clone`, you could clone the value - --> $DIR/borrow-unpin.rs:19:1 + --> $DIR/borrow-unpin.rs:18:1 | LL | struct Foo; | ^^^^^^^^^^ consider implementing `Clone` for this type @@ -62,7 +62,7 @@ LL | let x = &pin const foo; // ok | --- you could clone this value error[E0502]: cannot borrow `foo` as immutable because it is also borrowed as mutable - --> $DIR/borrow-unpin.rs:83:13 + --> $DIR/borrow-unpin.rs:82:13 | LL | let x = &pin mut foo; // ok | ------------ mutable borrow occurs here @@ -72,7 +72,7 @@ LL | foo_pin_mut(x); | - mutable borrow later used here error[E0499]: cannot borrow `foo` as mutable more than once at a time - --> $DIR/borrow-unpin.rs:105:17 + --> $DIR/borrow-unpin.rs:104:17 | LL | let x = &pin mut foo; // ok | ------------ first mutable borrow occurs here @@ -82,7 +82,7 @@ LL | foo_pin_mut(x); | - first borrow later used here error[E0502]: cannot borrow `foo` as mutable because it is also borrowed as immutable - --> $DIR/borrow-unpin.rs:116:17 + --> $DIR/borrow-unpin.rs:115:17 | LL | let x = &pin const foo; // ok | -------------- immutable borrow occurs here @@ -92,7 +92,7 @@ LL | foo_pin_ref(x); | - immutable borrow later used here error[E0502]: cannot borrow `foo` as immutable because it is also borrowed as mutable - --> $DIR/borrow-unpin.rs:127:17 + --> $DIR/borrow-unpin.rs:126:17 | LL | let x = &pin mut foo; // ok | ------------ mutable borrow occurs here diff --git a/tests/ui/pin-ergonomics/borrow.rs b/tests/ui/pin-ergonomics/borrow.rs index 2d41894bf53e0..bba632a0ab909 100644 --- a/tests/ui/pin-ergonomics/borrow.rs +++ b/tests/ui/pin-ergonomics/borrow.rs @@ -1,5 +1,4 @@ #![feature(pin_ergonomics)] -#![allow(dead_code, incomplete_features)] // Makes sure we can handle `&pin mut place` and `&pin const place` as sugar for // `std::pin::pin!(place)` and `Pin::new(&place)`. diff --git a/tests/ui/pin-ergonomics/borrow.stderr b/tests/ui/pin-ergonomics/borrow.stderr index 3cfd3d9caf7d0..a05b322941876 100644 --- a/tests/ui/pin-ergonomics/borrow.stderr +++ b/tests/ui/pin-ergonomics/borrow.stderr @@ -1,5 +1,5 @@ error: cannot borrow `x` as mutable because it is pinned - --> $DIR/borrow.rs:34:14 + --> $DIR/borrow.rs:33:14 | LL | let _x = &pin mut x; | ---------- pin of `x` occurs here @@ -8,7 +8,7 @@ LL | let _x = &mut x; | ^^^^^^ borrow of `x` as mutable occurs here error: cannot move out of `x` because it is pinned - --> $DIR/borrow.rs:35:14 + --> $DIR/borrow.rs:34:14 | LL | let _x = &pin mut x; | ---------- pin of `x` occurs here @@ -17,7 +17,7 @@ LL | let _x = x; | ^ move out of `x` occurs here error: cannot borrow `y` as mutable because it is pinned - --> $DIR/borrow.rs:43:14 + --> $DIR/borrow.rs:42:14 | LL | let _y = &pin const y; | ------------ pin of `y` occurs here @@ -26,7 +26,7 @@ LL | let _y = &mut y; | ^^^^^^ borrow of `y` as mutable occurs here error: cannot move out of `y` because it is pinned - --> $DIR/borrow.rs:44:14 + --> $DIR/borrow.rs:43:14 | LL | let _y = &pin const y; | ------------ pin of `y` occurs here @@ -35,7 +35,7 @@ LL | let _y = y; | ^ move out of `y` occurs here error: cannot borrow `x` as mutable because it is pinned - --> $DIR/borrow.rs:51:14 + --> $DIR/borrow.rs:50:14 | LL | let ref pin mut _x = x; | -------------- pin of `x` occurs here @@ -44,7 +44,7 @@ LL | let _x = &mut x; | ^^^^^^ borrow of `x` as mutable occurs here error: cannot move out of `x` because it is pinned - --> $DIR/borrow.rs:52:14 + --> $DIR/borrow.rs:51:14 | LL | let ref pin mut _x = x; | -------------- pin of `x` occurs here @@ -53,7 +53,7 @@ LL | let _x = x; | ^ move out of `x` occurs here error: cannot borrow `y` as mutable because it is pinned - --> $DIR/borrow.rs:59:14 + --> $DIR/borrow.rs:58:14 | LL | let ref pin const _y = y; | ---------------- pin of `y` occurs here @@ -62,7 +62,7 @@ LL | let _y = &mut y; | ^^^^^^ borrow of `y` as mutable occurs here error: cannot move out of `y` because it is pinned - --> $DIR/borrow.rs:60:14 + --> $DIR/borrow.rs:59:14 | LL | let ref pin const _y = y; | ---------------- pin of `y` occurs here diff --git a/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.rs b/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.rs index cddaeca50387c..45756def17d37 100644 --- a/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.rs +++ b/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.rs @@ -1,5 +1,4 @@ #![feature(pin_ergonomics)] -#![allow(dead_code, incomplete_features)] //@ normalize-stderr: "\n\n\z" -> "\n" use std::marker::PhantomPinned; diff --git a/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.stderr b/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.stderr index 342e5be183b87..9a12d8cf86e81 100644 --- a/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.stderr +++ b/tests/ui/pin-ergonomics/direct-borrow-requires-pin-v2.stderr @@ -1,11 +1,11 @@ error: cannot directly pin a type that is not structurally pinnable - --> $DIR/direct-borrow-requires-pin-v2.rs:40:13 + --> $DIR/direct-borrow-requires-pin-v2.rs:39:13 | LL | let _ = &pin mut NotUnpin { _pin: PhantomPinned }; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: type defined here - --> $DIR/direct-borrow-requires-pin-v2.rs:10:1 + --> $DIR/direct-borrow-requires-pin-v2.rs:9:1 | LL | struct NotUnpin { | ^^^^^^^^^^^^^^^ @@ -16,13 +16,13 @@ LL | struct NotUnpin { | error: cannot directly pin a type that is not structurally pinnable - --> $DIR/direct-borrow-requires-pin-v2.rs:45:13 + --> $DIR/direct-borrow-requires-pin-v2.rs:44:13 | LL | let _ = &pin const NotUnpin { _pin: PhantomPinned }; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: type defined here - --> $DIR/direct-borrow-requires-pin-v2.rs:10:1 + --> $DIR/direct-borrow-requires-pin-v2.rs:9:1 | LL | struct NotUnpin { | ^^^^^^^^^^^^^^^ @@ -33,13 +33,13 @@ LL | struct NotUnpin { | error: cannot directly pin a type that is not structurally pinnable - --> $DIR/direct-borrow-requires-pin-v2.rs:58:13 + --> $DIR/direct-borrow-requires-pin-v2.rs:57:13 | LL | let _ = &pin mut value; | ^^^^^^^^^^^^^^ | note: type defined here - --> $DIR/direct-borrow-requires-pin-v2.rs:19:1 + --> $DIR/direct-borrow-requires-pin-v2.rs:18:1 | LL | struct GenericAdt { | ^^^^^^^^^^^^^^^^^^^^ @@ -50,13 +50,13 @@ LL | struct GenericAdt { | error: cannot directly pin a type that is not structurally pinnable - --> $DIR/direct-borrow-requires-pin-v2.rs:63:13 + --> $DIR/direct-borrow-requires-pin-v2.rs:62:13 | LL | let _ = &pin const value; | ^^^^^^^^^^^^^^^^ | note: type defined here - --> $DIR/direct-borrow-requires-pin-v2.rs:19:1 + --> $DIR/direct-borrow-requires-pin-v2.rs:18:1 | LL | struct GenericAdt { | ^^^^^^^^^^^^^^^^^^^^ @@ -67,19 +67,19 @@ LL | struct GenericAdt { | error: cannot directly pin a type that is not structurally pinnable - --> $DIR/direct-borrow-requires-pin-v2.rs:68:5 + --> $DIR/direct-borrow-requires-pin-v2.rs:67:5 | LL | &pin mut input.x | ^^^^^^^^^^^^^^^^ error: cannot directly pin a type that is not structurally pinnable - --> $DIR/direct-borrow-requires-pin-v2.rs:74:13 + --> $DIR/direct-borrow-requires-pin-v2.rs:73:13 | LL | let _ = &pin mut value; | ^^^^^^^^^^^^^^ | note: type defined here - --> $DIR/direct-borrow-requires-pin-v2.rs:19:1 + --> $DIR/direct-borrow-requires-pin-v2.rs:18:1 | LL | struct GenericAdt { | ^^^^^^^^^^^^^^^^^^^^ @@ -90,13 +90,13 @@ LL | struct GenericAdt { | error: cannot directly pin a type that is not structurally pinnable - --> $DIR/direct-borrow-requires-pin-v2.rs:79:25 + --> $DIR/direct-borrow-requires-pin-v2.rs:78:25 | LL | let _: &pin mut _ = &pin mut input; | ^^^^^^^^^^^^^^ | note: type defined here - --> $DIR/direct-borrow-requires-pin-v2.rs:25:1 + --> $DIR/direct-borrow-requires-pin-v2.rs:24:1 | LL | struct DropGenericAdt(T); | ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/ui/pin-ergonomics/pin-coercion-get-mut-then-as-mut.rs b/tests/ui/pin-ergonomics/pin-coercion-get-mut-then-as-mut.rs index 2ea4cf871e8ae..6065eeb47ea10 100644 --- a/tests/ui/pin-ergonomics/pin-coercion-get-mut-then-as-mut.rs +++ b/tests/ui/pin-ergonomics/pin-coercion-get-mut-then-as-mut.rs @@ -2,7 +2,6 @@ //@ edition:2024 #![feature(pin_ergonomics)] -#![allow(incomplete_features)] // This protects calling `Pin<&mut T>::as_mut()` after using `get_mut()` for // `T: Unpin`; the `get_mut()` path must not make the later `as_mut()` borrow diff --git a/tests/ui/pin-ergonomics/pin-coercion-unpin-roundtrip.rs b/tests/ui/pin-ergonomics/pin-coercion-unpin-roundtrip.rs index 6038787d5ef2f..f57a01fd73ac2 100644 --- a/tests/ui/pin-ergonomics/pin-coercion-unpin-roundtrip.rs +++ b/tests/ui/pin-ergonomics/pin-coercion-unpin-roundtrip.rs @@ -2,7 +2,6 @@ //@ edition:2024 #![feature(pin_ergonomics)] -#![allow(incomplete_features)] // This protects the `T: Unpin` round trip from `&mut T` to `&pin mut T` and // back to `&mut T`, which must not leave the reference falsely treated as pinned.