diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-11-03 12:08:56 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-03 12:08:56 +0100 |
| commit | ecbd8d1550e50aa4c462440e386fadee92226a02 (patch) | |
| tree | 55d96fe3c4f1fc7022a9ef35c7c800a8b6d5d96c | |
| parent | 13cdfae599cd0e6b84e8aab34bd5d4286032b7ca (diff) | |
| parent | 7745b065cc553c55d63aaad5f000502e2edd6257 (diff) | |
| download | rust-ecbd8d1550e50aa4c462440e386fadee92226a02.tar.gz rust-ecbd8d1550e50aa4c462440e386fadee92226a02.zip | |
Rollup merge of #132543 - cyrgani:master, r=compiler-errors
add and update some crashtests Adds tests for #126268 and #132126, updates it for #131050.
| -rw-r--r-- | tests/crashes/126268.rs | 18 | ||||
| -rw-r--r-- | tests/crashes/131050.rs | 20 | ||||
| -rw-r--r-- | tests/crashes/132126.rs | 2 |
3 files changed, 28 insertions, 12 deletions
diff --git a/tests/crashes/126268.rs b/tests/crashes/126268.rs new file mode 100644 index 00000000000..82e52fa115d --- /dev/null +++ b/tests/crashes/126268.rs @@ -0,0 +1,18 @@ +//@ known-bug: #126268 +#![feature(min_specialization)] + +trait Trait {} + +impl<T> Trait for T {} + +trait Data { + type Elem; +} + +struct DatasetIter<'a, R: Data> { + data: &'a R::Elem, +} + +pub struct ArrayBase {} + +impl<'a> Trait for DatasetIter<'a, ArrayBase> {} diff --git a/tests/crashes/131050.rs b/tests/crashes/131050.rs index 07f8662d016..3e3a600ef3d 100644 --- a/tests/crashes/131050.rs +++ b/tests/crashes/131050.rs @@ -1,25 +1,21 @@ //@ known-bug: #131050 //@ compile-flags: --edition=2021 -fn query_as<D>() {} +use std::future::Future; -async fn create_user() { - query_as(); -} +fn invalid_future() -> impl Future {} -async fn post_user_filter() -> impl Filter { - AndThen(&(), || async { create_user().await }) +fn create_complex_future() -> impl Future<Output = impl ReturnsSend> { + async { &|| async { invalid_future().await } } } -async fn get_app() -> impl Send { - post_user_filter().await +fn coerce_impl_trait() -> impl Future<Output = impl Send> { + create_complex_future() } -trait Filter {} - -struct AndThen<T, F>(T, F); +trait ReturnsSend {} -impl<T, F, R> Filter for AndThen<T, F> +impl<F, R> ReturnsSend for F where F: Fn() -> R, R: Send, diff --git a/tests/crashes/132126.rs b/tests/crashes/132126.rs new file mode 100644 index 00000000000..6a42853d469 --- /dev/null +++ b/tests/crashes/132126.rs @@ -0,0 +1,2 @@ +//@ known-bug: #132126 +trait UnsafeCopy where Self: use<Self> {} |
