diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/associated-type-bounds/dont-imply-atb-in-closure-inference.rs | 21 | ||||
| -rw-r--r-- | tests/ui/lint/unused/unused-associated-item.rs | 21 |
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/ui/associated-type-bounds/dont-imply-atb-in-closure-inference.rs b/tests/ui/associated-type-bounds/dont-imply-atb-in-closure-inference.rs new file mode 100644 index 00000000000..fecb3b15338 --- /dev/null +++ b/tests/ui/associated-type-bounds/dont-imply-atb-in-closure-inference.rs @@ -0,0 +1,21 @@ +//@ check-pass + +#![feature(type_alias_impl_trait)] + +trait IsPtr { + type Assoc; +} +impl<T> IsPtr for T { + type Assoc = fn(i32); +} + +type Tait = impl IsPtr<Assoc: Fn(i32)> + Fn(u32); + +fn hello() +where + Tait:, +{ + let _: Tait = |x| {}; +} + +fn main() {} diff --git a/tests/ui/lint/unused/unused-associated-item.rs b/tests/ui/lint/unused/unused-associated-item.rs new file mode 100644 index 00000000000..27cb4e979f1 --- /dev/null +++ b/tests/ui/lint/unused/unused-associated-item.rs @@ -0,0 +1,21 @@ +//@ check-pass + +#![deny(unused_must_use)] + +use std::future::Future; +use std::pin::Pin; + +trait Factory { + type Output; +} + +impl Factory for () { + type Output = Pin<Box<dyn Future<Output = ()> + 'static>>; +} + +// Make sure we don't get an `unused_must_use` error on the *associated type bound*. +fn f() -> impl Factory<Output: Future> {} + +fn main() { + f(); +} |
