@@ -79,15 +79,14 @@ pub use default_generic_args::P1;
79
79
pub use default_generic_args:: P2 ;
80
80
81
81
// @has user/type.A0.html
82
- // Ensure that we elide generic arguments that are alpha-equivalent to their respective
83
- // generic parameter (modulo substs) (#1):
84
- // @has - '//*[@class="rust item-decl"]//code' "Alpha"
82
+ // @has - '//*[@class="rust item-decl"]//code' "Alpha;"
85
83
pub use default_generic_args:: A0 ;
86
84
87
85
// @has user/type.A1.html
88
- // Ensure that we elide generic arguments that are alpha-equivalent to their respective
89
- // generic parameter (modulo substs) (#1):
90
- // @has - '//*[@class="rust item-decl"]//code' "Alpha"
86
+ // Demonstrates that we currently don't elide generic arguments that are alpha-equivalent to their
87
+ // respective generic parameter (after instantiation) for perf reasons (it would require us to
88
+ // create an inference context).
89
+ // @has - '//*[@class="rust item-decl"]//code' "Alpha<for<'arbitrary> fn(_: &'arbitrary ())>"
91
90
pub use default_generic_args:: A1 ;
92
91
93
92
// @has user/type.M0.html
@@ -97,8 +96,19 @@ pub use default_generic_args::A1;
97
96
// @has - '//*[@class="rust item-decl"]//code' "Multi<u64, ()>"
98
97
pub use default_generic_args:: M0 ;
99
98
100
- // @has user/type.F.html
101
- // FIXME: Ideally, we would elide `&'a ()` but `'a` is an escaping bound var which we can't reason
102
- // about at the moment since we don't keep track of bound vars.
103
- // @has - '//*[@class="rust item-decl"]//code' "dyn for<'a> Trait<'a, &'a ()>"
104
- pub use default_generic_args:: F ;
99
+ // @has user/type.D0.html
100
+ // @has - '//*[@class="rust item-decl"]//code' "dyn for<'a> Trait0<'a>"
101
+ pub use default_generic_args:: D0 ;
102
+
103
+ // Regression test for issue #119529.
104
+ // Check that we correctly elide def ty&const args inside trait object types.
105
+
106
+ // @has user/type.D1.html
107
+ // @has - '//*[@class="rust item-decl"]//code' "dyn Trait1<T>"
108
+ pub use default_generic_args:: D1 ;
109
+ // @has user/type.D2.html
110
+ // @has - '//*[@class="rust item-decl"]//code' "dyn Trait1<(), K>"
111
+ pub use default_generic_args:: D2 ;
112
+ // @has user/type.D3.html
113
+ // @has - '//*[@class="rust item-decl"]//code' "dyn Trait1;"
114
+ pub use default_generic_args:: D3 ;
0 commit comments