Drop edition variable from Rust support Same as in case of C/C++ and -std= flag, this can be simply passed as a rustflags. Change-Id: Idafcac0cfbbb84be71ed41e394d246edce89b0b9 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/6140 Reviewed-by: Brett Wilson <brettw@chromium.org> Commit-Queue: Petr Hosek <phosek@google.com>
diff --git a/docs/reference.md b/docs/reference.md index 1601d01..c9dba3d 100644 --- a/docs/reference.md +++ b/docs/reference.md
@@ -112,7 +112,6 @@ * [defines: [string list] C preprocessor defines.](#var_defines) * [depfile: [string] File name for input dependencies for actions.](#var_depfile) * [deps: [label list] Private linked dependencies.](#var_deps) - * [edition: [string] The rustc edition to use in compiliation.](#var_edition) * [friend: [label pattern list] Allow targets to include private headers.](#var_friend) * [include_dirs: [directory list] Additional include directories.](#var_include_dirs) * [inputs: [file list] Additional compile-time dependencies.](#var_inputs) @@ -1561,7 +1560,7 @@ General: check_includes, configs, data, friend, inputs, metadata, output_name, output_extension, public, sources, testonly, visibility - Rust variables: aliased_deps, crate_root, crate_name, edition + Rust variables: aliased_deps, crate_root, crate_name ``` ### <a name="func_generated_file"></a>**generated_file**: Declare a generated_file target. @@ -1755,7 +1754,7 @@ General: check_includes, configs, data, friend, inputs, metadata, output_name, output_extension, public, sources, testonly, visibility - Rust variables: aliased_deps, crate_root, crate_name, crate_type, edition + Rust variables: aliased_deps, crate_root, crate_name, crate_type ``` ### <a name="func_rust_library"></a>**rust_library**: Declare a Rust library target. @@ -1787,7 +1786,7 @@ General: check_includes, configs, data, friend, inputs, metadata, output_name, output_extension, public, sources, testonly, visibility - Rust variables: aliased_deps, crate_root, crate_name, edition + Rust variables: aliased_deps, crate_root, crate_name ``` ### <a name="func_shared_library"></a>**shared_library**: Declare a shared library target. @@ -1821,7 +1820,7 @@ General: check_includes, configs, data, friend, inputs, metadata, output_name, output_extension, public, sources, testonly, visibility - Rust variables: aliased_deps, crate_root, crate_name, crate_type, edition + Rust variables: aliased_deps, crate_root, crate_name, crate_type ``` ### <a name="func_source_set"></a>**source_set**: Declare a source set target. @@ -1900,7 +1899,7 @@ General: check_includes, configs, data, friend, inputs, metadata, output_name, output_extension, public, sources, testonly, visibility - Rust variables: aliased_deps, crate_root, crate_name, edition + Rust variables: aliased_deps, crate_root, crate_name The tools and commands used to create this target type will be determined by the source files in its sources. Targets containing @@ -2471,12 +2470,6 @@ process_file_template will return for those inputs (see "gn help process_file_template"). - binary targets (executables, libraries): this will return a list of the - resulting binary file(s). The "main output" (the actual binary or library) - will always be the 0th element in the result. Depending on the platform and - output type, there may be other output files as well (like import libraries) - which will follow. - source sets and groups: this will return a list containing the path of the "stamp" file that Ninja will produce once all outputs are generated. This probably isn't very useful. @@ -2612,7 +2605,7 @@ toolchain("toolchain") { tool("link") { command = "..." - pool = ":link_pool($default_toolchain)") + pool = ":link_pool($default_toolchain)" } } ``` @@ -5101,16 +5094,6 @@ See also "public_deps". ``` -### <a name="var_edition"></a>**edition**: [string] The rustc edition to use in compiliation. - -``` - Valid for `rust_library` targets and `executable`, `static_library`, - `shared_library`, and `source_set` targets that contain Rust sources. - - This indicates the compiler edition to use in compilition. Should be a value - like "2015" or "2018", indiicating the appropriate value to pass to the - `--edition=<>` flag in rustc. -``` ### <a name="var_friend"></a>**friend**: Allow targets to include private headers. ```
diff --git a/examples/rust_example/build/BUILD.gn b/examples/rust_example/build/BUILD.gn index e4aecfd..9684bf1 100644 --- a/examples/rust_example/build/BUILD.gn +++ b/examples/rust_example/build/BUILD.gn
@@ -2,7 +2,7 @@ outfile = "{{target_out_dir}}/{{rustc_output_prefix}}{{crate_name}}{{rustc_output_extension}}" tool("rustc") { depfile = "{{target_out_dir}}/{{crate_name}}.d" - command = "rustc --edition={{edition}} --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" + command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" description = "RUST $outfile" cdylib_output_extension = ".so" proc_macro_output_extension = ".so"
diff --git a/examples/rust_example/hello_world/bar/src/BUILD.gn b/examples/rust_example/hello_world/bar/src/BUILD.gn index 49c6eee..b4eec33 100644 --- a/examples/rust_example/hello_world/bar/src/BUILD.gn +++ b/examples/rust_example/hello_world/bar/src/BUILD.gn
@@ -1,4 +1,3 @@ rust_library("bar") { crate_root = "lib.rs" - edition = "2018" }
diff --git a/examples/rust_example/hello_world/foo/src/BUILD.gn b/examples/rust_example/hello_world/foo/src/BUILD.gn index 61ee1f3..b7b94e2 100644 --- a/examples/rust_example/hello_world/foo/src/BUILD.gn +++ b/examples/rust_example/hello_world/foo/src/BUILD.gn
@@ -2,7 +2,6 @@ sources = [ "lib.rs", ] - edition = "2018" deps = [ "//hello_world/bar/src:bar", ]
diff --git a/examples/rust_example/hello_world/src/BUILD.gn b/examples/rust_example/hello_world/src/BUILD.gn index d6a0a66..e55f289 100644 --- a/examples/rust_example/hello_world/src/BUILD.gn +++ b/examples/rust_example/hello_world/src/BUILD.gn
@@ -5,7 +5,6 @@ deps = [ "//hello_world/foo/src:foo", ] - edition = "2018" aliased_deps = { baz = "//hello_world/foo/src:foo" }
diff --git a/tools/gn/functions_target.cc b/tools/gn/functions_target.cc index c20c1e6..4112f2e 100644 --- a/tools/gn/functions_target.cc +++ b/tools/gn/functions_target.cc
@@ -21,10 +21,9 @@ " output_name, output_extension, public, sources, testonly,\n" \ " visibility\n" #define RUST_VARS \ - " Rust variables: aliased_deps, crate_root, crate_name, edition\n" + " Rust variables: aliased_deps, crate_root, crate_name\n" #define RUST_SHARED_VARS \ - " Rust variables: aliased_deps, crate_root, crate_name, crate_type, " \ - "edition\n" + " Rust variables: aliased_deps, crate_root, crate_name, crate_type\n" namespace functions {
diff --git a/tools/gn/functions_target_rust_unittest.cc b/tools/gn/functions_target_rust_unittest.cc index 37bd8b1..2d3578f 100644 --- a/tools/gn/functions_target_rust_unittest.cc +++ b/tools/gn/functions_target_rust_unittest.cc
@@ -24,7 +24,6 @@ "executable(\"foo\") {\n" " crate_name = \"foo_crate\"\n" " sources = [ \"foo.rs\", \"lib.rs\", \"main.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(exe_input.has_error()); Err err; @@ -36,7 +35,6 @@ TestParseInput lib_input( "executable(\"foo\") {\n" " sources = [ \"lib.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(lib_input.has_error()); err = Err(); @@ -60,7 +58,6 @@ "executable(\"foo\") {\n" " crate_root = \"foo.rs\"" " sources = [ \"main.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(normal_input.has_error()); Err err; @@ -75,7 +72,6 @@ " crate_root = \"foo.rs\"" " crate_type = \"dylib\"\n" " sources = [ \"main.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(normal_shlib_input.has_error()); err = Err(); @@ -88,7 +84,6 @@ TestParseInput exe_input( "executable(\"foo\") {\n" " sources = [ \"foo.rs\", \"lib.rs\", \"main.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(exe_input.has_error()); err = Err(); @@ -101,7 +96,6 @@ TestParseInput lib_input( "rust_library(\"libfoo\") {\n" " sources = [ \"foo.rs\", \"lib.rs\", \"main.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(lib_input.has_error()); err = Err(); @@ -114,7 +108,6 @@ TestParseInput singlesource_input( "executable(\"bar\") {\n" " sources = [ \"bar.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(singlesource_input.has_error()); err = Err(); @@ -127,7 +120,6 @@ TestParseInput error_input( "rust_library(\"foo\") {\n" " sources = [ \"foo.rs\", \"main.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(error_input.has_error()); err = Err(); @@ -139,7 +131,6 @@ TestParseInput nosources_input( "executable(\"bar\") {\n" " crate_root = \"bar.rs\"\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(nosources_input.has_error()); err = Err(); @@ -163,7 +154,6 @@ "shared_library(\"libfoo\") {\n" " crate_type = \"dylib\"\n" " sources = [ \"lib.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(lib_input.has_error()); Err err; @@ -176,7 +166,6 @@ "executable(\"foo\") {\n" " crate_type = \"rlib\"\n" " sources = [ \"main.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(exe_non_default_input.has_error()); err = Err(); @@ -189,7 +178,6 @@ "shared_library(\"foo\") {\n" " crate_type = \"bad\"\n" " sources = [ \"lib.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(lib_error_input.has_error()); err = Err(); @@ -200,7 +188,6 @@ TestParseInput lib_missing_error_input( "shared_library(\"foo\") {\n" " sources = [ \"lib.rs\" ]\n" - " edition = \"2018\"" "}\n"); ASSERT_FALSE(lib_missing_error_input.has_error()); err = Err(); @@ -286,40 +273,6 @@ ":foo"); } -// Checks that the dition gets propagated correctly. -TEST_F(RustFunctionsTarget, Edition) { - TestWithScope setup; - - // The target generator needs a place to put the targets or it will fail. - Scope::ItemVector item_collector; - setup.scope()->set_item_collector(&item_collector); - setup.scope()->set_source_dir(SourceDir("/")); - - TestParseInput lib_input( - "shared_library(\"libfoo\") {\n" - " crate_type = \"dylib\"\n" - " sources = [ \"lib.rs\" ]\n" - " edition = \"2018\"" - "}\n"); - ASSERT_FALSE(lib_input.has_error()); - Err err; - lib_input.parsed()->Execute(setup.scope(), &err); - ASSERT_FALSE(err.has_error()) << err.message(); - ASSERT_EQ(item_collector.back()->AsTarget()->rust_values().edition(), "2018"); - - TestParseInput error_input( - "shared_library(\"foo\") {\n" - " crate_type = \"dylib\"\n" - " sources = [ \"lib.rs\" ]\n" - "}\n"); - ASSERT_FALSE(error_input.has_error()); - err = Err(); - error_input.parsed()->Execute(setup.scope(), &err); - ASSERT_TRUE(err.has_error()); - EXPECT_EQ("Missing \"edition\" in Rust target.", err.message()) - << err.message(); -} - // Checks aliased_deps parsing. TEST_F(RustFunctionsTarget, AliasedDeps) { TestWithScope setup; @@ -333,7 +286,6 @@ "executable(\"foo\") {\n" " sources = [ \"main.rs\" ]\n" " deps = [ \"//bar\", \"//baz\" ]\n" - " edition = \"2018\"" " aliased_deps = {\n" " bar_renamed = \"//bar\"\n" " baz_renamed = \"//baz:baz\"\n" @@ -363,7 +315,6 @@ "executable(\"foo\") {\n" " crate_name = \"foo_crate\"\n" " sources = [ \"foo.rs\", \"lib.rs\", \"main.rs\" ]\n" - " edition = \"2018\"" " public_configs = [ \":bar\" ]" "}\n"); ASSERT_FALSE(exe_input.has_error());
diff --git a/tools/gn/ninja_rust_binary_target_writer.cc b/tools/gn/ninja_rust_binary_target_writer.cc index 5372fec..47b3fb2 100644 --- a/tools/gn/ninja_rust_binary_target_writer.cc +++ b/tools/gn/ninja_rust_binary_target_writer.cc
@@ -169,7 +169,6 @@ WriteExterns(extern_deps); WriteRustdeps(rustdeps, nonrustdeps); - WriteEdition(); } } @@ -240,8 +239,3 @@ } out_ << std::endl; } - -void NinjaRustBinaryTargetWriter::WriteEdition() { - DCHECK(!target_->rust_values().edition().empty()); - out_ << " edition = " << target_->rust_values().edition() << std::endl; -}
diff --git a/tools/gn/ninja_rust_binary_target_writer_unittest.cc b/tools/gn/ninja_rust_binary_target_writer_unittest.cc index 90d592b..f9027f5 100644 --- a/tools/gn/ninja_rust_binary_target_writer_unittest.cc +++ b/tools/gn/ninja_rust_binary_target_writer_unittest.cc
@@ -68,7 +68,6 @@ target.source_types_used().Set(SourceFile::SOURCE_RS); target.rust_values().set_crate_root(main); target.rust_values().crate_name() = "foo_bar"; - target.rust_values().edition() = "2018"; target.private_deps().push_back(LabelTargetPair(&source_set)); target.SetToolchain(setup.toolchain()); ASSERT_TRUE(target.OnResolved(&err)); @@ -91,8 +90,7 @@ "\n" "build obj/foo/foo_bar: rustc ../../foo/main.rs | ../../foo/input3.rs " "../../foo/main.rs ../../foo/input1.rs ../../foo/input2.rs || " - "obj/foo/sources.stamp\n" - " edition = 2018\n"; + "obj/foo/sources.stamp\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << out_str; } @@ -111,7 +109,6 @@ rlib.source_types_used().Set(SourceFile::SOURCE_RS); rlib.rust_values().set_crate_root(barlib); rlib.rust_values().crate_name() = "mylib"; - rlib.rust_values().edition() = "2018"; rlib.SetToolchain(setup.toolchain()); ASSERT_TRUE(rlib.OnResolved(&err)); @@ -133,8 +130,7 @@ "target_output_name = mylib\n" "\n" "build obj/bar/libmylib.rlib: rustc ../../bar/lib.rs | " - "../../bar/mylib.rs ../../bar/lib.rs\n" - " edition = 2018\n"; + "../../bar/mylib.rs ../../bar/lib.rs\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << out_str; } @@ -148,7 +144,6 @@ another_rlib.source_types_used().Set(SourceFile::SOURCE_RS); another_rlib.rust_values().set_crate_root(lib); another_rlib.rust_values().crate_name() = "direct"; - another_rlib.rust_values().edition() = "2018"; another_rlib.SetToolchain(setup.toolchain()); another_rlib.public_deps().push_back(LabelTargetPair(&rlib)); ASSERT_TRUE(another_rlib.OnResolved(&err)); @@ -162,7 +157,6 @@ target.source_types_used().Set(SourceFile::SOURCE_RS); target.rust_values().set_crate_root(main); target.rust_values().crate_name() = "foo_bar"; - target.rust_values().edition() = "2018"; target.private_deps().push_back(LabelTargetPair(&another_rlib)); target.SetToolchain(setup.toolchain()); ASSERT_TRUE(target.OnResolved(&err)); @@ -187,8 +181,7 @@ "../../foo/main.rs obj/foo/libdirect.rlib obj/bar/libmylib.rlib\n" " externs = --extern direct=obj/foo/libdirect.rlib --extern " "mylib=obj/bar/libmylib.rlib\n" - " rustdeps = -Ldependency=obj/foo -Ldependency=obj/bar\n" - " edition = 2018\n"; + " rustdeps = -Ldependency=obj/foo -Ldependency=obj/bar\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << expected << "\n" << out_str; } @@ -207,7 +200,6 @@ another_rlib.source_types_used().Set(SourceFile::SOURCE_RS); another_rlib.rust_values().set_crate_root(lib); another_rlib.rust_values().crate_name() = "direct"; - another_rlib.rust_values().edition() = "2018"; another_rlib.SetToolchain(setup.toolchain()); ASSERT_TRUE(another_rlib.OnResolved(&err)); @@ -221,7 +213,6 @@ target.rust_values().set_crate_root(main); target.rust_values().crate_name() = "foo_bar"; target.rust_values().aliased_deps()[another_rlib.label()] = "direct_renamed"; - target.rust_values().edition() = "2018"; target.private_deps().push_back(LabelTargetPair(&another_rlib)); target.SetToolchain(setup.toolchain()); ASSERT_TRUE(target.OnResolved(&err)); @@ -245,8 +236,7 @@ "build obj/foo/foo_bar: rustc ../../foo/main.rs | ../../foo/source.rs " "../../foo/main.rs obj/foo/libdirect.rlib\n" " externs = --extern direct_renamed=obj/foo/libdirect.rlib\n" - " rustdeps = -Ldependency=obj/foo\n" - " edition = 2018\n"; + " rustdeps = -Ldependency=obj/foo\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << expected << "\n" << out_str; } @@ -265,7 +255,6 @@ rlib.source_types_used().Set(SourceFile::SOURCE_RS); rlib.rust_values().set_crate_root(barlib); rlib.rust_values().crate_name() = "mylib"; - rlib.rust_values().edition() = "2018"; rlib.SetToolchain(setup.toolchain()); ASSERT_TRUE(rlib.OnResolved(&err)); @@ -286,7 +275,6 @@ nonrust.source_types_used().Set(SourceFile::SOURCE_RS); nonrust.rust_values().set_crate_root(main); nonrust.rust_values().crate_name() = "foo_bar"; - nonrust.rust_values().edition() = "2018"; nonrust.private_deps().push_back(LabelTargetPair(&rlib)); nonrust.private_deps().push_back(LabelTargetPair(&staticlib)); nonrust.SetToolchain(setup.toolchain()); @@ -311,8 +299,7 @@ "build obj/foo/foo_bar: rustc ../../foo/main.rs | ../../foo/source.rs " "../../foo/main.rs obj/bar/libmylib.rlib obj/foo/libstatic.a\n" " externs = --extern mylib=obj/bar/libmylib.rlib\n" - " rustdeps = -Ldependency=obj/bar -Lnative=obj/foo\n" - " edition = 2018\n"; + " rustdeps = -Ldependency=obj/bar -Lnative=obj/foo\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << expected << "\n" << out_str; } @@ -325,7 +312,6 @@ nonrust_only.source_types_used().Set(SourceFile::SOURCE_RS); nonrust_only.rust_values().set_crate_root(main); nonrust_only.rust_values().crate_name() = "foo_bar"; - nonrust_only.rust_values().edition() = "2018"; nonrust_only.private_deps().push_back(LabelTargetPair(&staticlib)); nonrust_only.SetToolchain(setup.toolchain()); ASSERT_TRUE(nonrust_only.OnResolved(&err)); @@ -348,8 +334,7 @@ "\n" "build obj/foo/foo_bar: rustc ../../foo/main.rs | ../../foo/source.rs " "../../foo/main.rs obj/foo/libstatic.a\n" - " rustdeps = -Lnative=obj/foo\n" - " edition = 2018\n"; + " rustdeps = -Lnative=obj/foo\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << expected << "\n" << out_str; } @@ -379,7 +364,6 @@ target.set_output_dir(SourceDir("//out/Debug/foo/")); target.rust_values().set_crate_root(main); target.rust_values().crate_name() = "foo_bar"; - target.rust_values().edition() = "2018"; target.private_deps().push_back(LabelTargetPair(&source_set)); target.SetToolchain(setup.toolchain()); ASSERT_TRUE(target.OnResolved(&err)); @@ -402,8 +386,7 @@ "\n" "build obj/foo/foo_bar.exe: rustc ../../foo/main.rs | ../../foo/input3.rs " "../../foo/main.rs ../../foo/input1.rs ../../foo/input2.rs || " - "obj/foo/sources.stamp\n" - " edition = 2018\n"; + "obj/foo/sources.stamp\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << out_str; } @@ -422,7 +405,6 @@ procmacro.source_types_used().Set(SourceFile::SOURCE_RS); procmacro.rust_values().set_crate_root(barlib); procmacro.rust_values().crate_name() = "mymacro"; - procmacro.rust_values().edition() = "2018"; procmacro.rust_values().set_crate_type(RustValues::CRATE_PROC_MACRO); procmacro.SetToolchain(setup.toolchain()); ASSERT_TRUE(procmacro.OnResolved(&err)); @@ -444,8 +426,7 @@ "target_output_name = mymacro\n" "\n" "build obj/bar/libmymacro.so: rustc ../../bar/lib.rs | " - "../../bar/mylib.rs ../../bar/lib.rs\n" - " edition = 2018\n"; + "../../bar/mylib.rs ../../bar/lib.rs\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << out_str; } @@ -459,7 +440,6 @@ target.source_types_used().Set(SourceFile::SOURCE_RS); target.rust_values().set_crate_root(main); target.rust_values().crate_name() = "foo_bar"; - target.rust_values().edition() = "2018"; target.private_deps().push_back(LabelTargetPair(&procmacro)); target.SetToolchain(setup.toolchain()); ASSERT_TRUE(target.OnResolved(&err)); @@ -482,8 +462,7 @@ "\n" "build obj/foo/foo_bar: rustc ../../foo/main.rs | ../../foo/source.rs " "../../foo/main.rs || obj/bar/libmymacro.so\n" - " externs = --extern mymacro=obj/bar/libmymacro.so\n" - " edition = 2018\n"; + " externs = --extern mymacro=obj/bar/libmymacro.so\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << expected << "\n" << out_str; } @@ -502,7 +481,6 @@ rlib.source_types_used().Set(SourceFile::SOURCE_RS); rlib.rust_values().set_crate_root(barlib); rlib.rust_values().crate_name() = "mylib"; - rlib.rust_values().edition() = "2018"; rlib.SetToolchain(setup.toolchain()); ASSERT_TRUE(rlib.OnResolved(&err)); @@ -524,8 +502,7 @@ "target_output_name = mylib\n" "\n" "build obj/bar/libmylib.rlib: rustc ../../bar/lib.rs | " - "../../bar/mylib.rs ../../bar/lib.rs\n" - " edition = 2018\n"; + "../../bar/mylib.rs ../../bar/lib.rs\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << out_str; } @@ -546,7 +523,6 @@ target.source_types_used().Set(SourceFile::SOURCE_RS); target.rust_values().set_crate_root(main); target.rust_values().crate_name() = "foo_bar"; - target.rust_values().edition() = "2018"; target.private_deps().push_back(LabelTargetPair(&group)); target.SetToolchain(setup.toolchain()); ASSERT_TRUE(target.OnResolved(&err)); @@ -570,8 +546,7 @@ "build obj/foo/foo_bar: rustc ../../foo/main.rs | ../../foo/source.rs " "../../foo/main.rs obj/bar/libmylib.rlib || obj/baz/group.stamp\n" " externs = --extern mylib=obj/bar/libmylib.rlib\n" - " rustdeps = -Ldependency=obj/bar\n" - " edition = 2018\n"; + " rustdeps = -Ldependency=obj/bar\n"; std::string out_str = out.str(); EXPECT_EQ(expected, out_str) << expected << "\n" << out_str; }
diff --git a/tools/gn/rust_substitution_type.cc b/tools/gn/rust_substitution_type.cc index c6b8e9e..8881772 100644 --- a/tools/gn/rust_substitution_type.cc +++ b/tools/gn/rust_substitution_type.cc
@@ -12,10 +12,9 @@ const SubstitutionTypes RustSubstitutions = { &kRustSubstitutionCrateName, &kRustSubstitutionCrateType, - &kRustSubstitutionEdition, &kRustSubstitutionExterns, &kRustSubstitutionOutputExtension, &kRustSubstitutionOutputPrefix, &kRustSubstitutionRustDeps, &kRustSubstitutionRustFlags, - &kRustSubstitutionRustEnv, + &kRustSubstitutionRustEnv, &kRustSubstitutionExterns, }; // Valid for Rust tools. @@ -23,7 +22,6 @@ "crate_name"}; const Substitution kRustSubstitutionCrateType = {"{{crate_type}}", "crate_type"}; -const Substitution kRustSubstitutionEdition = {"{{edition}}", "edition"}; const Substitution kRustSubstitutionExterns = {"{{externs}}", "externs"}; const Substitution kRustSubstitutionOutputExtension = { "{{rustc_output_extension}}", "rustc_output_extension"}; @@ -38,7 +36,6 @@ type == &SubstitutionOutputDir || type == &kRustSubstitutionCrateName || type == &kRustSubstitutionCrateType || - type == &kRustSubstitutionEdition || type == &kRustSubstitutionExterns || type == &kRustSubstitutionOutputExtension || type == &kRustSubstitutionOutputPrefix ||
diff --git a/tools/gn/rust_substitution_type.h b/tools/gn/rust_substitution_type.h index 827f5d6..e9a78c4 100644 --- a/tools/gn/rust_substitution_type.h +++ b/tools/gn/rust_substitution_type.h
@@ -16,7 +16,6 @@ // Valid for Rust tools. extern const Substitution kRustSubstitutionCrateName; extern const Substitution kRustSubstitutionCrateType; -extern const Substitution kRustSubstitutionEdition; extern const Substitution kRustSubstitutionExterns; extern const Substitution kRustSubstitutionOutputExtension; extern const Substitution kRustSubstitutionOutputPrefix;
diff --git a/tools/gn/rust_values.h b/tools/gn/rust_values.h index ad9c5c6..4df5c5c 100644 --- a/tools/gn/rust_values.h +++ b/tools/gn/rust_values.h
@@ -45,9 +45,6 @@ const CrateType crate_type() const { return crate_type_; } void set_crate_type(CrateType s) { crate_type_ = s; } - std::string& edition() { return edition_; } - const std::string& edition() const { return edition_; } - // Any renamed dependencies for the `extern` flags. const std::map<Label, std::string>& aliased_deps() const { return aliased_deps_; @@ -58,7 +55,6 @@ std::string crate_name_; SourceFile crate_root_; CrateType crate_type_ = CRATE_AUTO; - std::string edition_; std::map<Label, std::string> aliased_deps_; DISALLOW_COPY_AND_ASSIGN(RustValues);
diff --git a/tools/gn/rust_values_generator.cc b/tools/gn/rust_values_generator.cc index c29282e..d7ebd4a 100644 --- a/tools/gn/rust_values_generator.cc +++ b/tools/gn/rust_values_generator.cc
@@ -60,9 +60,6 @@ if (!FillCrateRoot()) return; - if (!FillEdition()) - return; - if (!FillAliasedDeps()) return; } @@ -165,20 +162,6 @@ return true; } -bool RustTargetGenerator::FillEdition() { - const Value* value = scope_->GetValue(variables::kRustEdition, true); - if (!value) { - *err_ = Err(function_call_, "Missing \"edition\" in Rust target."); - return false; - } - - if (!value->VerifyTypeIs(Value::STRING, err_)) - return false; - - target_->rust_values().edition() = std::move(value->string_value()); - return true; -} - bool RustTargetGenerator::FillAliasedDeps() { const Value* value = scope_->GetValue(variables::kRustAliasedDeps, true); if (!value)
diff --git a/tools/gn/rust_variables.cc b/tools/gn/rust_variables.cc index 67018c7..f1867cb 100644 --- a/tools/gn/rust_variables.cc +++ b/tools/gn/rust_variables.cc
@@ -95,20 +95,6 @@ only one file. )"; -const char kRustEdition[] = "edition"; -const char kRustEdition_HelpShort[] = - "edition: [string] The rustc edition to use in compiliation."; -const char kRustEdition_Help[] = - R"(edition: [string] The rustc edition to use in compiliation. - - Valid for `rust_library` targets and `executable`, `static_library`, - `shared_library`, and `source_set` targets that contain Rust sources. - - This indicates the compiler edition to use in compilition. Should be a value - like "2015" or "2018", indiicating the appropriate value to pass to the - `--edition=<>` flag in rustc. -)"; - void InsertRustVariables(VariableInfoMap* info_map) { info_map->insert(std::make_pair( kRustAliasedDeps, @@ -122,8 +108,6 @@ info_map->insert(std::make_pair( kRustCrateRoot, VariableInfo(kRustCrateRoot_HelpShort, kRustCrateRoot_Help))); - info_map->insert(std::make_pair( - kRustEdition, VariableInfo(kRustEdition_HelpShort, kRustEdition_Help))); } } // namespace variables
diff --git a/tools/gn/test_with_scope.cc b/tools/gn/test_with_scope.cc index 5025420..1b9f9f4 100644 --- a/tools/gn/test_with_scope.cc +++ b/tools/gn/test_with_scope.cc
@@ -197,7 +197,7 @@ // RUST std::unique_ptr<Tool> rustc_tool = Tool::CreateTool(RustTool::kRsToolRustc); SetCommandForTool( - "{{rustenv}} rustc --edition=2018 --crate-name {{crate_name}} {{source}} " + "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} " "--crate-type {{crate_type}} {{rustflags}} -o " "{{target_out_dir}}/" "{{rustc_output_prefix}}{{crate_name}}{{rustc_output_extension}} "