From 872fad049e671f201fc35b57a424069b2954dc49 Mon Sep 17 00:00:00 2001 From: Chris Holcombe Date: Mon, 3 Sep 2018 19:09:38 -0700 Subject: [PATCH] Fix extern crate in root namespace (#4905) Imports the Rust FlatBuffers runtime crate even when not using a namespace in a schema. --- src/idl_gen_rust.cpp | 3 +++ tests/monster_test_generated.rs | 4 ++++ tests/monster_test_my_game.example2_generated.dart | 2 +- tests/monster_test_my_game_generated.dart | 2 +- tests/namespace_test/namespace_test1_generated.rs | 4 ++++ tests/namespace_test/namespace_test2_generated.rs | 4 ++++ 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/idl_gen_rust.cpp b/src/idl_gen_rust.cpp index 1441af492..c3d733d12 100644 --- a/src/idl_gen_rust.cpp +++ b/src/idl_gen_rust.cpp @@ -271,6 +271,9 @@ class RustGenerator : public BaseGenerator { bool generate() { code_.Clear(); code_ += "// " + std::string(FlatBuffersGeneratedWarning()) + "\n\n"; + code_ += "#![allow(dead_code)]"; + code_ += "#![allow(unused_imports)]"; + code_ += "extern crate flatbuffers;\n"; assert(!cur_name_space_); diff --git a/tests/monster_test_generated.rs b/tests/monster_test_generated.rs index aa236a20c..b66f99aa2 100644 --- a/tests/monster_test_generated.rs +++ b/tests/monster_test_generated.rs @@ -1,6 +1,10 @@ // automatically generated by the FlatBuffers compiler, do not modify +#![allow(dead_code)] +#![allow(unused_imports)] +extern crate flatbuffers; + pub mod my_game { #![allow(dead_code)] #![allow(unused_imports)] diff --git a/tests/monster_test_my_game.example2_generated.dart b/tests/monster_test_my_game.example2_generated.dart index 857e66d56..eed14bc2c 100644 --- a/tests/monster_test_my_game.example2_generated.dart +++ b/tests/monster_test_my_game.example2_generated.dart @@ -6,8 +6,8 @@ library my_game.example2; import 'dart:typed_data' show Uint8List; import 'package:flat_buffers/flat_buffers.dart' as fb; -import './monster_test_my_game.example_generated.dart' as my_game_example; import './monster_test_my_game_generated.dart' as my_game; +import './monster_test_my_game.example_generated.dart' as my_game_example; class Monster { Monster._(this._bc, this._bcOffset); diff --git a/tests/monster_test_my_game_generated.dart b/tests/monster_test_my_game_generated.dart index abd538c49..425bae33e 100644 --- a/tests/monster_test_my_game_generated.dart +++ b/tests/monster_test_my_game_generated.dart @@ -6,8 +6,8 @@ library my_game; import 'dart:typed_data' show Uint8List; import 'package:flat_buffers/flat_buffers.dart' as fb; -import './monster_test_my_game.example_generated.dart' as my_game_example; import './monster_test_my_game.example2_generated.dart' as my_game_example2; +import './monster_test_my_game.example_generated.dart' as my_game_example; class InParentNamespace { InParentNamespace._(this._bc, this._bcOffset); diff --git a/tests/namespace_test/namespace_test1_generated.rs b/tests/namespace_test/namespace_test1_generated.rs index b7e88e9f6..e10e5558c 100644 --- a/tests/namespace_test/namespace_test1_generated.rs +++ b/tests/namespace_test/namespace_test1_generated.rs @@ -1,6 +1,10 @@ // automatically generated by the FlatBuffers compiler, do not modify +#![allow(dead_code)] +#![allow(unused_imports)] +extern crate flatbuffers; + pub mod namespace_a { #![allow(dead_code)] #![allow(unused_imports)] diff --git a/tests/namespace_test/namespace_test2_generated.rs b/tests/namespace_test/namespace_test2_generated.rs index c516d80e6..abcd5c66f 100644 --- a/tests/namespace_test/namespace_test2_generated.rs +++ b/tests/namespace_test/namespace_test2_generated.rs @@ -1,6 +1,10 @@ // automatically generated by the FlatBuffers compiler, do not modify +#![allow(dead_code)] +#![allow(unused_imports)] +extern crate flatbuffers; + pub mod namespace_a { #![allow(dead_code)] #![allow(unused_imports)]