Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
4b8446a233
664 changed files with 15986 additions and 14901 deletions
|
|
@ -36,9 +36,10 @@ matrix:
|
|||
- env: IMAGE=dist-x86_64-linux DEPLOY=1 ALLOW_TRY=1
|
||||
- env: IMAGE=dist-x86_64-musl DEPLOY=1
|
||||
- env: IMAGE=dist-x86_64-netbsd DEPLOY=1
|
||||
- env: IMAGE=emscripten
|
||||
- env: IMAGE=asmjs
|
||||
- env: IMAGE=i686-gnu
|
||||
- env: IMAGE=i686-gnu-nopt
|
||||
# - env: IMAGE=wasm32 issue 42646
|
||||
- env: IMAGE=x86_64-gnu
|
||||
- env: IMAGE=x86_64-gnu-full-bootstrap
|
||||
- env: IMAGE=x86_64-gnu-aux
|
||||
|
|
@ -54,7 +55,7 @@ matrix:
|
|||
# version that we're using, 8.2, cannot compile LLVM for OSX 10.7.
|
||||
- env: >
|
||||
RUST_CHECK_TARGET=check
|
||||
RUST_CONFIGURE_ARGS="--build=x86_64-apple-darwin --enable-sanitizers"
|
||||
RUST_CONFIGURE_ARGS="--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler"
|
||||
SRC=.
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
|
||||
SCCACHE_ERROR_LOG=/tmp/sccache.log
|
||||
|
|
@ -87,7 +88,7 @@ matrix:
|
|||
# OSX 10.7 and `xcode7` is the latest Xcode able to compile LLVM for 10.7.
|
||||
- env: >
|
||||
RUST_CHECK_TARGET=dist
|
||||
RUST_CONFIGURE_ARGS="--build=i686-apple-darwin --enable-extended"
|
||||
RUST_CONFIGURE_ARGS="--build=i686-apple-darwin --enable-extended --enable-profiler"
|
||||
SRC=.
|
||||
DEPLOY=1
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
|
||||
|
|
@ -101,7 +102,7 @@ matrix:
|
|||
- *osx_install_sccache
|
||||
- env: >
|
||||
RUST_CHECK_TARGET=dist
|
||||
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended --enable-sanitizers"
|
||||
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended --enable-sanitizers --enable-profiler"
|
||||
SRC=.
|
||||
DEPLOY=1
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ standard library, and documentation.
|
|||
|
||||
## Quick Start
|
||||
|
||||
Read ["Installing Rust"] from [The Book].
|
||||
Read ["Installation"] from [The Book].
|
||||
|
||||
["Installing Rust"]: https://doc.rust-lang.org/book/getting-started.html#installing-rust
|
||||
["Installation"]: https://doc.rust-lang.org/book/second-edition/ch01-01-installation.html
|
||||
[The Book]: https://doc.rust-lang.org/book/index.html
|
||||
|
||||
## Building from Source
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ environment:
|
|||
matrix:
|
||||
# 32/64 bit MSVC tests
|
||||
- MSYS_BITS: 64
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
SCRIPT: python x.py test
|
||||
- MSYS_BITS: 32
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc --target=i586-pc-windows-msvc
|
||||
|
|
@ -48,12 +48,14 @@ environment:
|
|||
- RUST_CONFIGURE_ARGS: >
|
||||
--build=x86_64-pc-windows-msvc
|
||||
--enable-extended
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
DEPLOY: 1
|
||||
- RUST_CONFIGURE_ARGS: >
|
||||
--build=i686-pc-windows-msvc
|
||||
--target=i586-pc-windows-msvc
|
||||
--enable-extended
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
DEPLOY: 1
|
||||
- MSYS_BITS: 32
|
||||
|
|
|
|||
1
configure
vendored
1
configure
vendored
|
|
@ -452,6 +452,7 @@ opt vendor 0 "enable usage of vendored Rust crates"
|
|||
opt sanitizers 0 "build the sanitizer runtimes (asan, lsan, msan, tsan)"
|
||||
opt dist-src 1 "when building tarballs enables building a source tarball"
|
||||
opt cargo-openssl-static 0 "static openssl in cargo"
|
||||
opt profiler 0 "build the profiler runtime"
|
||||
|
||||
# Optimization and debugging options. These may be overridden by the release channel, etc.
|
||||
opt_nosave optimize 1 "build optimized rust code"
|
||||
|
|
|
|||
800
src/Cargo.lock
generated
800
src/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -9,6 +9,7 @@ members = [
|
|||
"tools/error_index_generator",
|
||||
"tools/linkchecker",
|
||||
"tools/rustbook",
|
||||
"tools/unstable-book-gen",
|
||||
"tools/tidy",
|
||||
"tools/build-manifest",
|
||||
"tools/remote-test-client",
|
||||
|
|
@ -36,4 +37,4 @@ debug = false
|
|||
debug-assertions = false
|
||||
|
||||
[replace]
|
||||
"https://github.com/rust-lang/cargo#0.20.0" = { path = "tools/cargo" }
|
||||
"https://github.com/rust-lang/cargo#0.21.0" = { path = "tools/cargo" }
|
||||
|
|
|
|||
|
|
@ -245,6 +245,9 @@ pub fn compiletest(build: &Build,
|
|||
let llvm_config = build.llvm_config(target);
|
||||
let llvm_version = output(Command::new(&llvm_config).arg("--version"));
|
||||
cmd.arg("--llvm-version").arg(llvm_version);
|
||||
if !build.is_rust_llvm(target) {
|
||||
cmd.arg("--system-llvm");
|
||||
}
|
||||
|
||||
cmd.args(&build.flags.cmd.test_args());
|
||||
|
||||
|
|
@ -299,6 +302,10 @@ pub fn compiletest(build: &Build,
|
|||
cmd.env("SANITIZER_SUPPORT", "1");
|
||||
}
|
||||
|
||||
if build.config.profiler {
|
||||
cmd.env("PROFILER_SUPPORT", "1");
|
||||
}
|
||||
|
||||
cmd.arg("--adb-path").arg("adb");
|
||||
cmd.arg("--adb-test-dir").arg(ADB_TEST_DIR);
|
||||
if target.contains("android") {
|
||||
|
|
@ -563,7 +570,9 @@ fn find_tests(dir: &Path,
|
|||
let filename = e.file_name().into_string().unwrap();
|
||||
if (target.contains("windows") && filename.ends_with(".exe")) ||
|
||||
(!target.contains("windows") && !filename.contains(".")) ||
|
||||
(target.contains("emscripten") && filename.ends_with(".js")) {
|
||||
(target.contains("emscripten") &&
|
||||
filename.ends_with(".js") &&
|
||||
!filename.ends_with(".asm.js")) {
|
||||
dst.push(e.path());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ pub struct Config {
|
|||
pub full_bootstrap: bool,
|
||||
pub extended: bool,
|
||||
pub sanitizers: bool,
|
||||
pub profiler: bool,
|
||||
|
||||
// llvm codegen options
|
||||
pub llvm_assertions: bool,
|
||||
|
|
@ -162,6 +163,7 @@ struct Build {
|
|||
extended: Option<bool>,
|
||||
verbose: Option<usize>,
|
||||
sanitizers: Option<bool>,
|
||||
profiler: Option<bool>,
|
||||
openssl_static: Option<bool>,
|
||||
}
|
||||
|
||||
|
|
@ -318,6 +320,7 @@ impl Config {
|
|||
set(&mut config.extended, build.extended);
|
||||
set(&mut config.verbose, build.verbose);
|
||||
set(&mut config.sanitizers, build.sanitizers);
|
||||
set(&mut config.profiler, build.profiler);
|
||||
set(&mut config.openssl_static, build.openssl_static);
|
||||
|
||||
if let Some(ref install) = toml.install {
|
||||
|
|
@ -471,6 +474,7 @@ impl Config {
|
|||
("FULL_BOOTSTRAP", self.full_bootstrap),
|
||||
("EXTENDED", self.extended),
|
||||
("SANITIZERS", self.sanitizers),
|
||||
("PROFILER", self.profiler),
|
||||
("DIST_SRC", self.rust_dist_src),
|
||||
("CARGO_OPENSSL_STATIC", self.openssl_static),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,6 +147,9 @@
|
|||
# Build the sanitizer runtimes
|
||||
#sanitizers = false
|
||||
|
||||
# Build the profiler runtime
|
||||
#profiler = false
|
||||
|
||||
# Indicates whether the OpenSSL linked into Cargo will be statically linked or
|
||||
# not. If static linkage is specified then the build system will download a
|
||||
# known-good version of OpenSSL, compile it, and link it to Cargo.
|
||||
|
|
|
|||
|
|
@ -376,8 +376,8 @@ pub fn debugger_scripts(build: &Build,
|
|||
install(&build.src.join("src/etc/rust-windbg.cmd"), &sysroot.join("bin"),
|
||||
0o755);
|
||||
|
||||
cp_debugger_script("natvis/liballoc.natvis");
|
||||
cp_debugger_script("natvis/libcore.natvis");
|
||||
cp_debugger_script("natvis/libcollections.natvis");
|
||||
} else {
|
||||
cp_debugger_script("debugger_pretty_printers_common.py");
|
||||
|
||||
|
|
@ -570,6 +570,7 @@ pub fn rust_src(build: &Build) {
|
|||
"src/libgetopts",
|
||||
"src/compiler-rt",
|
||||
"src/jemalloc",
|
||||
"src/libprofiler_builtins",
|
||||
];
|
||||
let std_src_dirs_exclude = [
|
||||
"src/compiler-rt/test",
|
||||
|
|
|
|||
|
|
@ -27,18 +27,26 @@ use {Build, Compiler, Mode};
|
|||
use util::{cp_r, symlink_dir};
|
||||
use build_helper::up_to_date;
|
||||
|
||||
/// Invoke `rustbook` as compiled in `stage` for `target` for the doc book
|
||||
/// `name` into the `out` path.
|
||||
/// Invoke `rustbook` for `target` for the doc book `name`.
|
||||
///
|
||||
/// This will not actually generate any documentation if the documentation has
|
||||
/// already been generated.
|
||||
pub fn rustbook(build: &Build, target: &str, name: &str) {
|
||||
let src = build.src.join("src/doc");
|
||||
rustbook_src(build, target, name, &src);
|
||||
}
|
||||
|
||||
/// Invoke `rustbook` for `target` for the doc book `name` from the `src` path.
|
||||
///
|
||||
/// This will not actually generate any documentation if the documentation has
|
||||
/// already been generated.
|
||||
pub fn rustbook_src(build: &Build, target: &str, name: &str, src: &Path) {
|
||||
let out = build.doc_out(target);
|
||||
t!(fs::create_dir_all(&out));
|
||||
|
||||
let out = out.join(name);
|
||||
let compiler = Compiler::new(0, &build.config.build);
|
||||
let src = build.src.join("src/doc").join(name);
|
||||
let src = src.join(name);
|
||||
let index = out.join("index.html");
|
||||
let rustbook = build.tool(&compiler, "rustbook");
|
||||
if up_to_date(&src, &index) && up_to_date(&rustbook, &index) {
|
||||
|
|
@ -354,6 +362,19 @@ pub fn error_index(build: &Build, target: &str) {
|
|||
build.run(&mut index);
|
||||
}
|
||||
|
||||
pub fn unstable_book_gen(build: &Build, target: &str) {
|
||||
println!("Generating unstable book md files ({})", target);
|
||||
let out = build.md_doc_out(target).join("unstable-book");
|
||||
t!(fs::create_dir_all(&out));
|
||||
t!(fs::remove_dir_all(&out));
|
||||
let compiler = Compiler::new(0, &build.config.build);
|
||||
let mut cmd = build.tool_cmd(&compiler, "unstable-book-gen");
|
||||
cmd.arg(build.src.join("src"));
|
||||
cmd.arg(out);
|
||||
|
||||
build.run(&mut cmd);
|
||||
}
|
||||
|
||||
fn symlink_dir_force(src: &Path, dst: &Path) -> io::Result<()> {
|
||||
if let Ok(m) = fs::symlink_metadata(dst) {
|
||||
if m.file_type().is_dir() {
|
||||
|
|
|
|||
|
|
@ -196,9 +196,14 @@ Arguments:
|
|||
./x.py build
|
||||
./x.py build --stage 1
|
||||
|
||||
For a quick build with a usable compile, you can pass:
|
||||
For a quick build of a usable compiler, you can pass:
|
||||
|
||||
./x.py build --stage 1 src/libtest");
|
||||
./x.py build --stage 1 src/libtest
|
||||
|
||||
This will first build everything once (like --stage 0 without further
|
||||
arguments would), and then use the compiler built in stage 0 to build
|
||||
src/libtest and its dependencies.
|
||||
Once this is done, build/$ARCH/stage1 contains a usable compiler.");
|
||||
}
|
||||
"test" => {
|
||||
subcommand_help.push_str("\n
|
||||
|
|
@ -237,11 +242,18 @@ Arguments:
|
|||
let cwd = t!(env::current_dir());
|
||||
let paths = matches.free[1..].iter().map(|p| cwd.join(p)).collect::<Vec<_>>();
|
||||
|
||||
let cfg_file = matches.opt_str("config").map(PathBuf::from).or_else(|| {
|
||||
if fs::metadata("config.toml").is_ok() {
|
||||
Some(PathBuf::from("config.toml"))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
});
|
||||
|
||||
// All subcommands can have an optional "Available paths" section
|
||||
if matches.opt_present("verbose") {
|
||||
let flags = Flags::parse(&["build".to_string()]);
|
||||
let mut config = Config::default();
|
||||
let mut config = Config::parse(&flags.build, cfg_file.clone());
|
||||
config.build = flags.build.clone();
|
||||
let mut build = Build::new(flags, config);
|
||||
metadata::build(&mut build);
|
||||
|
|
@ -302,14 +314,6 @@ Arguments:
|
|||
};
|
||||
|
||||
|
||||
let cfg_file = matches.opt_str("config").map(PathBuf::from).or_else(|| {
|
||||
if fs::metadata("config.toml").is_ok() {
|
||||
Some(PathBuf::from("config.toml"))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
});
|
||||
|
||||
let mut stage = matches.opt_str("stage").map(|j| j.parse().unwrap());
|
||||
|
||||
if matches.opt_present("incremental") {
|
||||
|
|
|
|||
|
|
@ -594,6 +594,9 @@ impl Build {
|
|||
if self.config.backtrace {
|
||||
features.push_str(" backtrace");
|
||||
}
|
||||
if self.config.profiler {
|
||||
features.push_str(" profiler");
|
||||
}
|
||||
return features
|
||||
}
|
||||
|
||||
|
|
@ -677,6 +680,11 @@ impl Build {
|
|||
self.out.join(target).join("doc")
|
||||
}
|
||||
|
||||
/// Output directory for some generated md crate documentation for a target (temporary)
|
||||
fn md_doc_out(&self, target: &str) -> PathBuf {
|
||||
self.out.join(target).join("md-doc")
|
||||
}
|
||||
|
||||
/// Output directory for all crate documentation for a target (temporary)
|
||||
///
|
||||
/// The artifacts here are then copied into `doc_out` above.
|
||||
|
|
|
|||
|
|
@ -463,7 +463,7 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
|
|||
rules.test("check-linkchecker", "src/tools/linkchecker")
|
||||
.dep(|s| s.name("tool-linkchecker").stage(0))
|
||||
.dep(|s| s.name("default:doc"))
|
||||
.default(true)
|
||||
.default(build.config.docs)
|
||||
.host(true)
|
||||
.run(move |s| check::linkcheck(build, s.target));
|
||||
rules.test("check-cargotest", "src/tools/cargotest")
|
||||
|
|
@ -548,6 +548,10 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
|
|||
.dep(|s| s.name("maybe-clean-tools"))
|
||||
.dep(|s| s.name("librustc-tool"))
|
||||
.run(move |s| compile::tool(build, s.stage, s.target, "error_index_generator"));
|
||||
rules.build("tool-unstable-book-gen", "src/tools/unstable-book-gen")
|
||||
.dep(|s| s.name("maybe-clean-tools"))
|
||||
.dep(|s| s.name("libstd-tool"))
|
||||
.run(move |s| compile::tool(build, s.stage, s.target, "unstable-book-gen"));
|
||||
rules.build("tool-tidy", "src/tools/tidy")
|
||||
.dep(|s| s.name("maybe-clean-tools"))
|
||||
.dep(|s| s.name("libstd-tool"))
|
||||
|
|
@ -662,8 +666,12 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
|
|||
.target(&build.config.build)
|
||||
.stage(0)
|
||||
})
|
||||
.dep(move |s| s.name("doc-unstable-book-gen"))
|
||||
.default(build.config.docs)
|
||||
.run(move |s| doc::rustbook(build, s.target, "unstable-book"));
|
||||
.run(move |s| doc::rustbook_src(build,
|
||||
s.target,
|
||||
"unstable-book",
|
||||
&build.md_doc_out(s.target)));
|
||||
rules.doc("doc-standalone", "src/doc")
|
||||
.dep(move |s| {
|
||||
s.name("rustc")
|
||||
|
|
@ -679,6 +687,17 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
|
|||
.default(build.config.docs)
|
||||
.host(true)
|
||||
.run(move |s| doc::error_index(build, s.target));
|
||||
rules.doc("doc-unstable-book-gen", "src/tools/unstable-book-gen")
|
||||
.dep(move |s| {
|
||||
s.name("tool-unstable-book-gen")
|
||||
.host(&build.config.build)
|
||||
.target(&build.config.build)
|
||||
.stage(0)
|
||||
})
|
||||
.dep(move |s| s.name("libstd-link"))
|
||||
.default(build.config.docs)
|
||||
.host(true)
|
||||
.run(move |s| doc::unstable_book_gen(build, s.target));
|
||||
for (krate, path, default) in krates("std") {
|
||||
rules.doc(&krate.doc_step, path)
|
||||
.dep(|s| s.name("libstd-link"))
|
||||
|
|
@ -1407,13 +1426,20 @@ mod tests {
|
|||
fn build(args: &[&str],
|
||||
extra_host: &[&str],
|
||||
extra_target: &[&str]) -> Build {
|
||||
build_(args, extra_host, extra_target, true)
|
||||
}
|
||||
|
||||
fn build_(args: &[&str],
|
||||
extra_host: &[&str],
|
||||
extra_target: &[&str],
|
||||
docs: bool) -> Build {
|
||||
let mut args = args.iter().map(|s| s.to_string()).collect::<Vec<_>>();
|
||||
args.push("--build".to_string());
|
||||
args.push("A".to_string());
|
||||
let flags = Flags::parse(&args);
|
||||
|
||||
let mut config = Config::default();
|
||||
config.docs = true;
|
||||
config.docs = docs;
|
||||
config.build = "A".to_string();
|
||||
config.host = vec![config.build.clone()];
|
||||
config.host.extend(extra_host.iter().map(|s| s.to_string()));
|
||||
|
|
@ -1768,4 +1794,22 @@ mod tests {
|
|||
assert!(!plan.iter().any(|s| s.name.contains("tidy")));
|
||||
assert!(plan.iter().any(|s| s.name.contains("valgrind")));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_disable_docs() {
|
||||
let build = build_(&["test"], &[], &[], false);
|
||||
let rules = super::build_rules(&build);
|
||||
let plan = rules.plan();
|
||||
println!("rules: {:#?}", plan);
|
||||
assert!(!plan.iter().any(|s| {
|
||||
s.name.contains("doc-") || s.name.contains("default:doc")
|
||||
}));
|
||||
// none of the dependencies should be a doc rule either
|
||||
assert!(!plan.iter().any(|s| {
|
||||
rules.rules[s.name].deps.iter().any(|dep| {
|
||||
let dep = dep(&rules.sbuild.name(s.name));
|
||||
dep.name.contains("doc-") || dep.name.contains("default:doc")
|
||||
})
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
44
src/ci/docker/asmjs/Dockerfile
Normal file
44
src/ci/docker/asmjs/Dockerfile
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
g++ \
|
||||
make \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
gdb \
|
||||
xz-utils
|
||||
|
||||
# dumb-init
|
||||
COPY scripts/dumb-init.sh /scripts/
|
||||
RUN sh /scripts/dumb-init.sh
|
||||
|
||||
# emscripten
|
||||
COPY scripts/emscripten.sh /scripts/
|
||||
RUN bash /scripts/emscripten.sh
|
||||
|
||||
# env
|
||||
ENV PATH=$PATH:/emsdk-portable
|
||||
ENV PATH=$PATH:/emsdk-portable/clang/e1.37.13_64bit/
|
||||
ENV PATH=$PATH:/emsdk-portable/emscripten/1.37.13/
|
||||
ENV PATH=$PATH:/emsdk-portable/node/4.1.1_64bit/bin/
|
||||
ENV EMSCRIPTEN=/emsdk-portable/emscripten/1.37.13/
|
||||
ENV BINARYEN_ROOT=/emsdk-portable/clang/e1.37.13_64bit/binaryen/
|
||||
ENV EM_CONFIG=/emsdk-portable/.emscripten
|
||||
|
||||
ENV TARGETS=asmjs-unknown-emscripten
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --target=$TARGETS
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py test --target $TARGETS
|
||||
|
||||
# cache
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
# init
|
||||
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
||||
44
src/ci/docker/disabled/wasm32/Dockerfile
Normal file
44
src/ci/docker/disabled/wasm32/Dockerfile
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
g++ \
|
||||
make \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
gdb \
|
||||
xz-utils
|
||||
|
||||
# dumb-init
|
||||
COPY scripts/dumb-init.sh /scripts/
|
||||
RUN sh /scripts/dumb-init.sh
|
||||
|
||||
# emscripten
|
||||
COPY scripts/emscripten.sh /scripts/
|
||||
RUN bash /scripts/emscripten.sh
|
||||
COPY wasm32/node.sh /usr/local/bin/node
|
||||
|
||||
# env
|
||||
ENV PATH=$PATH:/emsdk-portable
|
||||
ENV PATH=$PATH:/emsdk-portable/clang/e1.37.13_64bit/
|
||||
ENV PATH=$PATH:/emsdk-portable/emscripten/1.37.13/
|
||||
ENV EMSCRIPTEN=/emsdk-portable/emscripten/1.37.13/
|
||||
ENV BINARYEN_ROOT=/emsdk-portable/clang/e1.37.13_64bit/binaryen/
|
||||
ENV EM_CONFIG=/emsdk-portable/.emscripten
|
||||
|
||||
ENV TARGETS=wasm32-unknown-emscripten
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --target=$TARGETS
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py test --target $TARGETS
|
||||
|
||||
# cache
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
# init
|
||||
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
||||
18
src/ci/docker/disabled/wasm32/node.sh
Executable file
18
src/ci/docker/disabled/wasm32/node.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
# file at the top-level directory of this distribution and at
|
||||
# http://rust-lang.org/COPYRIGHT.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
# option. This file may not be copied, modified, or distributed
|
||||
# except according to those terms.
|
||||
|
||||
path="$(dirname $1)"
|
||||
file="$(basename $1)"
|
||||
|
||||
shift
|
||||
|
||||
cd "$path"
|
||||
exec /node-v8.0.0-linux-x64/bin/node "$file" "$@"
|
||||
|
|
@ -90,7 +90,8 @@ ENV HOSTS=i686-unknown-linux-gnu
|
|||
ENV RUST_CONFIGURE_ARGS \
|
||||
--host=$HOSTS \
|
||||
--enable-extended \
|
||||
--enable-sanitizers
|
||||
--enable-sanitizers \
|
||||
--enable-profiler
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
# This is the only builder which will create source tarballs
|
||||
|
|
|
|||
|
|
@ -90,7 +90,8 @@ ENV HOSTS=x86_64-unknown-linux-gnu
|
|||
ENV RUST_CONFIGURE_ARGS \
|
||||
--host=$HOSTS \
|
||||
--enable-extended \
|
||||
--enable-sanitizers
|
||||
--enable-sanitizers \
|
||||
--enable-profiler
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
# This is the only builder which will create source tarballs
|
||||
|
|
|
|||
|
|
@ -1,41 +0,0 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
g++ \
|
||||
make \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
gdb \
|
||||
xz-utils \
|
||||
lib32stdc++6
|
||||
|
||||
RUN curl -o /usr/local/bin/sccache \
|
||||
https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-unknown-linux-musl && \
|
||||
chmod +x /usr/local/bin/sccache
|
||||
|
||||
RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \
|
||||
dpkg -i dumb-init_*.deb && \
|
||||
rm dumb-init_*.deb
|
||||
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
||||
|
||||
WORKDIR /tmp
|
||||
COPY emscripten/build-emscripten.sh /tmp/
|
||||
RUN ./build-emscripten.sh
|
||||
ENV PATH=$PATH:/tmp/emsdk_portable
|
||||
ENV PATH=$PATH:/tmp/emsdk_portable/clang/tag-e1.37.10/build_tag-e1.37.10_32/bin
|
||||
ENV PATH=$PATH:/tmp/emsdk_portable/node/4.1.1_32bit/bin
|
||||
ENV PATH=$PATH:/tmp/emsdk_portable/emscripten/tag-1.37.10
|
||||
ENV EMSCRIPTEN=/tmp/emsdk_portable/emscripten/tag-1.37.10
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --target=asmjs-unknown-emscripten
|
||||
|
||||
# Run `emcc` first as it's got a prompt and doesn't actually do anything, after
|
||||
# that's done with do the real build.
|
||||
ENV SCRIPT emcc && \
|
||||
python2.7 ../x.py test --target asmjs-unknown-emscripten
|
||||
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
# file at the top-level directory of this distribution and at
|
||||
# http://rust-lang.org/COPYRIGHT.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
# option. This file may not be copied, modified, or distributed
|
||||
# except according to those terms.
|
||||
|
||||
set -ex
|
||||
|
||||
hide_output() {
|
||||
set +x
|
||||
on_err="
|
||||
echo ERROR: An error was encountered with the build.
|
||||
cat /tmp/build.log
|
||||
exit 1
|
||||
"
|
||||
trap "$on_err" ERR
|
||||
bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
|
||||
PING_LOOP_PID=$!
|
||||
$@ &> /tmp/build.log
|
||||
trap - ERR
|
||||
kill $PING_LOOP_PID
|
||||
rm /tmp/build.log
|
||||
set -x
|
||||
}
|
||||
|
||||
curl https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz | \
|
||||
tar xzf -
|
||||
|
||||
# Some versions of the EMSDK archive have their contents in .emsdk-portable
|
||||
# and others in emsdk_portable. Make sure the EMSDK ends up in a fixed path.
|
||||
if [ -d emsdk-portable ]; then
|
||||
mv emsdk-portable emsdk_portable
|
||||
fi
|
||||
|
||||
if [ ! -d emsdk_portable ]; then
|
||||
echo "ERROR: Invalid emsdk archive. Dumping working directory." >&2
|
||||
ls -l
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Some versions of the EMSDK set the permissions of the root directory to
|
||||
# 0700. Ensure the directory is readable by all users.
|
||||
chmod 755 emsdk_portable
|
||||
|
||||
source emsdk_portable/emsdk_env.sh
|
||||
hide_output emsdk update
|
||||
hide_output emsdk install --build=Release sdk-tag-1.37.10-32bit
|
||||
hide_output emsdk activate --build=Release sdk-tag-1.37.10-32bit
|
||||
53
src/ci/docker/scripts/emscripten.sh
Normal file
53
src/ci/docker/scripts/emscripten.sh
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
# file at the top-level directory of this distribution and at
|
||||
# http://rust-lang.org/COPYRIGHT.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
# option. This file may not be copied, modified, or distributed
|
||||
# except according to those terms.
|
||||
|
||||
set -ex
|
||||
|
||||
hide_output() {
|
||||
set +x
|
||||
on_err="
|
||||
echo ERROR: An error was encountered with the build.
|
||||
cat /tmp/build.log
|
||||
exit 1
|
||||
"
|
||||
trap "$on_err" ERR
|
||||
bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
|
||||
PING_LOOP_PID=$!
|
||||
$@ &> /tmp/build.log
|
||||
trap - ERR
|
||||
kill $PING_LOOP_PID
|
||||
rm -f /tmp/build.log
|
||||
set -x
|
||||
}
|
||||
|
||||
cd /
|
||||
curl -L https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz | \
|
||||
tar -xz
|
||||
|
||||
cd /emsdk-portable
|
||||
./emsdk update
|
||||
hide_output ./emsdk install sdk-1.37.13-64bit
|
||||
./emsdk activate sdk-1.37.13-64bit
|
||||
|
||||
# Compile and cache libc
|
||||
source ./emsdk_env.sh
|
||||
echo "main(){}" > a.c
|
||||
HOME=/emsdk-portable/ emcc a.c
|
||||
HOME=/emsdk-portable/ emcc -s BINARYEN=1 a.c
|
||||
rm -f a.*
|
||||
|
||||
# Make emsdk usable by any user
|
||||
cp /root/.emscripten /emsdk-portable
|
||||
chmod a+rxw -R /emsdk-portable
|
||||
|
||||
# node 8 is required to run wasm
|
||||
cd /
|
||||
curl -L https://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-x64.tar.xz | \
|
||||
tar -xJ
|
||||
|
|
@ -22,5 +22,5 @@ RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-ini
|
|||
rm dumb-init_*.deb
|
||||
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu --enable-sanitizers
|
||||
ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu --enable-sanitizers --enable-profiler
|
||||
ENV SCRIPT python2.7 ../x.py test
|
||||
|
|
|
|||
|
|
@ -22,9 +22,6 @@ REPO_DIR="$1"
|
|||
CACHE_DIR="$2"
|
||||
|
||||
cache_src_dir="$CACHE_DIR/src"
|
||||
# If the layout of the cache directory changes, bump the number here
|
||||
# (and anywhere else this file is referenced) so the cache is wiped
|
||||
cache_valid_file="$CACHE_DIR/cache_valid1"
|
||||
|
||||
if [ ! -d "$REPO_DIR" -o ! -d "$REPO_DIR/.git" ]; then
|
||||
echo "Error: $REPO_DIR does not exist or is not a git repo"
|
||||
|
|
@ -36,47 +33,19 @@ if [ ! -d "$CACHE_DIR" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Wipe the cache if it's not valid, or mark it as invalid while we update it
|
||||
if [ ! -f "$cache_valid_file" ]; then
|
||||
echo "Invalid cache, wiping ($cache_valid_file missing)"
|
||||
rm -rf "$CACHE_DIR"
|
||||
mkdir "$CACHE_DIR"
|
||||
else
|
||||
# Ignore errors while gathering information about the possible brokenness
|
||||
# of the git repo since our gathered info will tell us something is wrong
|
||||
set +o errexit
|
||||
stat_lines=$(cd "$cache_src_dir" && git status --porcelain | wc -l)
|
||||
stat_ec=$(cd "$cache_src_dir" && git status >/dev/null 2>&1; echo $?)
|
||||
set -o errexit
|
||||
if [ ! -d "$cache_src_dir/.git" -o $stat_lines != 0 -o $stat_ec != 0 ]; then
|
||||
# Something is badly wrong - the cache valid file is here, but something
|
||||
# about the git repo is fishy. Nuke it all, just in case
|
||||
echo "WARNING: $cache_valid_file exists but bad repo: l:$stat_lines, ec:$stat_ec"
|
||||
rm -rf "$CACHE_DIR"
|
||||
mkdir "$CACHE_DIR"
|
||||
else
|
||||
echo "Valid cache ($cache_valid_file exists)"
|
||||
rm "$cache_valid_file"
|
||||
fi
|
||||
fi
|
||||
rm -rf "$CACHE_DIR"
|
||||
mkdir "$CACHE_DIR"
|
||||
|
||||
travis_fold start update_cache
|
||||
travis_time_start
|
||||
|
||||
# Update the cache (a pristine copy of the rust source master)
|
||||
if [ ! -d "$cache_src_dir/.git" ]; then
|
||||
retry sh -c "rm -rf $cache_src_dir && mkdir -p $cache_src_dir && \
|
||||
git clone https://github.com/rust-lang/rust.git $cache_src_dir"
|
||||
fi
|
||||
retry sh -c "cd $cache_src_dir && git reset --hard && git pull"
|
||||
retry sh -c "rm -rf $cache_src_dir && mkdir -p $cache_src_dir && \
|
||||
git clone --depth 1 https://github.com/rust-lang/rust.git $cache_src_dir"
|
||||
(cd $cache_src_dir && git rm src/llvm)
|
||||
retry sh -c "cd $cache_src_dir && \
|
||||
git submodule deinit -f . && git submodule sync && git submodule update --init"
|
||||
|
||||
# Cache was updated without errors, mark it as valid
|
||||
echo "Refreshed cache (touch $cache_valid_file)"
|
||||
touch "$cache_valid_file"
|
||||
|
||||
travis_fold end update_cache
|
||||
travis_time_finish
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit f746084b099060f55ac5e7d8050797593fcedd6e
|
||||
Subproject commit 325c3da0814f44916bef00ff225f934f2d613203
|
||||
|
|
@ -154,19 +154,19 @@ token : simple_token | ident | literal | symbol | whitespace token ;
|
|||
|
||||
<p id="keyword-table-marker"></p>
|
||||
|
||||
| | | | | |
|
||||
|----------|----------|----------|----------|---------|
|
||||
| abstract | alignof | as | become | box |
|
||||
| break | const | continue | crate | do |
|
||||
| else | enum | extern | false | final |
|
||||
| fn | for | if | impl | in |
|
||||
| let | loop | macro | match | mod |
|
||||
| move | mut | offsetof | override | priv |
|
||||
| proc | pub | pure | ref | return |
|
||||
| Self | self | sizeof | static | struct |
|
||||
| super | trait | true | type | typeof |
|
||||
| unsafe | unsized | use | virtual | where |
|
||||
| while | yield | | | |
|
||||
| | | | | |
|
||||
|----------|----------|----------|----------|----------|
|
||||
| _ | abstract | alignof | as | become |
|
||||
| box | break | const | continue | crate |
|
||||
| do | else | enum | extern | false |
|
||||
| final | fn | for | if | impl |
|
||||
| in | let | loop | macro | match |
|
||||
| mod | move | mut | offsetof | override |
|
||||
| priv | proc | pub | pure | ref |
|
||||
| return | Self | self | sizeof | static |
|
||||
| struct | super | trait | true | type |
|
||||
| typeof | unsafe | unsized | use | virtual |
|
||||
| where | while | yield | | |
|
||||
|
||||
|
||||
Each of these keywords has special meaning in its grammar, and all of them are
|
||||
|
|
|
|||
|
|
@ -1,222 +0,0 @@
|
|||
[The Unstable Book](the-unstable-book.md)
|
||||
|
||||
- [Compiler flags](compiler-flags.md)
|
||||
- [linker_flavor](compiler-flags/linker-flavor.md)
|
||||
- [remap_path_prefix](compiler-flags/remap-path-prefix.md)
|
||||
- [Language features](language-features.md)
|
||||
- [abi_msp430_interrupt](language-features/abi-msp430-interrupt.md)
|
||||
- [abi_ptx](language-features/abi-ptx.md)
|
||||
- [abi_sysv64](language-features/abi-sysv64.md)
|
||||
- [abi_thiscall](language-features/abi-thiscall.md)
|
||||
- [abi_unadjusted](language-features/abi-unadjusted.md)
|
||||
- [abi_vectorcall](language-features/abi-vectorcall.md)
|
||||
- [abi_x86_interrupt](language-features/abi-x86-interrupt.md)
|
||||
- [advanced_slice_patterns](language-features/advanced-slice-patterns.md)
|
||||
- [allocator](language-features/allocator.md)
|
||||
- [allow_internal_unstable](language-features/allow-internal-unstable.md)
|
||||
- [asm](language-features/asm.md)
|
||||
- [associated_consts](language-features/associated-consts.md)
|
||||
- [associated_type_defaults](language-features/associated-type-defaults.md)
|
||||
- [attr_literals](language-features/attr-literals.md)
|
||||
- [box_patterns](language-features/box-patterns.md)
|
||||
- [box_syntax](language-features/box-syntax.md)
|
||||
- [catch_expr](language-features/catch-expr.md)
|
||||
- [cfg_target_feature](language-features/cfg-target-feature.md)
|
||||
- [cfg_target_has_atomic](language-features/cfg-target-has-atomic.md)
|
||||
- [cfg_target_thread_local](language-features/cfg-target-thread-local.md)
|
||||
- [cfg_target_vendor](language-features/cfg-target-vendor.md)
|
||||
- [compiler_builtins](language-features/compiler-builtins.md)
|
||||
- [concat_idents](language-features/concat-idents.md)
|
||||
- [conservative_impl_trait](language-features/conservative-impl-trait.md)
|
||||
- [const_fn](language-features/const-fn.md)
|
||||
- [const_indexing](language-features/const-indexing.md)
|
||||
- [custom_attribute](language-features/custom-attribute.md)
|
||||
- [custom_derive](language-features/custom-derive.md)
|
||||
- [default_type_parameter_fallback](language-features/default-type-parameter-fallback.md)
|
||||
- [drop_types_in_const](language-features/drop-types-in-const.md)
|
||||
- [dropck_eyepatch](language-features/dropck-eyepatch.md)
|
||||
- [dropck_parametricity](language-features/dropck-parametricity.md)
|
||||
- [exclusive_range_pattern](language-features/exclusive-range-pattern.md)
|
||||
- [fundamental](language-features/fundamental.md)
|
||||
- [generic_param_attrs](language-features/generic-param-attrs.md)
|
||||
- [global_asm](language-features/global_asm.md)
|
||||
- [i128_type](language-features/i128-type.md)
|
||||
- [inclusive_range_syntax](language-features/inclusive-range-syntax.md)
|
||||
- [intrinsics](language-features/intrinsics.md)
|
||||
- [lang_items](language-features/lang-items.md)
|
||||
- [link_args](language-features/link-args.md)
|
||||
- [link_cfg](language-features/link-cfg.md)
|
||||
- [link_llvm_intrinsics](language-features/link-llvm-intrinsics.md)
|
||||
- [linkage](language-features/linkage.md)
|
||||
- [log_syntax](language-features/log-syntax.md)
|
||||
- [macro_reexport](language-features/macro-reexport.md)
|
||||
- [macro_vis_matcher](language-features/macro-vis-matcher.md)
|
||||
- [main](language-features/main.md)
|
||||
- [naked_functions](language-features/naked-functions.md)
|
||||
- [needs_allocator](language-features/needs-allocator.md)
|
||||
- [needs_panic_runtime](language-features/needs-panic-runtime.md)
|
||||
- [never_type](language-features/never-type.md)
|
||||
- [no_core](language-features/no-core.md)
|
||||
- [no_debug](language-features/no-debug.md)
|
||||
- [non_ascii_idents](language-features/non-ascii-idents.md)
|
||||
- [omit_gdb_pretty_printer_section](language-features/omit-gdb-pretty-printer-section.md)
|
||||
- [on_unimplemented](language-features/on-unimplemented.md)
|
||||
- [optin_builtin_traits](language-features/optin-builtin-traits.md)
|
||||
- [overlapping_marker_traits](language-features/overlapping-marker-traits.md)
|
||||
- [panic_runtime](language-features/panic-runtime.md)
|
||||
- [placement_in_syntax](language-features/placement-in-syntax.md)
|
||||
- [platform_intrinsics](language-features/platform-intrinsics.md)
|
||||
- [plugin](language-features/plugin.md)
|
||||
- [plugin_registrar](language-features/plugin-registrar.md)
|
||||
- [prelude_import](language-features/prelude-import.md)
|
||||
- [proc_macro](language-features/proc-macro.md)
|
||||
- [quote](language-features/quote.md)
|
||||
- [repr_align](language-features/repr-align.md)
|
||||
- [repr_simd](language-features/repr-simd.md)
|
||||
- [rustc_attrs](language-features/rustc-attrs.md)
|
||||
- [rustc_diagnostic_macros](language-features/rustc-diagnostic-macros.md)
|
||||
- [rvalue_static_promotion](language-features/rvalue-static-promotion.md)
|
||||
- [sanitizer_runtime](language-features/sanitizer-runtime.md)
|
||||
- [simd](language-features/simd.md)
|
||||
- [simd_ffi](language-features/simd-ffi.md)
|
||||
- [slice_patterns](language-features/slice-patterns.md)
|
||||
- [specialization](language-features/specialization.md)
|
||||
- [staged_api](language-features/staged-api.md)
|
||||
- [start](language-features/start.md)
|
||||
- [static_nobundle](language-features/static-nobundle.md)
|
||||
- [stmt_expr_attributes](language-features/stmt-expr-attributes.md)
|
||||
- [struct_field_attributes](language-features/struct-field-attributes.md)
|
||||
- [structural_match](language-features/structural-match.md)
|
||||
- [target_feature](language-features/target-feature.md)
|
||||
- [thread_local](language-features/thread-local.md)
|
||||
- [trace_macros](language-features/trace-macros.md)
|
||||
- [type_ascription](language-features/type-ascription.md)
|
||||
- [unboxed_closures](language-features/unboxed-closures.md)
|
||||
- [untagged_unions](language-features/untagged-unions.md)
|
||||
- [unwind_attributes](language-features/unwind-attributes.md)
|
||||
- [use_extern_macros](language-features/use-extern-macros.md)
|
||||
- [used](language-features/used.md)
|
||||
- [Library Features](library-features.md)
|
||||
- [alloc_jemalloc](library-features/alloc-jemalloc.md)
|
||||
- [alloc_system](library-features/alloc-system.md)
|
||||
- [alloc](library-features/alloc.md)
|
||||
- [as_c_str](library-features/as-c-str.md)
|
||||
- [ascii_ctype](library-features/ascii-ctype.md)
|
||||
- [box_heap](library-features/box-heap.md)
|
||||
- [c_void_variant](library-features/c-void-variant.md)
|
||||
- [char_escape_debug](library-features/char-escape-debug.md)
|
||||
- [coerce_unsized](library-features/coerce-unsized.md)
|
||||
- [collection_placement](library-features/collection-placement.md)
|
||||
- [collections_range](library-features/collections-range.md)
|
||||
- [collections](library-features/collections.md)
|
||||
- [command_envs](library-features/command-envs.md)
|
||||
- [compiler_builtins_lib](library-features/compiler-builtins-lib.md)
|
||||
- [compiler_fences](library-features/compiler-fences.md)
|
||||
- [concat_idents_macro](library-features/concat-idents-macro.md)
|
||||
- [core_char_ext](library-features/core-char-ext.md)
|
||||
- [core_float](library-features/core-float.md)
|
||||
- [core_intrinsics](library-features/core-intrinsics.md)
|
||||
- [core_panic](library-features/core-panic.md)
|
||||
- [core_private_bignum](library-features/core-private-bignum.md)
|
||||
- [core_private_diy_float](library-features/core-private-diy-float.md)
|
||||
- [core_slice_ext](library-features/core-slice-ext.md)
|
||||
- [core_str_ext](library-features/core-str-ext.md)
|
||||
- [dec2flt](library-features/dec2flt.md)
|
||||
- [decode_utf8](library-features/decode-utf8.md)
|
||||
- [derive_clone_copy](library-features/derive-clone-copy.md)
|
||||
- [derive_eq](library-features/derive-eq.md)
|
||||
- [discriminant_value](library-features/discriminant-value.md)
|
||||
- [error_type_id](library-features/error-type-id.md)
|
||||
- [exact_size_is_empty](library-features/exact-size-is-empty.md)
|
||||
- [fd](library-features/fd.md)
|
||||
- [fd_read](library-features/fd-read.md)
|
||||
- [fixed_size_array](library-features/fixed-size-array.md)
|
||||
- [float_bits_conv](library-features/float-bits-conv.md)
|
||||
- [flt2dec](library-features/flt2dec.md)
|
||||
- [fmt_flags_align](library-features/fmt-flags-align.md)
|
||||
- [fmt_internals](library-features/fmt-internals.md)
|
||||
- [fn_traits](library-features/fn-traits.md)
|
||||
- [fnbox](library-features/fnbox.md)
|
||||
- [from_utf8_error_as_bytes](library-features/from_utf8_error_as_bytes.md)
|
||||
- [fused](library-features/fused.md)
|
||||
- [future_atomic_orderings](library-features/future-atomic-orderings.md)
|
||||
- [get_type_id](library-features/get-type-id.md)
|
||||
- [heap_api](library-features/heap-api.md)
|
||||
- [hint_core_should_pause](library-features/hint-core-should-pause.md)
|
||||
- [i128](library-features/i128.md)
|
||||
- [inclusive_range](library-features/inclusive-range.md)
|
||||
- [integer_atomics](library-features/integer-atomics.md)
|
||||
- [into_boxed_c_str](library-features/into-boxed-c-str.md)
|
||||
- [into_boxed_os_str](library-features/into-boxed-os-str.md)
|
||||
- [into_boxed_path](library-features/into-boxed-path.md)
|
||||
- [io_error_internals](library-features/io-error-internals.md)
|
||||
- [io](library-features/io.md)
|
||||
- [ip](library-features/ip.md)
|
||||
- [iter_rfind](library-features/iter-rfind.md)
|
||||
- [iterator_step_by](library-features/iterator-step-by.md)
|
||||
- [libstd_io_internals](library-features/libstd-io-internals.md)
|
||||
- [libstd_sys_internals](library-features/libstd-sys-internals.md)
|
||||
- [libstd_thread_internals](library-features/libstd-thread-internals.md)
|
||||
- [linked_list_extras](library-features/linked-list-extras.md)
|
||||
- [lookup_host](library-features/lookup-host.md)
|
||||
- [manually_drop](library-features/manually-drop.md)
|
||||
- [more_io_inner_methods](library-features/more-io-inner-methods.md)
|
||||
- [mpsc_select](library-features/mpsc-select.md)
|
||||
- [n16](library-features/n16.md)
|
||||
- [never_type_impls](library-features/never-type-impls.md)
|
||||
- [nonzero](library-features/nonzero.md)
|
||||
- [offset_to](library-features/offset-to.md)
|
||||
- [once_poison](library-features/once-poison.md)
|
||||
- [oom](library-features/oom.md)
|
||||
- [option_entry](library-features/option-entry.md)
|
||||
- [osstring_shrink_to_fit](library-features/osstring-shrink-to-fit.md)
|
||||
- [panic_abort](library-features/panic-abort.md)
|
||||
- [panic_unwind](library-features/panic-unwind.md)
|
||||
- [pattern](library-features/pattern.md)
|
||||
- [placement_in](library-features/placement-in.md)
|
||||
- [placement_new_protocol](library-features/placement-new-protocol.md)
|
||||
- [print_internals](library-features/print-internals.md)
|
||||
- [proc_macro_internals](library-features/proc-macro-internals.md)
|
||||
- [question_mark_carrier](library-features/question-mark-carrier.md)
|
||||
- [rand](library-features/rand.md)
|
||||
- [range_contains](library-features/range-contains.md)
|
||||
- [raw](library-features/raw.md)
|
||||
- [reverse_cmp_key](library-features/reverse-cmp-key.md)
|
||||
- [rt](library-features/rt.md)
|
||||
- [rustc_private](library-features/rustc-private.md)
|
||||
- [sanitizer_runtime_lib](library-features/sanitizer-runtime-lib.md)
|
||||
- [set_stdio](library-features/set-stdio.md)
|
||||
- [shared](library-features/shared.md)
|
||||
- [sip_hash_13](library-features/sip-hash-13.md)
|
||||
- [slice_concat_ext](library-features/slice-concat-ext.md)
|
||||
- [slice_get_slice](library-features/slice-get-slice.md)
|
||||
- [slice_rotate](library-features/slice-rotate.md)
|
||||
- [slice_rsplit](library-features/slice-rsplit.md)
|
||||
- [sort_internals](library-features/sort-internals.md)
|
||||
- [sort_unstable](library-features/sort-unstable.md)
|
||||
- [splice](library-features/splice.md)
|
||||
- [step_by](library-features/step-by.md)
|
||||
- [step_trait](library-features/step-trait.md)
|
||||
- [str_checked_slicing](library-features/str-checked-slicing.md)
|
||||
- [str_escape](library-features/str-escape.md)
|
||||
- [str_internals](library-features/str-internals.md)
|
||||
- [str_box_extras](library-features/str-box-extras.md)
|
||||
- [str_mut_extras](library-features/str-mut-extras.md)
|
||||
- [test](library-features/test.md)
|
||||
- [thread_id](library-features/thread-id.md)
|
||||
- [thread_local_internals](library-features/thread-local-internals.md)
|
||||
- [thread_local_state](library-features/thread-local-state.md)
|
||||
- [toowned_clone_into](library-features/toowned-clone-into.md)
|
||||
- [trusted_len](library-features/trusted-len.md)
|
||||
- [try_from](library-features/try-from.md)
|
||||
- [try_trait](library-features/try-trait.md)
|
||||
- [unicode](library-features/unicode.md)
|
||||
- [unique](library-features/unique.md)
|
||||
- [unsize](library-features/unsize.md)
|
||||
- [utf8_error_error_len](library-features/utf8-error-error-len.md)
|
||||
- [vec_resize_default](library-features/vec-resize-default.md)
|
||||
- [vec_remove_item](library-features/vec-remove-item.md)
|
||||
- [windows_c](library-features/windows-c.md)
|
||||
- [windows_handle](library-features/windows-handle.md)
|
||||
- [windows_net](library-features/windows-net.md)
|
||||
- [windows_stdio](library-features/windows-stdio.md)
|
||||
21
src/doc/unstable-book/src/compiler-flags/profile.md
Normal file
21
src/doc/unstable-book/src/compiler-flags/profile.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# `profile`
|
||||
|
||||
The tracking issue for this feature is: [#42524](https://github.com/rust-lang/rust/issues/42524).
|
||||
|
||||
------------------------
|
||||
|
||||
This feature allows the generation of code coverage reports.
|
||||
|
||||
Set the `-Zprofile` compiler flag in order to enable gcov profiling.
|
||||
|
||||
For example:
|
||||
```Bash
|
||||
cargo new testgcov --bin
|
||||
cd testgcov
|
||||
export RUSTFLAGS="-Zprofile"
|
||||
cargo build
|
||||
cargo run
|
||||
```
|
||||
|
||||
Once you've built and run your program, files with the `gcno` (after build) and `gcda` (after execution) extensions will be created.
|
||||
You can parse them with [llvm-cov gcov](http://llvm.org/docs/CommandGuide/llvm-cov.html#llvm-cov-gcov) or [grcov](https://github.com/marco-c/grcov).
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `abi_sysv64`
|
||||
|
||||
The tracking issue for this feature is: [#36167]
|
||||
|
||||
[#36167]: https://github.com/rust-lang/rust/issues/36167
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `abi_unadjusted`
|
||||
|
||||
The tracking issue for this feature is: none.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `abi_vectorcall`
|
||||
|
||||
The tracking issue for this feature is: none.
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `abi_x86_interrupt`
|
||||
|
||||
The tracking issue for this feature is: [#40180]
|
||||
|
||||
[#40180]: https://github.com/rust-lang/rust/issues/40180
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `allow_internal_unstable`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -190,4 +190,4 @@ constraints, etc.
|
|||
[llvm-docs]: http://llvm.org/docs/LangRef.html#inline-assembler-expressions
|
||||
|
||||
If you need more power and don't mind losing some of the niceties of
|
||||
`asm!`, check out [global_asm](language-features/global_asm.html).
|
||||
`asm!`, check out [global_asm](language-features/global-asm.html).
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
# `associated_type_defaults`
|
||||
|
||||
The tracking issue for this feature is: [#29661]
|
||||
|
||||
[#29661]: https://github.com/rust-lang/rust/issues/29661
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `cfg_target_feature`
|
||||
|
||||
The tracking issue for this feature is: [#29717]
|
||||
|
||||
[#29717]: https://github.com/rust-lang/rust/issues/29717
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `cfg_target_has_atomic`
|
||||
|
||||
The tracking issue for this feature is: [#32976]
|
||||
|
||||
[#32976]: https://github.com/rust-lang/rust/issues/32976
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `cfg_target_thread_local`
|
||||
|
||||
The tracking issue for this feature is: [#29594]
|
||||
|
||||
[#29594]: https://github.com/rust-lang/rust/issues/29594
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `cfg_target_feature`
|
||||
|
||||
The tracking issue for this feature is: [#29717]
|
||||
|
||||
[#29717]: https://github.com/rust-lang/rust/issues/29717
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `custom_attribute`
|
||||
|
||||
The tracking issue for this feature is: [#29642]
|
||||
|
||||
[#29642]: https://github.com/rust-lang/rust/issues/29642
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `custom_derive`
|
||||
|
||||
The tracking issue for this feature is: [#29644]
|
||||
|
||||
[#29644]: https://github.com/rust-lang/rust/issues/29644
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `decl_macro`
|
||||
|
||||
The tracking issue for this feature is: [#39412]
|
||||
|
||||
[#39412]: https://github.com/rust-lang/rust/issues/39412
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `default_type_parameter_fallback`
|
||||
|
||||
The tracking issue for this feature is: [#27336]
|
||||
|
||||
[#27336]: https://github.com/rust-lang/rust/issues/27336
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `drop_types_in_const`
|
||||
|
||||
The tracking issue for this feature is: [#33156]
|
||||
|
||||
[#33156]: https://github.com/rust-lang/rust/issues/33156
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `dropck_eyepatch`
|
||||
|
||||
The tracking issue for this feature is: [#34761]
|
||||
|
||||
[#34761]: https://github.com/rust-lang/rust/issues/34761
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `dropck_parametricity`
|
||||
|
||||
The tracking issue for this feature is: [#28498]
|
||||
|
||||
[#28498]: https://github.com/rust-lang/rust/issues/28498
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `exclusive_range_pattern`
|
||||
|
||||
The tracking issue for this feature is: [#37854]
|
||||
|
||||
[#37854]: https://github.com/rust-lang/rust/issues/37854
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `fundamental`
|
||||
|
||||
The tracking issue for this feature is: [#29635]
|
||||
|
||||
[#29635]: https://github.com/rust-lang/rust/issues/29635
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `generic_param_attrs`
|
||||
|
||||
The tracking issue for this feature is: [#34761]
|
||||
|
||||
[#34761]: https://github.com/rust-lang/rust/issues/34761
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `link_cfg`
|
||||
|
||||
The tracking issue for this feature is: [#37406]
|
||||
|
||||
[#37406]: https://github.com/rust-lang/rust/issues/37406
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `link_llvm_intrinsics`
|
||||
|
||||
The tracking issue for this feature is: [#29602]
|
||||
|
||||
[#29602]: https://github.com/rust-lang/rust/issues/29602
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `linkage`
|
||||
|
||||
The tracking issue for this feature is: [#29603]
|
||||
|
||||
[#29603]: https://github.com/rust-lang/rust/issues/29603
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `log_syntax`
|
||||
|
||||
The tracking issue for this feature is: [#29598]
|
||||
|
||||
[#29598]: https://github.com/rust-lang/rust/issues/29598
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `macro_reexport`
|
||||
|
||||
The tracking issue for this feature is: [#29638]
|
||||
|
||||
[#29638]: https://github.com/rust-lang/rust/issues/29638
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `main`
|
||||
|
||||
The tracking issue for this feature is: [#29634]
|
||||
|
||||
[#29634]: https://github.com/rust-lang/rust/issues/29634
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `naked_functions`
|
||||
|
||||
The tracking issue for this feature is: [#32408]
|
||||
|
||||
[#32408]: https://github.com/rust-lang/rust/issues/32408
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `needs_allocator`
|
||||
|
||||
The tracking issue for this feature is: [#27389]
|
||||
|
||||
[#27389]: https://github.com/rust-lang/rust/issues/27389
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `needs_panic_runtime`
|
||||
|
||||
The tracking issue for this feature is: [#32837]
|
||||
|
||||
[#32837]: https://github.com/rust-lang/rust/issues/32837
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `never_type`
|
||||
|
||||
The tracking issue for this feature is: [#35121]
|
||||
|
||||
[#35121]: https://github.com/rust-lang/rust/issues/35121
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `no_core`
|
||||
|
||||
The tracking issue for this feature is: [#29639]
|
||||
|
||||
[#29639]: https://github.com/rust-lang/rust/issues/29639
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `no_debug`
|
||||
|
||||
The tracking issue for this feature is: [#29721]
|
||||
|
||||
[#29721]: https://github.com/rust-lang/rust/issues/29721
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `omit_gdb_pretty_printer_section`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# `optin_builtin_traits`
|
||||
|
||||
The tracking issue for this feature is: [#13231]
|
||||
|
||||
[#13231]: https://github.com/rust-lang/rust/issues/13231
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `overlapping_marker_traits`
|
||||
|
||||
The tracking issue for this feature is: [#29864]
|
||||
|
||||
[#29864]: https://github.com/rust-lang/rust/issues/29864
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `panic_runtime`
|
||||
|
||||
The tracking issue for this feature is: [#32837]
|
||||
|
||||
[#32837]: https://github.com/rust-lang/rust/issues/32837
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `placement_in_syntax`
|
||||
|
||||
The tracking issue for this feature is: [#27779]
|
||||
|
||||
[#27779]: https://github.com/rust-lang/rust/issues/27779
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `platform_intrinsics`
|
||||
|
||||
The tracking issue for this feature is: [#27731]
|
||||
|
||||
[#27731]: https://github.com/rust-lang/rust/issues/27731
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `prelude_import`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# `profiler_runtime`
|
||||
|
||||
The tracking issue for this feature is: [#42524](https://github.com/rust-lang/rust/issues/42524).
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `quote`
|
||||
|
||||
The tracking issue for this feature is: [#29601]
|
||||
|
||||
[#29601]: https://github.com/rust-lang/rust/issues/29601
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
# `repr_align`
|
||||
|
||||
The tracking issue for this feature is: [#33626]
|
||||
|
||||
[#33626]: https://github.com/rust-lang/rust/issues/33626
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `repr_simd`
|
||||
|
||||
The tracking issue for this feature is: [#27731]
|
||||
|
||||
[#27731]: https://github.com/rust-lang/rust/issues/27731
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `rustc_attrs`
|
||||
|
||||
The tracking issue for this feature is: [#29642]
|
||||
|
||||
[#29642]: https://github.com/rust-lang/rust/issues/29642
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `rustc_diagnostic_macros`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `sanitizer_runtime`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `simd_ffi`
|
||||
|
||||
The tracking issue for this feature is: [#27731]
|
||||
|
||||
[#27731]: https://github.com/rust-lang/rust/issues/27731
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `simd`
|
||||
|
||||
The tracking issue for this feature is: [#27731]
|
||||
|
||||
[#27731]: https://github.com/rust-lang/rust/issues/27731
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `specialization`
|
||||
|
||||
The tracking issue for this feature is: [#31844]
|
||||
|
||||
[#31844]: https://github.com/rust-lang/rust/issues/31844
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `staged_api`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `start`
|
||||
|
||||
The tracking issue for this feature is: [#29633]
|
||||
|
||||
[#29633]: https://github.com/rust-lang/rust/issues/29633
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `static_nobundle`
|
||||
|
||||
The tracking issue for this feature is: [#37403]
|
||||
|
||||
[#37403]: https://github.com/rust-lang/rust/issues/37403
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `stmt_expr_attributes`
|
||||
|
||||
The tracking issue for this feature is: [#15701]
|
||||
|
||||
[#15701]: https://github.com/rust-lang/rust/issues/15701
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `struct_field_attributes`
|
||||
|
||||
The tracking issue for this feature is: [#38814]
|
||||
|
||||
[#38814]: https://github.com/rust-lang/rust/issues/38814
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `structural_match`
|
||||
|
||||
The tracking issue for this feature is: [#31434]
|
||||
|
||||
[#31434]: https://github.com/rust-lang/rust/issues/31434
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `target_feature`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `thread_local`
|
||||
|
||||
The tracking issue for this feature is: [#29594]
|
||||
|
||||
[#29594]: https://github.com/rust-lang/rust/issues/29594
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `trace_macros`
|
||||
|
||||
The tracking issue for this feature is: [#29598]
|
||||
|
||||
[#29598]: https://github.com/rust-lang/rust/issues/29598
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `type_ascription`
|
||||
|
||||
The tracking issue for this feature is: [#23416]
|
||||
|
||||
[#23416]: https://github.com/rust-lang/rust/issues/23416
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `unboxed_closures`
|
||||
|
||||
The tracking issue for this feature is: [#29625]
|
||||
|
||||
[#29625]: https://github.com/rust-lang/rust/issues/29625
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `untagged_unions`
|
||||
|
||||
The tracking issue for this feature is: [#32836]
|
||||
|
||||
[#32836]: https://github.com/rust-lang/rust/issues/32836
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# `unwind_attributes`
|
||||
|
||||
The tracking issue for this feature is: None.
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# `use_extern_macros`
|
||||
|
||||
The tracking issue for this feature is: [#35896]
|
||||
|
||||
[#35896]: https://github.com/rust-lang/rust/issues/35896
|
||||
|
||||
------------------------
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `alloc`
|
||||
|
||||
The tracking issue for this feature is: [#27783]
|
||||
|
||||
[#27783]: https://github.com/rust-lang/rust/issues/27783
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# `as_c_str`
|
||||
|
||||
The tracking issue for this feature is: [#40380]
|
||||
|
||||
[#40380]: https://github.com/rust-lang/rust/issues/40380
|
||||
|
||||
------------------------
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# `ascii_ctype`
|
||||
|
||||
The tracking issue for this feature is: [#39658]
|
||||
|
||||
[#39658]: https://github.com/rust-lang/rust/issues/39658
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `box_heap`
|
||||
|
||||
The tracking issue for this feature is: [#27779]
|
||||
|
||||
[#27779]: https://github.com/rust-lang/rust/issues/27779
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `char_escape_debug`
|
||||
|
||||
The tracking issue for this feature is: [#35068]
|
||||
|
||||
[#35068]: https://github.com/rust-lang/rust/issues/35068
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `coerce_unsized`
|
||||
|
||||
The tracking issue for this feature is: [#27732]
|
||||
|
||||
[#27732]: https://github.com/rust-lang/rust/issues/27732
|
||||
|
||||
------------------------
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# `collection_placement`
|
||||
|
||||
The tracking issue for this feature is: [#30172]
|
||||
|
||||
[#30172]: https://github.com/rust-lang/rust/issues/30172
|
||||
|
||||
------------------------
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue