summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2017-03-09 15:38:53 -0800
committerGitHub <noreply@github.com>2017-03-09 15:38:53 -0800
commit1320efeb79d373acb8dd92fb2722732c251497d8 (patch)
tree31808e6a4fbf7c84331536a139a4a1179cd73437
parentecd9770147f6af15a704e2fea61450fea1b1c52f (diff)
parente0ca63263c144ef41975c5440812c9c6cde2be91 (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`.
-rw-r--r--src/codegen/helpers.rs4
-rw-r--r--src/codegen/mod.rs14
-rw-r--r--tests/expectations/tests/duplicated-namespaces-definitions.rs1
-rw-r--r--tests/expectations/tests/duplicated-namespaces.rs1
-rw-r--r--tests/expectations/tests/duplicated_constants_in_ns.rs1
-rw-r--r--tests/expectations/tests/inline_namespace.rs1
-rw-r--r--tests/expectations/tests/inline_namespace_conservative.rs1
-rw-r--r--tests/expectations/tests/inline_namespace_whitelist.rs1
-rw-r--r--tests/expectations/tests/issue-372.rs1
-rw-r--r--tests/expectations/tests/issue-410.rs1
-rw-r--r--tests/expectations/tests/issue-447.rs1
-rw-r--r--tests/expectations/tests/issue_311.rs1
-rw-r--r--tests/expectations/tests/module-whitelisted.rs1
-rw-r--r--tests/expectations/tests/namespace.rs1
-rw-r--r--tests/expectations/tests/nested_within_namespace.rs1
-rw-r--r--tests/expectations/tests/reparented_replacement.rs1
-rw-r--r--tests/expectations/tests/struct_typedef_ns.rs1
-rw-r--r--tests/expectations/tests/template_alias_namespace.rs1
-rw-r--r--tests/expectations/tests/union-in-ns.rs1
-rw-r--r--tests/expectations/tests/whitelist-namespaces-basic.rs1
-rw-r--r--tests/expectations/tests/whitelist-namespaces.rs1
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;