Add regression tests for #101903
This commit is contained in:
parent
c3b05c6e5b
commit
c31b2178e0
@ -0,0 +1,26 @@
|
|||||||
|
//@ check-pass
|
||||||
|
|
||||||
|
#![feature(type_alias_impl_trait)]
|
||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
|
trait Duh {}
|
||||||
|
|
||||||
|
impl Duh for i32 {}
|
||||||
|
|
||||||
|
trait Trait {
|
||||||
|
type Assoc: Duh;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<R: Duh, F: FnMut() -> R> Trait for F {
|
||||||
|
type Assoc = R;
|
||||||
|
}
|
||||||
|
|
||||||
|
type Sendable = impl Send + Duh;
|
||||||
|
|
||||||
|
type Foo = impl Trait<Assoc = Sendable>;
|
||||||
|
|
||||||
|
fn foo() -> Foo {
|
||||||
|
|| 42
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
@ -0,0 +1,29 @@
|
|||||||
|
//@ check-pass
|
||||||
|
|
||||||
|
// See https://doc.rust-lang.org/1.77.0/nightly-rustc/rustc_lint/opaque_hidden_inferred_bound/static.OPAQUE_HIDDEN_INFERRED_BOUND.html#example
|
||||||
|
|
||||||
|
#![feature(type_alias_impl_trait)]
|
||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
|
trait Duh {}
|
||||||
|
|
||||||
|
impl Duh for i32 {}
|
||||||
|
|
||||||
|
trait Trait {
|
||||||
|
type Assoc: Duh;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<R: Duh, F: FnMut() -> R> Trait for F {
|
||||||
|
type Assoc = R;
|
||||||
|
}
|
||||||
|
|
||||||
|
type Sendable = impl Send;
|
||||||
|
|
||||||
|
type Foo = impl Trait<Assoc = Sendable>;
|
||||||
|
//~^ WARNING opaque type `Foo` does not satisfy its associated type bounds
|
||||||
|
|
||||||
|
fn foo() -> Foo {
|
||||||
|
|| 42
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
@ -0,0 +1,13 @@
|
|||||||
|
warning: opaque type `Foo` does not satisfy its associated type bounds
|
||||||
|
--> $DIR/tait-in-function-return-type-issue-101903.rs:22:23
|
||||||
|
|
|
||||||
|
LL | type Assoc: Duh;
|
||||||
|
| --- this associated type bound is unsatisfied for `Sendable`
|
||||||
|
...
|
||||||
|
LL | type Foo = impl Trait<Assoc = Sendable>;
|
||||||
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: `#[warn(opaque_hidden_inferred_bound)]` on by default
|
||||||
|
|
||||||
|
warning: 1 warning emitted
|
||||||
|
|
Loading…
Reference in New Issue
Block a user