diff options
author | David Tolnay <dtolnay@gmail.com> | 2020-11-01 23:22:12 -0800 |
---|---|---|
committer | David Tolnay <dtolnay@gmail.com> | 2020-11-01 23:51:41 -0800 |
commit | 7b0e510029beca0b255267470c8f2123520db0d3 (patch) | |
tree | ee918d3c69c4c4f3bd27371bc9f8f6a4ce235555 /gen/src/nested.rs | |
parent | 90b133b5532a29b99a887fcad2f9327956079bcd (diff) | |
download | cxx-7b0e510029beca0b255267470c8f2123520db0d3.tar.gz |
Omit namespaces containing no forward declarations
Diffstat (limited to 'gen/src/nested.rs')
-rw-r--r-- | gen/src/nested.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gen/src/nested.rs b/gen/src/nested.rs index 8a1dd6d6..0a8816c6 100644 --- a/gen/src/nested.rs +++ b/gen/src/nested.rs @@ -1,7 +1,6 @@ use crate::syntax::Api; use proc_macro2::Ident; use std::collections::HashMap as Map; -use std::iter::FromIterator; pub struct NamespaceEntries<'a> { direct: Vec<&'a Api>, @@ -9,9 +8,8 @@ pub struct NamespaceEntries<'a> { } impl<'a> NamespaceEntries<'a> { - pub fn new(apis: &'a [Api]) -> Self { - let api_refs = Vec::from_iter(apis); - sort_by_inner_namespace(api_refs, 0) + pub fn new(apis: Vec<&'a Api>) -> Self { + sort_by_inner_namespace(apis, 0) } pub fn direct_content(&self) -> &[&'a Api] { @@ -56,6 +54,7 @@ mod tests { use crate::syntax::namespace::Namespace; use crate::syntax::{Api, Doc, ExternType, Pair}; use proc_macro2::{Ident, Span}; + use std::iter::FromIterator; use syn::Token; #[test] @@ -73,7 +72,7 @@ mod tests { make_api(Some("D"), "J"), ]; - let root = NamespaceEntries::new(apis); + let root = NamespaceEntries::new(Vec::from_iter(apis)); // :: let root_direct = root.direct_content(); |