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

`>,

`