@@ -39,14 +39,15 @@ fn add_ty_alias_where_clause(
3939 after_where_clause : & ast:: WhereClause ,
4040 prefer_first : bool ,
4141) {
42+ generics. where_clause . predicates . extend_from_slice ( & after_where_clause. predicates ) ;
43+
4244 let mut before = ( generics. where_clause . has_where_token , generics. where_clause . span ) ;
4345 let mut after = ( after_where_clause. has_where_token , after_where_clause. span ) ;
4446 if !prefer_first {
4547 ( before, after) = ( after, before) ;
4648 }
47- let where_clause = if before. 0 || !after. 0 { before } else { after } ;
48- generics. where_clause . has_where_token = where_clause. 0 ;
49- generics. where_clause . span = where_clause. 1 ;
49+ ( generics. where_clause . has_where_token , generics. where_clause . span ) =
50+ if before. 0 || !after. 0 { before } else { after } ;
5051}
5152
5253impl < ' a , ' hir > ItemLowerer < ' a , ' hir > {
@@ -279,7 +280,6 @@ impl<'hir> LoweringContext<'_, 'hir> {
279280 // opaque type Foo1: Trait
280281 let ident = self . lower_ident ( * ident) ;
281282 let mut generics = generics. clone ( ) ;
282- generics. where_clause . predicates . extend_from_slice ( & after_where_clause. predicates ) ;
283283 add_ty_alias_where_clause ( & mut generics, after_where_clause, true ) ;
284284 let ( generics, ty) = self . lower_generics (
285285 & generics,
@@ -907,7 +907,6 @@ impl<'hir> LoweringContext<'_, 'hir> {
907907 ..
908908 } ) => {
909909 let mut generics = generics. clone ( ) ;
910- generics. where_clause . predicates . extend_from_slice ( & after_where_clause. predicates ) ;
911910 add_ty_alias_where_clause ( & mut generics, after_where_clause, false ) ;
912911 let ( generics, kind) = self . lower_generics (
913912 & generics,
@@ -1078,7 +1077,6 @@ impl<'hir> LoweringContext<'_, 'hir> {
10781077 ident, generics, after_where_clause, ty, ..
10791078 } ) => {
10801079 let mut generics = generics. clone ( ) ;
1081- generics. where_clause . predicates . extend_from_slice ( & after_where_clause. predicates ) ;
10821080 add_ty_alias_where_clause ( & mut generics, after_where_clause, false ) ;
10831081 (
10841082 * ident,
0 commit comments