Skip to content

Commit 7b1bf8f

Browse files
committed
Improves Rust code generation
1 parent 159b0eb commit 7b1bf8f

File tree

92 files changed

+3068
-3769
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+3068
-3769
lines changed

samples/rust_generated/my_game/sample/color_generated.rs

+11-19
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
// automatically generated by the FlatBuffers compiler, do not modify
22
// @generated
33
extern crate alloc;
4-
extern crate flatbuffers;
5-
use alloc::boxed::Box;
6-
use alloc::string::{String, ToString};
7-
use alloc::vec::Vec;
8-
use core::mem;
9-
use core::cmp::Ordering;
10-
use self::flatbuffers::{EndianScalar, Follow};
114
use super::*;
125
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
136
pub const ENUM_MIN_COLOR: i8 = 0;
@@ -47,33 +40,33 @@ impl Color {
4740
}
4841
}
4942
}
50-
impl core::fmt::Debug for Color {
51-
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
43+
impl ::core::fmt::Debug for Color {
44+
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
5245
if let Some(name) = self.variant_name() {
5346
f.write_str(name)
5447
} else {
5548
f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5649
}
5750
}
5851
}
59-
impl<'a> flatbuffers::Follow<'a> for Color {
52+
impl<'a> ::flatbuffers::Follow<'a> for Color {
6053
type Inner = Self;
6154
#[inline]
6255
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
63-
let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
56+
let b = ::flatbuffers::read_scalar_at::<i8>(buf, loc);
6457
Self(b)
6558
}
6659
}
6760

68-
impl flatbuffers::Push for Color {
61+
impl ::flatbuffers::Push for Color {
6962
type Output = Color;
7063
#[inline]
7164
unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
72-
flatbuffers::emplace_scalar::<i8>(dst, self.0);
65+
::flatbuffers::emplace_scalar::<i8>(dst, self.0);
7366
}
7467
}
7568

76-
impl flatbuffers::EndianScalar for Color {
69+
impl ::flatbuffers::EndianScalar for Color {
7770
type Scalar = i8;
7871
#[inline]
7972
fn to_little_endian(self) -> i8 {
@@ -87,14 +80,13 @@ impl flatbuffers::EndianScalar for Color {
8780
}
8881
}
8982

90-
impl<'a> flatbuffers::Verifiable for Color {
83+
impl<'a> ::flatbuffers::Verifiable for Color {
9184
#[inline]
9285
fn run_verifier(
93-
v: &mut flatbuffers::Verifier, pos: usize
94-
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
95-
use self::flatbuffers::Verifiable;
86+
v: &mut ::flatbuffers::Verifier, pos: usize
87+
) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
9688
i8::run_verifier(v, pos)
9789
}
9890
}
9991

100-
impl flatbuffers::SimpleToVerifyInSlice for Color {}
92+
impl ::flatbuffers::SimpleToVerifyInSlice for Color {}

samples/rust_generated/my_game/sample/equipment_generated.rs

+15-23
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
// automatically generated by the FlatBuffers compiler, do not modify
22
// @generated
33
extern crate alloc;
4-
extern crate flatbuffers;
5-
use alloc::boxed::Box;
6-
use alloc::string::{String, ToString};
7-
use alloc::vec::Vec;
8-
use core::mem;
9-
use core::cmp::Ordering;
10-
use self::flatbuffers::{EndianScalar, Follow};
114
use super::*;
125
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
136
pub const ENUM_MIN_EQUIPMENT: u8 = 0;
@@ -43,33 +36,33 @@ impl Equipment {
4336
}
4437
}
4538
}
46-
impl core::fmt::Debug for Equipment {
47-
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
39+
impl ::core::fmt::Debug for Equipment {
40+
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
4841
if let Some(name) = self.variant_name() {
4942
f.write_str(name)
5043
} else {
5144
f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5245
}
5346
}
5447
}
55-
impl<'a> flatbuffers::Follow<'a> for Equipment {
48+
impl<'a> ::flatbuffers::Follow<'a> for Equipment {
5649
type Inner = Self;
5750
#[inline]
5851
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
59-
let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
52+
let b = ::flatbuffers::read_scalar_at::<u8>(buf, loc);
6053
Self(b)
6154
}
6255
}
6356

64-
impl flatbuffers::Push for Equipment {
57+
impl ::flatbuffers::Push for Equipment {
6558
type Output = Equipment;
6659
#[inline]
6760
unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
68-
flatbuffers::emplace_scalar::<u8>(dst, self.0);
61+
::flatbuffers::emplace_scalar::<u8>(dst, self.0);
6962
}
7063
}
7164

72-
impl flatbuffers::EndianScalar for Equipment {
65+
impl ::flatbuffers::EndianScalar for Equipment {
7366
type Scalar = u8;
7467
#[inline]
7568
fn to_little_endian(self) -> u8 {
@@ -83,25 +76,24 @@ impl flatbuffers::EndianScalar for Equipment {
8376
}
8477
}
8578

86-
impl<'a> flatbuffers::Verifiable for Equipment {
79+
impl<'a> ::flatbuffers::Verifiable for Equipment {
8780
#[inline]
8881
fn run_verifier(
89-
v: &mut flatbuffers::Verifier, pos: usize
90-
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
91-
use self::flatbuffers::Verifiable;
82+
v: &mut ::flatbuffers::Verifier, pos: usize
83+
) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
9284
u8::run_verifier(v, pos)
9385
}
9486
}
9587

96-
impl flatbuffers::SimpleToVerifyInSlice for Equipment {}
88+
impl ::flatbuffers::SimpleToVerifyInSlice for Equipment {}
9789
pub struct EquipmentUnionTableOffset {}
9890

9991
#[allow(clippy::upper_case_acronyms)]
10092
#[non_exhaustive]
10193
#[derive(Debug, Clone, PartialEq)]
10294
pub enum EquipmentT {
10395
NONE,
104-
Weapon(Box<WeaponT>),
96+
Weapon(alloc::boxed::Box<WeaponT>),
10597
}
10698
impl Default for EquipmentT {
10799
fn default() -> Self {
@@ -115,16 +107,16 @@ impl EquipmentT {
115107
Self::Weapon(_) => Equipment::Weapon,
116108
}
117109
}
118-
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(&self, fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>) -> Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>> {
110+
pub fn pack<'b, A: ::flatbuffers::Allocator + 'b>(&self, fbb: &mut ::flatbuffers::FlatBufferBuilder<'b, A>) -> Option<::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>> {
119111
match self {
120112
Self::NONE => None,
121113
Self::Weapon(v) => Some(v.pack(fbb).as_union_value()),
122114
}
123115
}
124116
/// If the union variant matches, return the owned WeaponT, setting the union to NONE.
125-
pub fn take_weapon(&mut self) -> Option<Box<WeaponT>> {
117+
pub fn take_weapon(&mut self) -> Option<alloc::boxed::Box<WeaponT>> {
126118
if let Self::Weapon(_) = self {
127-
let v = core::mem::replace(self, Self::NONE);
119+
let v = ::core::mem::replace(self, Self::NONE);
128120
if let Self::Weapon(w) = v {
129121
Some(w)
130122
} else {

0 commit comments

Comments
 (0)