]> git.proxmox.com Git - rustc.git/blob - src/test/ui/variance/variance-btree-invariant-types.rs
New upstream version 1.55.0+dfsg1
[rustc.git] / src / test / ui / variance / variance-btree-invariant-types.rs
1 use std::collections::btree_map::{IterMut, OccupiedEntry, RangeMut, VacantEntry};
2
3 fn iter_cov_key<'a, 'new>(v: IterMut<'a, &'static (), ()>) -> IterMut<'a, &'new (), ()> {
4 v //~ ERROR mismatched types
5 }
6 fn iter_cov_val<'a, 'new>(v: IterMut<'a, (), &'static ()>) -> IterMut<'a, (), &'new ()> {
7 v //~ ERROR mismatched types
8 }
9 fn iter_contra_key<'a, 'new>(v: IterMut<'a, &'new (), ()>) -> IterMut<'a, &'static (), ()> {
10 v //~ ERROR mismatched types
11 }
12 fn iter_contra_val<'a, 'new>(v: IterMut<'a, (), &'new ()>) -> IterMut<'a, (), &'static ()> {
13 v //~ ERROR mismatched types
14 }
15
16 fn range_cov_key<'a, 'new>(v: RangeMut<'a, &'static (), ()>) -> RangeMut<'a, &'new (), ()> {
17 v //~ ERROR mismatched types
18 }
19 fn range_cov_val<'a, 'new>(v: RangeMut<'a, (), &'static ()>) -> RangeMut<'a, (), &'new ()> {
20 v //~ ERROR mismatched types
21 }
22 fn range_contra_key<'a, 'new>(v: RangeMut<'a, &'new (), ()>) -> RangeMut<'a, &'static (), ()> {
23 v //~ ERROR mismatched types
24 }
25 fn range_contra_val<'a, 'new>(v: RangeMut<'a, (), &'new ()>) -> RangeMut<'a, (), &'static ()> {
26 v //~ ERROR mismatched types
27 }
28
29 fn occ_cov_key<'a, 'new>(v: OccupiedEntry<'a, &'static (), ()>)
30 -> OccupiedEntry<'a, &'new (), ()> {
31 v //~ ERROR mismatched types
32 }
33 fn occ_cov_val<'a, 'new>(v: OccupiedEntry<'a, (), &'static ()>)
34 -> OccupiedEntry<'a, (), &'new ()> {
35 v //~ ERROR mismatched types
36 }
37 fn occ_contra_key<'a, 'new>(v: OccupiedEntry<'a, &'new (), ()>)
38 -> OccupiedEntry<'a, &'static (), ()> {
39 v //~ ERROR mismatched types
40 }
41 fn occ_contra_val<'a, 'new>(v: OccupiedEntry<'a, (), &'new ()>)
42 -> OccupiedEntry<'a, (), &'static ()> {
43 v //~ ERROR mismatched types
44 }
45
46 fn vac_cov_key<'a, 'new>(v: VacantEntry<'a, &'static (), ()>)
47 -> VacantEntry<'a, &'new (), ()> {
48 v //~ ERROR mismatched types
49 }
50 fn vac_cov_val<'a, 'new>(v: VacantEntry<'a, (), &'static ()>)
51 -> VacantEntry<'a, (), &'new ()> {
52 v //~ ERROR mismatched types
53 }
54 fn vac_contra_key<'a, 'new>(v: VacantEntry<'a, &'new (), ()>)
55 -> VacantEntry<'a, &'static (), ()> {
56 v //~ ERROR mismatched types
57 }
58 fn vac_contra_val<'a, 'new>(v: VacantEntry<'a, (), &'new ()>)
59 -> VacantEntry<'a, (), &'static ()> {
60 v //~ ERROR mismatched types
61 }
62
63
64 fn main() { }