Added required-nested-flatbuffer to monster_test and fixed rust (#6236)

Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
Casper
2020-11-05 13:58:06 -08:00
committed by GitHub
parent bc56c553ec
commit 46a8c7e958
21 changed files with 1047 additions and 542 deletions

View File

@@ -1302,13 +1302,21 @@ class RustGenerator : public BaseGenerator {
code_.SetValue("NESTED", WrapInNameSpace(*nested_root));
code_ +=
" pub fn {{FIELD_NAME}}_nested_flatbuffer(&'a self) -> "
"Option<{{NESTED}}<'a>> {";
code_ += " self.{{FIELD_NAME}}().map(|data| {";
code_ += " use flatbuffers::Follow;";
code_ += " <flatbuffers::ForwardsUOffset<{{NESTED}}<'a>>>"
"::follow(data, 0)";
code_ += " })";
" pub fn {{FIELD_NAME}}_nested_flatbuffer(&'a self) -> \\";
if (field.required) {
code_ += "{{NESTED}}<'a> {";
code_ += " let data = self.{{FIELD_NAME}}();";
code_ += " use flatbuffers::Follow;";
code_ += " <flatbuffers::ForwardsUOffset<{{NESTED}}<'a>>>"
"::follow(data, 0)";
} else {
code_ += "Option<{{NESTED}}<'a>> {";
code_ += " self.{{FIELD_NAME}}().map(|data| {";
code_ += " use flatbuffers::Follow;";
code_ += " <flatbuffers::ForwardsUOffset<{{NESTED}}<'a>>>"
"::follow(data, 0)";
code_ += " })";
}
code_ += " }";
}
});