mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 06:51:58 +00:00
regression test for issue 80949.
This commit is contained in:
parent
dac354fc32
commit
fb0e41f6b3
34
src/test/ui/mir/issue-80949.rs
Normal file
34
src/test/ui/mir/issue-80949.rs
Normal file
@ -0,0 +1,34 @@
|
||||
// build-pass
|
||||
|
||||
trait Trait { type Item; }
|
||||
|
||||
impl<'a, X> Trait for &'a Vec<X> {
|
||||
type Item = &'a X;
|
||||
}
|
||||
|
||||
impl<X> Trait for Box<dyn Trait<Item = X>> {
|
||||
type Item = X;
|
||||
}
|
||||
|
||||
fn make_dyn_trait(_: &()) -> Box<dyn Trait<Item = &()>> {
|
||||
todo!()
|
||||
}
|
||||
|
||||
fn diff<'a, M, N, S>(_: N, _: S)
|
||||
where
|
||||
M: 'a,
|
||||
N: Trait<Item = &'a M>,
|
||||
S: Trait<Item = &'a M>,
|
||||
{
|
||||
todo!()
|
||||
}
|
||||
|
||||
fn may_panic<X>(_: X) { }
|
||||
|
||||
fn main() {
|
||||
let dyn_trait = make_dyn_trait(&());
|
||||
let storage = vec![()];
|
||||
let _x = may_panic(());
|
||||
let storage_ref = &storage;
|
||||
diff(dyn_trait, storage_ref);
|
||||
}
|
Loading…
Reference in New Issue
Block a user