Skip to content

Commit 5f5cb14

Browse files
committed
minor cleanup
1 parent 708e019 commit 5f5cb14

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

trait-variant/src/variant.rs

+9-6
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ use syn::{
1515
parse_macro_input, parse_quote,
1616
punctuated::Punctuated,
1717
token::Plus,
18-
Error, FnArg, Ident, ItemTrait, Pat, PatType, Result, ReturnType, Signature, Token, TraitBound,
19-
TraitItem, TraitItemConst, TraitItemFn, TraitItemType, Type, TypeGenerics, TypeImplTrait,
20-
TypeParamBound,
18+
Error, FnArg, GenericParam, Ident, ItemTrait, Pat, PatType, Result, ReturnType, Signature,
19+
Token, TraitBound, TraitItem, TraitItemConst, TraitItemFn, TraitItemType, Type, TypeGenerics,
20+
TypeImplTrait, TypeParam, TypeParamBound,
2121
};
2222

2323
struct Attrs {
@@ -168,13 +168,16 @@ fn mk_blanket_impl(attrs: &Attrs, tr: &ItemTrait) -> TokenStream {
168168
.items
169169
.iter()
170170
.map(|item| blanket_impl_item(item, variant, orig_ty_generics));
171-
let mut blanket_generics = tr.generics.to_owned();
171+
let blanket_bound: TypeParam =
172+
parse_quote!(TraitVariantBlanketType: #variant #orig_ty_generics);
173+
let blanket = &blanket_bound.ident.clone();
174+
let mut blanket_generics = tr.generics.clone();
172175
blanket_generics
173176
.params
174-
.push(parse_quote!(TraitVariantBlanketType: #variant #orig_ty_generics));
177+
.push(GenericParam::Type(blanket_bound));
175178
let (blanket_impl_generics, _ty, blanket_where_clause) = &blanket_generics.split_for_impl();
176179
quote! {
177-
impl #blanket_impl_generics #orig #orig_ty_generics for TraitVariantBlanketType #blanket_where_clause
180+
impl #blanket_impl_generics #orig #orig_ty_generics for #blanket #blanket_where_clause
178181
{
179182
#(#items)*
180183
}

0 commit comments

Comments
 (0)