aboutsummaryrefslogtreecommitdiff
path: root/gen/src/nested.rs
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@gmail.com>2020-11-01 23:22:12 -0800
committerDavid Tolnay <dtolnay@gmail.com>2020-11-01 23:51:41 -0800
commit7b0e510029beca0b255267470c8f2123520db0d3 (patch)
treeee918d3c69c4c4f3bd27371bc9f8f6a4ce235555 /gen/src/nested.rs
parent90b133b5532a29b99a887fcad2f9327956079bcd (diff)
downloadcxx-7b0e510029beca0b255267470c8f2123520db0d3.tar.gz
Omit namespaces containing no forward declarations
Diffstat (limited to 'gen/src/nested.rs')
-rw-r--r--gen/src/nested.rs9
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();