rust/tests/ui/mir/issue-80949.rs
许杰友 Jieyou Xu (Joe) edafbaffb2
Adjust UI tests for unit_bindings
- Either explicitly annotate `let x: () = expr;` where `x` has unit
  type, or remove the unit binding to leave only `expr;` instead.
- Fix disjoint-capture-in-same-closure test
2023-06-12 20:24:48 +08:00

35 lines
562 B
Rust

// 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![()];
may_panic(());
let storage_ref = &storage;
diff(dyn_trait, storage_ref);
}