diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 13 | 
1 files changed, 13 insertions, 0 deletions
| @@ -104,6 +104,19 @@ pub fn dynamize(_attr: TokenStream, input: TokenStream) -> TokenStream {      let mut blanket_impl_attrs = Vec::new();      let mut dyn_trait_attrs = Vec::new(); +    // just to provide a better error message +    for bound in trait_bounds(&original_trait.supertraits) { +        if let Some(assoc_type) = iter_path(&bound.path) +            .filter_map(filter_map_assoc_paths) +            .next() +        { +            return abort!( +                assoc_type.span(), +                "dynamize does not support associated types in supertraits" +            ); +        } +    } +      // FUTURE: use Vec::drain_filter once it's stable      let mut i = 0;      while i < original_trait.attrs.len() { | 
