]> git.lizzy.rs Git - rust.git/blob - src/test/ui/variance/variance-btree-invariant-types.rs
Rollup merge of #86424 - calebcartwright:rustfmt-mod-resolution, r=Mark-Simulacrum
[rust.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() { }