diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-03-09 15:38:53 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-09 15:38:53 -0800 |
commit | 1320efeb79d373acb8dd92fb2722732c251497d8 (patch) | |
tree | 31808e6a4fbf7c84331536a139a4a1179cd73437 | |
parent | ecd9770147f6af15a704e2fea61450fea1b1c52f (diff) | |
parent | e0ca63263c144ef41975c5440812c9c6cde2be91 (diff) |
Auto merge of #565 - framlog:master, r=fitzgen
automatically allow non rust naming conventions
+ related issue: #562
I just added those attributes at the root mod. And I'm not sure whether it should be better if we could set this setting in `build.rs`.
21 files changed, 34 insertions, 3 deletions
diff --git a/src/codegen/helpers.rs b/src/codegen/helpers.rs index 06dadab0..811d87c5 100644 --- a/src/codegen/helpers.rs +++ b/src/codegen/helpers.rs @@ -10,6 +10,10 @@ pub mod attributes { use aster; use syntax::ast; + pub fn allow(which_ones: &[&str]) -> ast::Attribute { + aster::AstBuilder::new().attr().list("allow").words(which_ones).build() + } + pub fn repr(which: &str) -> ast::Attribute { aster::AstBuilder::new().attr().list("repr").words(&[which]).build() } diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index 28bab1c7..2e404a5c 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -399,10 +399,18 @@ impl CodeGenerator for Module { }); let name = item.canonical_name(ctx); - let item = aster::AstBuilder::new() + let item_builder = aster::AstBuilder::new() .item() - .pub_() - .build_item_kind(name, module); + .pub_(); + let item = if name == "root" { + let attrs = &["non_snake_case", + "non_camel_case_types", + "non_upper_case_globals"]; + item_builder.with_attr(attributes::allow(attrs)) + .build_item_kind(name, module) + } else { + item_builder.build_item_kind(name, module) + }; result.push(item); } diff --git a/tests/expectations/tests/duplicated-namespaces-definitions.rs b/tests/expectations/tests/duplicated-namespaces-definitions.rs index 196cfc46..faba454d 100644 --- a/tests/expectations/tests/duplicated-namespaces-definitions.rs +++ b/tests/expectations/tests/duplicated-namespaces-definitions.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/duplicated-namespaces.rs b/tests/expectations/tests/duplicated-namespaces.rs index 42976657..7416dad9 100644 --- a/tests/expectations/tests/duplicated-namespaces.rs +++ b/tests/expectations/tests/duplicated-namespaces.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/duplicated_constants_in_ns.rs b/tests/expectations/tests/duplicated_constants_in_ns.rs index 3721740c..226765b6 100644 --- a/tests/expectations/tests/duplicated_constants_in_ns.rs +++ b/tests/expectations/tests/duplicated_constants_in_ns.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/inline_namespace.rs b/tests/expectations/tests/inline_namespace.rs index 8f2243ba..d62fb862 100644 --- a/tests/expectations/tests/inline_namespace.rs +++ b/tests/expectations/tests/inline_namespace.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/inline_namespace_conservative.rs b/tests/expectations/tests/inline_namespace_conservative.rs index 7cf7c264..267f28cf 100644 --- a/tests/expectations/tests/inline_namespace_conservative.rs +++ b/tests/expectations/tests/inline_namespace_conservative.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/inline_namespace_whitelist.rs b/tests/expectations/tests/inline_namespace_whitelist.rs index d3a9d958..d4a5aaff 100644 --- a/tests/expectations/tests/inline_namespace_whitelist.rs +++ b/tests/expectations/tests/inline_namespace_whitelist.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/issue-372.rs b/tests/expectations/tests/issue-372.rs index 1693f46a..3f4592f3 100644 --- a/tests/expectations/tests/issue-372.rs +++ b/tests/expectations/tests/issue-372.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/issue-410.rs b/tests/expectations/tests/issue-410.rs index 3c6cd280..1f624fec 100644 --- a/tests/expectations/tests/issue-410.rs +++ b/tests/expectations/tests/issue-410.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/issue-447.rs b/tests/expectations/tests/issue-447.rs index 7ac9d714..619a17b8 100644 --- a/tests/expectations/tests/issue-447.rs +++ b/tests/expectations/tests/issue-447.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/issue_311.rs b/tests/expectations/tests/issue_311.rs index 6576b8b5..0510f1c1 100644 --- a/tests/expectations/tests/issue_311.rs +++ b/tests/expectations/tests/issue_311.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/module-whitelisted.rs b/tests/expectations/tests/module-whitelisted.rs index cb6dd6a6..0f4d54b3 100644 --- a/tests/expectations/tests/module-whitelisted.rs +++ b/tests/expectations/tests/module-whitelisted.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/namespace.rs b/tests/expectations/tests/namespace.rs index dda4cd26..21b5a58b 100644 --- a/tests/expectations/tests/namespace.rs +++ b/tests/expectations/tests/namespace.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/nested_within_namespace.rs b/tests/expectations/tests/nested_within_namespace.rs index cb6eead3..c5144657 100644 --- a/tests/expectations/tests/nested_within_namespace.rs +++ b/tests/expectations/tests/nested_within_namespace.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/reparented_replacement.rs b/tests/expectations/tests/reparented_replacement.rs index 6965f767..93cd3012 100644 --- a/tests/expectations/tests/reparented_replacement.rs +++ b/tests/expectations/tests/reparented_replacement.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/struct_typedef_ns.rs b/tests/expectations/tests/struct_typedef_ns.rs index d7ada7fd..0f078e6f 100644 --- a/tests/expectations/tests/struct_typedef_ns.rs +++ b/tests/expectations/tests/struct_typedef_ns.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/template_alias_namespace.rs b/tests/expectations/tests/template_alias_namespace.rs index dd4add40..90740a2d 100644 --- a/tests/expectations/tests/template_alias_namespace.rs +++ b/tests/expectations/tests/template_alias_namespace.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/union-in-ns.rs b/tests/expectations/tests/union-in-ns.rs index 208b6283..e5aeb368 100644 --- a/tests/expectations/tests/union-in-ns.rs +++ b/tests/expectations/tests/union-in-ns.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[repr(C)] pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>); diff --git a/tests/expectations/tests/whitelist-namespaces-basic.rs b/tests/expectations/tests/whitelist-namespaces-basic.rs index ba96895b..6a1e9029 100644 --- a/tests/expectations/tests/whitelist-namespaces-basic.rs +++ b/tests/expectations/tests/whitelist-namespaces-basic.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; diff --git a/tests/expectations/tests/whitelist-namespaces.rs b/tests/expectations/tests/whitelist-namespaces.rs index 5e47c9d6..0c6cc4b6 100644 --- a/tests/expectations/tests/whitelist-namespaces.rs +++ b/tests/expectations/tests/whitelist-namespaces.rs @@ -4,6 +4,7 @@ #![allow(non_snake_case)] +#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; |