summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2017-01-19 16:22:26 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2017-01-19 16:26:30 +0100
commite6a9291cb089da2a2b252f78658d125ffcd48802 (patch)
treeffc09e3094acf431f732bd7eae6a0005c2eb2fc2
parent01cb681c17003cea2af9d7e641f9b97ded4bfcc5 (diff)
ir: Fix the assert no danging items traversal to avoid getting hung on a cyclic reference caused by inner_const.hpp.
-rw-r--r--libbindgen/src/ir/context.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/libbindgen/src/ir/context.rs b/libbindgen/src/ir/context.rs
index c3de2ca8..4d20c053 100644
--- a/libbindgen/src/ir/context.rs
+++ b/libbindgen/src/ir/context.rs
@@ -1255,8 +1255,9 @@ impl<'ctx, 'gen> Iterator for AssertNoDanglingItemIter<'ctx, 'gen>
}
for sub_id in sub_types {
- if let Some(value) = self.seen.insert(id, sub_id) {
- self.to_iterate.push_back(value);
+ if self.seen.insert(sub_id, id).is_none() {
+ // We've never visited this sub item before.
+ self.to_iterate.push_back(sub_id);
}
}