summaryrefslogtreecommitdiffstats
path: root/tests/ui/generator/print
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
commitef24de24a82fe681581cc130f342363c47c0969a (patch)
tree0d494f7e1a38b95c92426f58fe6eaa877303a86c /tests/ui/generator/print
parentReleasing progress-linux version 1.74.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-ef24de24a82fe681581cc130f342363c47c0969a.tar.xz
rustc-ef24de24a82fe681581cc130f342363c47c0969a.zip
Merging upstream version 1.75.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/generator/print')
-rw-r--r--tests/ui/generator/print/generator-print-verbose-1.rs60
-rw-r--r--tests/ui/generator/print/generator-print-verbose-1.stderr60
-rw-r--r--tests/ui/generator/print/generator-print-verbose-2.rs30
-rw-r--r--tests/ui/generator/print/generator-print-verbose-2.stderr42
-rw-r--r--tests/ui/generator/print/generator-print-verbose-3.rs12
-rw-r--r--tests/ui/generator/print/generator-print-verbose-3.stderr19
6 files changed, 0 insertions, 223 deletions
diff --git a/tests/ui/generator/print/generator-print-verbose-1.rs b/tests/ui/generator/print/generator-print-verbose-1.rs
deleted file mode 100644
index e52234c08..000000000
--- a/tests/ui/generator/print/generator-print-verbose-1.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-// compile-flags: -Zverbose
-
-// Same as: tests/ui/generator/issue-68112.stderr
-
-#![feature(generators, generator_trait)]
-
-use std::{
- cell::RefCell,
- sync::Arc,
- pin::Pin,
- ops::{Generator, GeneratorState},
-};
-
-pub struct Ready<T>(Option<T>);
-impl<T: Unpin> Generator<()> for Ready<T> {
- type Return = T;
- type Yield = ();
- fn resume(mut self: Pin<&mut Self>, _args: ()) -> GeneratorState<(), T> {
- GeneratorState::Complete(self.0.take().unwrap())
- }
-}
-pub fn make_gen1<T>(t: T) -> Ready<T> {
- Ready(Some(t))
-}
-
-fn require_send(_: impl Send) {}
-
-fn make_non_send_generator() -> impl Generator<Return = Arc<RefCell<i32>>> {
- make_gen1(Arc::new(RefCell::new(0)))
-}
-
-fn test1() {
- let send_gen = || {
- let _non_send_gen = make_non_send_generator();
- yield;
- };
- require_send(send_gen);
- //~^ ERROR generator cannot be sent between threads
-}
-
-pub fn make_gen2<T>(t: T) -> impl Generator<Return = T> {
- || {
- yield;
- t
- }
-}
-fn make_non_send_generator2() -> impl Generator<Return = Arc<RefCell<i32>>> {
- make_gen2(Arc::new(RefCell::new(0)))
-}
-
-fn test2() {
- let send_gen = || {
- let _non_send_gen = make_non_send_generator2();
- yield;
- };
- require_send(send_gen);
- //~^ ERROR `RefCell<i32>` cannot be shared between threads safely
-}
-
-fn main() {}
diff --git a/tests/ui/generator/print/generator-print-verbose-1.stderr b/tests/ui/generator/print/generator-print-verbose-1.stderr
deleted file mode 100644
index d949543de..000000000
--- a/tests/ui/generator/print/generator-print-verbose-1.stderr
+++ /dev/null
@@ -1,60 +0,0 @@
-error: generator cannot be sent between threads safely
- --> $DIR/generator-print-verbose-1.rs:37:5
- |
-LL | require_send(send_gen);
- | ^^^^^^^^^^^^ generator is not `Send`
- |
- = help: the trait `Sync` is not implemented for `RefCell<i32>`
- = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
-note: generator is not `Send` as this value is used across a yield
- --> $DIR/generator-print-verbose-1.rs:35:9
- |
-LL | let _non_send_gen = make_non_send_generator();
- | ------------- has type `Opaque(DefId(0:34 ~ generator_print_verbose_1[7d1d]::make_non_send_generator::{opaque#0}), [])` which is not `Send`
-LL | yield;
- | ^^^^^ yield occurs here, with `_non_send_gen` maybe used later
-note: required by a bound in `require_send`
- --> $DIR/generator-print-verbose-1.rs:26:25
- |
-LL | fn require_send(_: impl Send) {}
- | ^^^^ required by this bound in `require_send`
-
-error[E0277]: `RefCell<i32>` cannot be shared between threads safely
- --> $DIR/generator-print-verbose-1.rs:56:5
- |
-LL | require_send(send_gen);
- | ^^^^^^^^^^^^ `RefCell<i32>` cannot be shared between threads safely
- |
- = help: the trait `Sync` is not implemented for `RefCell<i32>`
- = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
- = note: required for `Arc<RefCell<i32>>` to implement `Send`
-note: required because it's used within this generator
- --> $DIR/generator-print-verbose-1.rs:42:5
- |
-LL | || {
- | ^^
-note: required because it appears within the type `Opaque(DefId(0:35 ~ generator_print_verbose_1[7d1d]::make_gen2::{opaque#0}), [Arc<RefCell<i32>>])`
- --> $DIR/generator-print-verbose-1.rs:41:30
- |
-LL | pub fn make_gen2<T>(t: T) -> impl Generator<Return = T> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-note: required because it appears within the type `Opaque(DefId(0:36 ~ generator_print_verbose_1[7d1d]::make_non_send_generator2::{opaque#0}), [])`
- --> $DIR/generator-print-verbose-1.rs:47:34
- |
-LL | fn make_non_send_generator2() -> impl Generator<Return = Arc<RefCell<i32>>> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = note: required because it captures the following types: `Opaque(DefId(0:36 ~ generator_print_verbose_1[7d1d]::make_non_send_generator2::{opaque#0}), [])`
-note: required because it's used within this generator
- --> $DIR/generator-print-verbose-1.rs:52:20
- |
-LL | let send_gen = || {
- | ^^
-note: required by a bound in `require_send`
- --> $DIR/generator-print-verbose-1.rs:26:25
- |
-LL | fn require_send(_: impl Send) {}
- | ^^^^ required by this bound in `require_send`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/generator/print/generator-print-verbose-2.rs b/tests/ui/generator/print/generator-print-verbose-2.rs
deleted file mode 100644
index e53a7ef8c..000000000
--- a/tests/ui/generator/print/generator-print-verbose-2.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// compile-flags: -Zverbose
-
-// Same as test/ui/generator/not-send-sync.rs
-#![feature(generators)]
-#![feature(negative_impls)]
-
-struct NotSend;
-struct NotSync;
-
-impl !Send for NotSend {}
-impl !Sync for NotSync {}
-
-fn main() {
- fn assert_sync<T: Sync>(_: T) {}
- fn assert_send<T: Send>(_: T) {}
-
- assert_sync(|| {
- //~^ ERROR: generator cannot be shared between threads safely
- let a = NotSync;
- yield;
- drop(a);
- });
-
- assert_send(|| {
- //~^ ERROR: generator cannot be sent between threads safely
- let a = NotSend;
- yield;
- drop(a);
- });
-}
diff --git a/tests/ui/generator/print/generator-print-verbose-2.stderr b/tests/ui/generator/print/generator-print-verbose-2.stderr
deleted file mode 100644
index 8ff755761..000000000
--- a/tests/ui/generator/print/generator-print-verbose-2.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-error: generator cannot be shared between threads safely
- --> $DIR/generator-print-verbose-2.rs:17:5
- |
-LL | assert_sync(|| {
- | ^^^^^^^^^^^ generator is not `Sync`
- |
- = help: within `{main::{closure#0} upvar_tys=() {main::{closure#0}}}`, the trait `Sync` is not implemented for `NotSync`
-note: generator is not `Sync` as this value is used across a yield
- --> $DIR/generator-print-verbose-2.rs:20:9
- |
-LL | let a = NotSync;
- | - has type `NotSync` which is not `Sync`
-LL | yield;
- | ^^^^^ yield occurs here, with `a` maybe used later
-note: required by a bound in `assert_sync`
- --> $DIR/generator-print-verbose-2.rs:14:23
- |
-LL | fn assert_sync<T: Sync>(_: T) {}
- | ^^^^ required by this bound in `assert_sync`
-
-error: generator cannot be sent between threads safely
- --> $DIR/generator-print-verbose-2.rs:24:5
- |
-LL | assert_send(|| {
- | ^^^^^^^^^^^ generator is not `Send`
- |
- = help: within `{main::{closure#1} upvar_tys=() {main::{closure#1}}}`, the trait `Send` is not implemented for `NotSend`
-note: generator is not `Send` as this value is used across a yield
- --> $DIR/generator-print-verbose-2.rs:27:9
- |
-LL | let a = NotSend;
- | - has type `NotSend` which is not `Send`
-LL | yield;
- | ^^^^^ yield occurs here, with `a` maybe used later
-note: required by a bound in `assert_send`
- --> $DIR/generator-print-verbose-2.rs:15:23
- |
-LL | fn assert_send<T: Send>(_: T) {}
- | ^^^^ required by this bound in `assert_send`
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/generator/print/generator-print-verbose-3.rs b/tests/ui/generator/print/generator-print-verbose-3.rs
deleted file mode 100644
index 8689539ec..000000000
--- a/tests/ui/generator/print/generator-print-verbose-3.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// compile-flags: -Zverbose
-
-#![feature(generators, generator_trait)]
-
-fn main() {
- let x = "Type mismatch test";
- let generator :() = || {
- //~^ ERROR mismatched types
- yield 1i32;
- return x
- };
-}
diff --git a/tests/ui/generator/print/generator-print-verbose-3.stderr b/tests/ui/generator/print/generator-print-verbose-3.stderr
deleted file mode 100644
index 69358ed0a..000000000
--- a/tests/ui/generator/print/generator-print-verbose-3.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0308]: mismatched types
- --> $DIR/generator-print-verbose-3.rs:7:25
- |
-LL | let generator :() = || {
- | ____________________--___^
- | | |
- | | expected due to this
-LL | |
-LL | | yield 1i32;
-LL | | return x
-LL | | };
- | |_____^ expected `()`, found generator
- |
- = note: expected unit type `()`
- found generator `{main::{closure#0} upvar_tys=(unavailable)}`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0308`.