Print the generic parameter along with the variance in dumps. · rust-lang/rust@6cf0bc0 (original) (raw)
`@@ -5,21 +5,21 @@
`
5
5
`trait Captures<'a> {}
`
6
6
`impl Captures<'_> for T {}
`
7
7
``
8
``
`-
type NotCapturedEarly<'a> = impl Sized; //~ [*, o]
`
``
8
`+
type NotCapturedEarly<'a> = impl Sized; //~ ['a: *, 'a: o]
`
9
9
`//~^ ERROR: unconstrained opaque type
`
10
10
``
11
``
`-
type CapturedEarly<'a> = impl Sized + Captures<'a>; //~ [*, o]
`
``
11
`+
type CapturedEarly<'a> = impl Sized + Captures<'a>; //~ ['a: *, 'a: o]
`
12
12
`//~^ ERROR: unconstrained opaque type
`
13
13
``
14
``
`-
type NotCapturedLate<'a> = dyn for<'b> Iterator<Item = impl Sized>; //~ [*, o, o]
`
``
14
`+
type NotCapturedLate<'a> = dyn for<'b> Iterator<Item = impl Sized>; //~ ['a: *, 'b: o, 'a: o]
`
15
15
`` //~^ ERROR impl Trait
cannot capture higher-ranked lifetime from dyn
type
``
16
16
`//~| ERROR: unconstrained opaque type
`
17
17
``
18
``
`-
type Captured<'a> = dyn for<'b> Iterator<Item = impl Sized + Captures<'a>>; //~ [*, o, o]
`
``
18
`+
type Captured<'a> = dyn for<'b> Iterator<Item = impl Sized + Captures<'a>>; //~ ['a: *, 'b: o, 'a: o]
`
19
19
`` //~^ ERROR impl Trait
cannot capture higher-ranked lifetime from dyn
type
``
20
20
`//~| ERROR: unconstrained opaque type
`
21
21
``
22
``
`-
type Bar<'a, 'b: 'b, T> = impl Sized; //~ ERROR [*, *, o, o, o]
`
``
22
`+
type Bar<'a, 'b: 'b, T> = impl Sized; //~ ERROR ['a: *, 'b: *, T: o, 'a: o, 'b: o]
`
23
23
`//~^ ERROR: unconstrained opaque type
`
24
24
``
25
25
`trait Foo<'i> {
`
`@@ -31,24 +31,24 @@ trait Foo<'i> {
`
31
31
`}
`
32
32
``
33
33
`impl<'i> Foo<'i> for &'i () {
`
34
``
`-
type ImplicitCapture<'a> = impl Sized; //~ [*, *, o, o]
`
``
34
`+
type ImplicitCapture<'a> = impl Sized; //~ ['i: *, 'a: *, 'a: o, 'i: o]
`
35
35
`//~^ ERROR: unconstrained opaque type
`
36
36
``
37
``
`-
type ExplicitCaptureFromHeader<'a> = impl Sized + Captures<'i>; //~ [*, *, o, o]
`
``
37
`+
type ExplicitCaptureFromHeader<'a> = impl Sized + Captures<'i>; //~ ['i: *, 'a: *, 'a: o, 'i: o]
`
38
38
`//~^ ERROR: unconstrained opaque type
`
39
39
``
40
``
`-
type ExplicitCaptureFromGat<'a> = impl Sized + Captures<'a>; //~ [*, *, o, o]
`
``
40
`+
type ExplicitCaptureFromGat<'a> = impl Sized + Captures<'a>; //~ ['i: *, 'a: *, 'a: o, 'i: o]
`
41
41
`//~^ ERROR: unconstrained opaque type
`
42
42
`}
`
43
43
``
44
44
`impl<'i> Foo<'i> for () {
`
45
``
`-
type ImplicitCapture<'a> = impl Sized; //~ [*, *, o, o]
`
``
45
`+
type ImplicitCapture<'a> = impl Sized; //~ ['i: *, 'a: *, 'a: o, 'i: o]
`
46
46
`//~^ ERROR: unconstrained opaque type
`
47
47
``
48
``
`-
type ExplicitCaptureFromHeader<'a> = impl Sized + Captures<'i>; //~ [*, *, o, o]
`
``
48
`+
type ExplicitCaptureFromHeader<'a> = impl Sized + Captures<'i>; //~ ['i: *, 'a: *, 'a: o, 'i: o]
`
49
49
`//~^ ERROR: unconstrained opaque type
`
50
50
``
51
``
`-
type ExplicitCaptureFromGat<'a> = impl Sized + Captures<'a>; //~ [*, *, o, o]
`
``
51
`+
type ExplicitCaptureFromGat<'a> = impl Sized + Captures<'a>; //~ ['i: *, 'a: *, 'a: o, 'i: o]
`
52
52
`//~^ ERROR: unconstrained opaque type
`
53
53
`}
`
54
54
``
`@@ -59,15 +59,15 @@ impl<'a> Nesting<'a> for &'a () {
`
59
59
`type Output = &'a ();
`
60
60
`}
`
61
61
`type NestedDeeply<'a> =
`
62
``
`-
impl Nesting< //~ [*, o]
`
``
62
`+
impl Nesting< //~ ['a: *, 'a: o]
`
63
63
`'a,
`
64
``
`-
Output = impl Nesting< //~ [*, o]
`
``
64
`+
Output = impl Nesting< //~ ['a: *, 'a: o]
`
65
65
`'a,
`
66
``
`-
Output = impl Nesting< //~ [*, o]
`
``
66
`+
Output = impl Nesting< //~ ['a: *, 'a: o]
`
67
67
`'a,
`
68
``
`-
Output = impl Nesting< //~ [*, o]
`
``
68
`+
Output = impl Nesting< //~ ['a: *, 'a: o]
`
69
69
`'a,
`
70
``
`-
Output = impl Nesting<'a> //~ [*, o]
`
``
70
`+
Output = impl Nesting<'a> //~ ['a: *, 'a: o]
`
71
71
`>
`
72
72
`>,
`
73
73
`>,
`