[Rust] Ensure unions are referenced with the correct path (#6422)

* Add codegen test for namespaced unions

* [Rust] Handle cross-namespace union use

* [Rust] Test namespace handling

* [Rust] Drop trailing whitespace in codegen

* [Rust] Set flags in generate_code.bat to match .sh

* [C#] Add additional namespace test file
This commit is contained in:
William Bain
2021-01-25 12:33:47 -05:00
committed by GitHub
parent e581013e3d
commit efcbdc7698
32 changed files with 1448 additions and 57 deletions

View File

@@ -498,7 +498,7 @@ impl Default for AnyT {
}
}
impl AnyT {
fn any_type(&self) -> Any {
pub fn any_type(&self) -> Any {
match self {
Self::NONE => Any::NONE,
Self::Monster(_) => Any::Monster,
@@ -686,7 +686,7 @@ impl Default for AnyUniqueAliasesT {
}
}
impl AnyUniqueAliasesT {
fn any_unique_aliases_type(&self) -> AnyUniqueAliases {
pub fn any_unique_aliases_type(&self) -> AnyUniqueAliases {
match self {
Self::NONE => AnyUniqueAliases::NONE,
Self::M(_) => AnyUniqueAliases::M,
@@ -874,7 +874,7 @@ impl Default for AnyAmbiguousAliasesT {
}
}
impl AnyAmbiguousAliasesT {
fn any_ambiguous_aliases_type(&self) -> AnyAmbiguousAliases {
pub fn any_ambiguous_aliases_type(&self) -> AnyAmbiguousAliases {
match self {
Self::NONE => AnyAmbiguousAliases::NONE,
Self::M1(_) => AnyAmbiguousAliases::M1,
@@ -3004,7 +3004,7 @@ impl std::fmt::Debug for Monster<'_> {
ds.field("test", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
_ => {
_ => {
let x: Option<()> = None;
ds.field("test", &x)
},
@@ -3066,7 +3066,7 @@ impl std::fmt::Debug for Monster<'_> {
ds.field("any_unique", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
_ => {
_ => {
let x: Option<()> = None;
ds.field("any_unique", &x)
},
@@ -3094,7 +3094,7 @@ impl std::fmt::Debug for Monster<'_> {
ds.field("any_ambiguous", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
_ => {
_ => {
let x: Option<()> = None;
ds.field("any_ambiguous", &x)
},