diff --git a/src/idl_parser.cpp b/src/idl_parser.cpp index 4fb29eac8..213357d70 100644 --- a/src/idl_parser.cpp +++ b/src/idl_parser.cpp @@ -2216,6 +2216,9 @@ CheckedError Parser::DoParse(const char *source, name.c_str())); // We generally do not want to output code for any included files: if (!opts.generate_all) MarkGenerated(); + // Reset root type just in case the included file had one, and the + // parent doesn't. + root_struct_def_ = nullptr; // This is the easiest way to continue this file after an include: // instead of saving and restoring all the state, we simply start the // file anew. This will cause it to encounter the same include