Expose Pair construction only from differing idents
diff --git a/syntax/names.rs b/syntax/names.rs
index 586c017..4aed656 100644
--- a/syntax/names.rs
+++ b/syntax/names.rs
@@ -3,27 +3,11 @@
use std::iter;
impl Pair {
- // Use this constructor when the item can't have a different name in Rust
- // and C++.
- pub fn new(namespace: Namespace, ident: Ident) -> Self {
+ pub fn new(namespace: Namespace, cxx: Ident, rust: Ident) -> Self {
Self {
namespace,
- cxx: ident.clone(),
- rust: ident,
- }
- }
-
- // Use this constructor when attributes such as #[rust_name] can be used to
- // potentially give a different name in Rust vs C++.
- pub fn new_from_differing_names(
- namespace: Namespace,
- cxx_ident: Ident,
- rust_ident: Ident,
- ) -> Self {
- Self {
- namespace,
- cxx: cxx_ident,
- rust: rust_ident,
+ cxx,
+ rust,
}
}
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 4b3e435..e6cfd04 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -106,7 +106,7 @@
doc,
derives,
struct_token: item.struct_token,
- name: Pair::new(namespace, item.ident),
+ name: Pair::new(namespace, item.ident.clone(), item.ident),
brace_token: named_fields.brace_token,
fields,
}))
@@ -192,7 +192,7 @@
doc,
derives,
enum_token,
- name: Pair::new(namespace, item.ident),
+ name: Pair::new(namespace, item.ident.clone(), item.ident),
brace_token,
variants,
repr,
@@ -351,7 +351,7 @@
doc,
derives,
type_token,
- name: Pair::new(namespace, ident),
+ name: Pair::new(namespace, ident.clone(), ident),
colon_token: None,
bounds: Vec::new(),
semi_token,
@@ -483,7 +483,7 @@
let throws = throws_tokens.is_some();
let unsafety = foreign_fn.sig.unsafety;
let fn_token = foreign_fn.sig.fn_token;
- let name = Pair::new_from_differing_names(
+ let name = Pair::new(
namespace,
cxx_name.unwrap_or(foreign_fn.sig.ident.clone()),
rust_name.unwrap_or(foreign_fn.sig.ident.clone()),
@@ -586,7 +586,7 @@
doc,
derives,
type_token,
- name: Pair::new(namespace, ident),
+ name: Pair::new(namespace, ident.clone(), ident),
eq_token,
ty,
semi_token,
@@ -658,7 +658,7 @@
doc,
derives,
type_token,
- name: Pair::new(namespace, ident),
+ name: Pair::new(namespace, ident.clone(), ident),
colon_token: Some(colon_token),
bounds,
semi_token,