Skip to content

Commit e0ca632

Browse files
committed
automatically allow non rust naming conventions
1 parent 5982cd3 commit e0ca632

21 files changed

+34
-3
lines changed

src/codegen/helpers.rs

+4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ pub mod attributes {
1010
use aster;
1111
use syntax::ast;
1212

13+
pub fn allow(which_ones: &[&str]) -> ast::Attribute {
14+
aster::AstBuilder::new().attr().list("allow").words(which_ones).build()
15+
}
16+
1317
pub fn repr(which: &str) -> ast::Attribute {
1418
aster::AstBuilder::new().attr().list("repr").words(&[which]).build()
1519
}

src/codegen/mod.rs

+11-3
Original file line numberDiff line numberDiff line change
@@ -403,10 +403,18 @@ impl CodeGenerator for Module {
403403
});
404404

405405
let name = item.canonical_name(ctx);
406-
let item = aster::AstBuilder::new()
406+
let item_builder = aster::AstBuilder::new()
407407
.item()
408-
.pub_()
409-
.build_item_kind(name, module);
408+
.pub_();
409+
let item = if name == "root" {
410+
let attrs = &["non_snake_case",
411+
"non_camel_case_types",
412+
"non_upper_case_globals"];
413+
item_builder.with_attr(attributes::allow(attrs))
414+
.build_item_kind(name, module)
415+
} else {
416+
item_builder.build_item_kind(name, module)
417+
};
410418

411419
result.push(item);
412420
}

tests/expectations/tests/duplicated-namespaces-definitions.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/duplicated-namespaces.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/duplicated_constants_in_ns.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/inline_namespace.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/inline_namespace_conservative.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/inline_namespace_whitelist.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/issue-372.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/issue-410.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/issue-447.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/issue_311.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/module-whitelisted.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/namespace.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/nested_within_namespace.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/reparented_replacement.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/struct_typedef_ns.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/template_alias_namespace.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/union-in-ns.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[repr(C)]
910
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);

tests/expectations/tests/whitelist-namespaces-basic.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

tests/expectations/tests/whitelist-namespaces.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#![allow(non_snake_case)]
55

66

7+
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
78
pub mod root {
89
#[allow(unused_imports)]
910
use self::super::root;

0 commit comments

Comments
 (0)