From 979f5aae9a078a54aec18d4a6cfe38f34322f534 Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Mon, 19 Jun 2017 14:01:46 -0700 Subject: Ensure that every item is in some module's children list Previously, if an item's parent was not a module (eg a nested class definition whose parent it the outer class definition) and the parent was not whitelisted but the item was transitively whitelisted, then we could generate uses of the item without emitting any definition for it. This could happen because we were relying on the outer type calling for code generation on its inner types, but that relies on us doing code generation for the outer type, which won't happen if the outer type is not whitelisted. This commit avoids this gotcha by ensuring that all items end up in a module's children list, and so will be code generated even if their parent is not whitelisted. Fixes #769 --- tests/headers/class_nested.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/headers/class_nested.hpp') diff --git a/tests/headers/class_nested.hpp b/tests/headers/class_nested.hpp index ccf2f895..208bc4be 100644 --- a/tests/headers/class_nested.hpp +++ b/tests/headers/class_nested.hpp @@ -31,6 +31,6 @@ class Templated { class Templated_inner { public: T* member_ptr; - void get() {} + void get(); }; }; -- cgit v1.2.3