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}} "