1extern crate proc_macro;
2
3mod attribute;
4mod uniform;
5
6use ::syn::{GenericParam, Generics, TypeParamBound};
7fn add_trait_bounds(mut generics: Generics, params: Vec<TypeParamBound>) -> Generics {
8 for param in &mut generics.params {
9 if let GenericParam::Type(ref mut type_param) = *param {
10 for param in ¶ms{
11 type_param.bounds.push(param.clone());
12 }
13 }
14 }
15 generics
16}
17use ::proc_macro::TokenStream;
18
19#[proc_macro_derive(ToUniform)]
21pub fn gl_to_uniform(input: TokenStream) -> TokenStream {
22 uniform::gl_to_uniform(input)
23}
24#[proc_macro_derive(ToAttribute)]
26pub fn gl_to_attribute(input: TokenStream) -> TokenStream {
27 attribute::gl_to_attribute(input)
28}