blob: 56c8a72bfcc019fd5a32f418571bda5fdcd36a86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// revisions: current next
//[next] compile-flags: -Znext-solver
// check-pass
trait Trait {}
impl<T> Trait for T {}
trait Noop {
type Assoc: ?Sized;
}
impl<T: ?Sized> Noop for T {
type Assoc = T;
}
struct NoopNewtype<T: ?Sized + Noop>(T::Assoc);
fn coerce_newtype<T: Trait>(x: &NoopNewtype<T>) -> &NoopNewtype<dyn Trait + '_> {
x
}
fn main() {}
|