@@ -288,31 +288,31 @@ enum ImplTraitPosition {
288
288
impl std:: fmt:: Display for ImplTraitPosition {
289
289
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
290
290
let name = match self {
291
- ImplTraitPosition :: Path => "path " ,
292
- ImplTraitPosition :: Variable => "variable binding " ,
293
- ImplTraitPosition :: Trait => "trait " ,
294
- ImplTraitPosition :: AsyncBlock => "async block " ,
295
- ImplTraitPosition :: Bound => "bound " ,
296
- ImplTraitPosition :: Generic => "generic " ,
297
- ImplTraitPosition :: ExternFnParam => "`extern fn` param " ,
298
- ImplTraitPosition :: ClosureParam => "closure param " ,
299
- ImplTraitPosition :: PointerParam => "`fn` pointer param " ,
300
- ImplTraitPosition :: FnTraitParam => "`Fn` trait param " ,
301
- ImplTraitPosition :: TraitParam => "trait method param " ,
302
- ImplTraitPosition :: ImplParam => "`impl` method param " ,
303
- ImplTraitPosition :: ExternFnReturn => "`extern fn` return" ,
304
- ImplTraitPosition :: ClosureReturn => "closure return" ,
305
- ImplTraitPosition :: PointerReturn => "`fn` pointer return" ,
306
- ImplTraitPosition :: FnTraitReturn => "`Fn` trait return" ,
307
- ImplTraitPosition :: TraitReturn => "trait method return" ,
308
- ImplTraitPosition :: ImplReturn => "`impl` method return" ,
309
- ImplTraitPosition :: GenericDefault => "generic parameter default " ,
310
- ImplTraitPosition :: ConstTy => "const type " ,
311
- ImplTraitPosition :: StaticTy => "static type " ,
312
- ImplTraitPosition :: AssocTy => "associated type " ,
313
- ImplTraitPosition :: FieldTy => "field type " ,
314
- ImplTraitPosition :: Cast => "cast type " ,
315
- ImplTraitPosition :: ImplSelf => "impl header " ,
291
+ ImplTraitPosition :: Path => "paths " ,
292
+ ImplTraitPosition :: Variable => "variable bindings " ,
293
+ ImplTraitPosition :: Trait => "traits " ,
294
+ ImplTraitPosition :: AsyncBlock => "async blocks " ,
295
+ ImplTraitPosition :: Bound => "bounds " ,
296
+ ImplTraitPosition :: Generic => "generics " ,
297
+ ImplTraitPosition :: ExternFnParam => "`extern fn` params " ,
298
+ ImplTraitPosition :: ClosureParam => "closure params " ,
299
+ ImplTraitPosition :: PointerParam => "`fn` pointer params " ,
300
+ ImplTraitPosition :: FnTraitParam => "`Fn` trait params " ,
301
+ ImplTraitPosition :: TraitParam => "trait method params " ,
302
+ ImplTraitPosition :: ImplParam => "`impl` method params " ,
303
+ ImplTraitPosition :: ExternFnReturn => "`extern fn` return types " ,
304
+ ImplTraitPosition :: ClosureReturn => "closure return types " ,
305
+ ImplTraitPosition :: PointerReturn => "`fn` pointer return types " ,
306
+ ImplTraitPosition :: FnTraitReturn => "`Fn` trait return types " ,
307
+ ImplTraitPosition :: TraitReturn => "trait method return types " ,
308
+ ImplTraitPosition :: ImplReturn => "`impl` method return types " ,
309
+ ImplTraitPosition :: GenericDefault => "generic parameter defaults " ,
310
+ ImplTraitPosition :: ConstTy => "const types " ,
311
+ ImplTraitPosition :: StaticTy => "static types " ,
312
+ ImplTraitPosition :: AssocTy => "associated types " ,
313
+ ImplTraitPosition :: FieldTy => "field types " ,
314
+ ImplTraitPosition :: Cast => "cast types " ,
315
+ ImplTraitPosition :: ImplSelf => "impl headers " ,
316
316
} ;
317
317
318
318
write ! ( f, "{name}" )
@@ -1038,12 +1038,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
1038
1038
// fn foo(x: dyn Iterator<Item = impl Debug>)
1039
1039
ImplTraitContext :: Universal if self . is_in_dyn_type => DesugarKind :: ImplTrait ,
1040
1040
1041
- // In `type Foo = dyn Iterator<Item: Debug>` we desugar to
1042
- // `type Foo = dyn Iterator<Item = impl Debug>` but we have to override the
1043
- // "impl trait context" to permit `impl Debug` in this position (it desugars
1044
- // then to an opaque type).
1045
- //
1046
- // FIXME: this is only needed until `impl Trait` is allowed in type aliases.
1047
1041
ImplTraitContext :: Disallowed ( position) if self . is_in_dyn_type => {
1048
1042
DesugarKind :: Error ( position)
1049
1043
}
0 commit comments