Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Giles Cope 2017-06-19 23:00:45 +01:00
commit 4b8446a233
664 changed files with 15986 additions and 14901 deletions

View file

@ -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

View file

@ -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

View file

@ -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
View file

@ -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

File diff suppressed because it is too large Load diff

View file

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

View file

@ -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());
}
}

View file

@ -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),
}

View file

@ -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.

View file

@ -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",

View file

@ -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() {

View file

@ -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") {

View file

@ -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.

View file

@ -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")
})
}));
}
}

View 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", "--"]

View 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", "--"]

View 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" "$@"

View 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

View file

@ -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

View file

@ -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

View file

@ -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

View 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View 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).

View file

@ -1,7 +0,0 @@
# `abi_sysv64`
The tracking issue for this feature is: [#36167]
[#36167]: https://github.com/rust-lang/rust/issues/36167
------------------------

View file

@ -1,6 +0,0 @@
# `abi_unadjusted`
The tracking issue for this feature is: none.
------------------------

View file

@ -1,7 +0,0 @@
# `abi_vectorcall`
The tracking issue for this feature is: none.
------------------------

View file

@ -1,7 +0,0 @@
# `abi_x86_interrupt`
The tracking issue for this feature is: [#40180]
[#40180]: https://github.com/rust-lang/rust/issues/40180
------------------------

View file

@ -1,6 +0,0 @@
# `allow_internal_unstable`
The tracking issue for this feature is: None.
------------------------

View file

@ -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).

View file

@ -1,10 +0,0 @@
# `associated_type_defaults`
The tracking issue for this feature is: [#29661]
[#29661]: https://github.com/rust-lang/rust/issues/29661
------------------------

View file

@ -1,10 +0,0 @@
# `cfg_target_feature`
The tracking issue for this feature is: [#29717]
[#29717]: https://github.com/rust-lang/rust/issues/29717
------------------------

View file

@ -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
------------------------

View file

@ -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
------------------------

View file

@ -1,10 +0,0 @@
# `cfg_target_feature`
The tracking issue for this feature is: [#29717]
[#29717]: https://github.com/rust-lang/rust/issues/29717
------------------------

View file

@ -1,10 +0,0 @@
# `custom_attribute`
The tracking issue for this feature is: [#29642]
[#29642]: https://github.com/rust-lang/rust/issues/29642
------------------------

View file

@ -1,10 +0,0 @@
# `custom_derive`
The tracking issue for this feature is: [#29644]
[#29644]: https://github.com/rust-lang/rust/issues/29644
------------------------

View file

@ -1,10 +0,0 @@
# `decl_macro`
The tracking issue for this feature is: [#39412]
[#39412]: https://github.com/rust-lang/rust/issues/39412
------------------------

View file

@ -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
------------------------

View file

@ -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
------------------------

View file

@ -1,10 +0,0 @@
# `dropck_eyepatch`
The tracking issue for this feature is: [#34761]
[#34761]: https://github.com/rust-lang/rust/issues/34761
------------------------

View file

@ -1,10 +0,0 @@
# `dropck_parametricity`
The tracking issue for this feature is: [#28498]
[#28498]: https://github.com/rust-lang/rust/issues/28498
------------------------

View file

@ -1,10 +0,0 @@
# `exclusive_range_pattern`
The tracking issue for this feature is: [#37854]
[#37854]: https://github.com/rust-lang/rust/issues/37854
------------------------

View file

@ -1,10 +0,0 @@
# `fundamental`
The tracking issue for this feature is: [#29635]
[#29635]: https://github.com/rust-lang/rust/issues/29635
------------------------

View file

@ -1,10 +0,0 @@
# `generic_param_attrs`
The tracking issue for this feature is: [#34761]
[#34761]: https://github.com/rust-lang/rust/issues/34761
------------------------

View file

@ -1,10 +0,0 @@
# `link_cfg`
The tracking issue for this feature is: [#37406]
[#37406]: https://github.com/rust-lang/rust/issues/37406
------------------------

View file

@ -1,10 +0,0 @@
# `link_llvm_intrinsics`
The tracking issue for this feature is: [#29602]
[#29602]: https://github.com/rust-lang/rust/issues/29602
------------------------

View file

@ -1,10 +0,0 @@
# `linkage`
The tracking issue for this feature is: [#29603]
[#29603]: https://github.com/rust-lang/rust/issues/29603
------------------------

View file

@ -1,10 +0,0 @@
# `log_syntax`
The tracking issue for this feature is: [#29598]
[#29598]: https://github.com/rust-lang/rust/issues/29598
------------------------

View file

@ -1,10 +0,0 @@
# `macro_reexport`
The tracking issue for this feature is: [#29638]
[#29638]: https://github.com/rust-lang/rust/issues/29638
------------------------

View file

@ -1,10 +0,0 @@
# `main`
The tracking issue for this feature is: [#29634]
[#29634]: https://github.com/rust-lang/rust/issues/29634
------------------------

View file

@ -1,10 +0,0 @@
# `naked_functions`
The tracking issue for this feature is: [#32408]
[#32408]: https://github.com/rust-lang/rust/issues/32408
------------------------

View file

@ -1,10 +0,0 @@
# `needs_allocator`
The tracking issue for this feature is: [#27389]
[#27389]: https://github.com/rust-lang/rust/issues/27389
------------------------

View file

@ -1,10 +0,0 @@
# `needs_panic_runtime`
The tracking issue for this feature is: [#32837]
[#32837]: https://github.com/rust-lang/rust/issues/32837
------------------------

View file

@ -1,10 +0,0 @@
# `never_type`
The tracking issue for this feature is: [#35121]
[#35121]: https://github.com/rust-lang/rust/issues/35121
------------------------

View file

@ -1,10 +0,0 @@
# `no_core`
The tracking issue for this feature is: [#29639]
[#29639]: https://github.com/rust-lang/rust/issues/29639
------------------------

View file

@ -1,10 +0,0 @@
# `no_debug`
The tracking issue for this feature is: [#29721]
[#29721]: https://github.com/rust-lang/rust/issues/29721
------------------------

View file

@ -1,6 +0,0 @@
# `omit_gdb_pretty_printer_section`
The tracking issue for this feature is: None.
------------------------

View file

@ -1,9 +0,0 @@
# `optin_builtin_traits`
The tracking issue for this feature is: [#13231]
[#13231]: https://github.com/rust-lang/rust/issues/13231
------------------------

View file

@ -1,7 +0,0 @@
# `overlapping_marker_traits`
The tracking issue for this feature is: [#29864]
[#29864]: https://github.com/rust-lang/rust/issues/29864
------------------------

View file

@ -1,10 +0,0 @@
# `panic_runtime`
The tracking issue for this feature is: [#32837]
[#32837]: https://github.com/rust-lang/rust/issues/32837
------------------------

View file

@ -1,10 +0,0 @@
# `placement_in_syntax`
The tracking issue for this feature is: [#27779]
[#27779]: https://github.com/rust-lang/rust/issues/27779
------------------------

View file

@ -1,10 +0,0 @@
# `platform_intrinsics`
The tracking issue for this feature is: [#27731]
[#27731]: https://github.com/rust-lang/rust/issues/27731
------------------------

View file

@ -1,6 +0,0 @@
# `prelude_import`
The tracking issue for this feature is: None.
------------------------

View file

@ -0,0 +1,5 @@
# `profiler_runtime`
The tracking issue for this feature is: [#42524](https://github.com/rust-lang/rust/issues/42524).
------------------------

View file

@ -1,10 +0,0 @@
# `quote`
The tracking issue for this feature is: [#29601]
[#29601]: https://github.com/rust-lang/rust/issues/29601
------------------------

View file

@ -1,11 +0,0 @@
# `repr_align`
The tracking issue for this feature is: [#33626]
[#33626]: https://github.com/rust-lang/rust/issues/33626
------------------------

View file

@ -1,10 +0,0 @@
# `repr_simd`
The tracking issue for this feature is: [#27731]
[#27731]: https://github.com/rust-lang/rust/issues/27731
------------------------

View file

@ -1,10 +0,0 @@
# `rustc_attrs`
The tracking issue for this feature is: [#29642]
[#29642]: https://github.com/rust-lang/rust/issues/29642
------------------------

View file

@ -1,6 +0,0 @@
# `rustc_diagnostic_macros`
The tracking issue for this feature is: None.
------------------------

View file

@ -1,6 +0,0 @@
# `sanitizer_runtime`
The tracking issue for this feature is: None.
------------------------

View file

@ -1,10 +0,0 @@
# `simd_ffi`
The tracking issue for this feature is: [#27731]
[#27731]: https://github.com/rust-lang/rust/issues/27731
------------------------

View file

@ -1,10 +0,0 @@
# `simd`
The tracking issue for this feature is: [#27731]
[#27731]: https://github.com/rust-lang/rust/issues/27731
------------------------

View file

@ -1,10 +0,0 @@
# `specialization`
The tracking issue for this feature is: [#31844]
[#31844]: https://github.com/rust-lang/rust/issues/31844
------------------------

View file

@ -1,6 +0,0 @@
# `staged_api`
The tracking issue for this feature is: None.
------------------------

View file

@ -1,10 +0,0 @@
# `start`
The tracking issue for this feature is: [#29633]
[#29633]: https://github.com/rust-lang/rust/issues/29633
------------------------

View file

@ -1,10 +0,0 @@
# `static_nobundle`
The tracking issue for this feature is: [#37403]
[#37403]: https://github.com/rust-lang/rust/issues/37403
------------------------

View file

@ -1,10 +0,0 @@
# `stmt_expr_attributes`
The tracking issue for this feature is: [#15701]
[#15701]: https://github.com/rust-lang/rust/issues/15701
------------------------

View file

@ -1,10 +0,0 @@
# `struct_field_attributes`
The tracking issue for this feature is: [#38814]
[#38814]: https://github.com/rust-lang/rust/issues/38814
------------------------

View file

@ -1,10 +0,0 @@
# `structural_match`
The tracking issue for this feature is: [#31434]
[#31434]: https://github.com/rust-lang/rust/issues/31434
------------------------

View file

@ -1,6 +0,0 @@
# `target_feature`
The tracking issue for this feature is: None.
------------------------

View file

@ -1,10 +0,0 @@
# `thread_local`
The tracking issue for this feature is: [#29594]
[#29594]: https://github.com/rust-lang/rust/issues/29594
------------------------

View file

@ -1,10 +0,0 @@
# `trace_macros`
The tracking issue for this feature is: [#29598]
[#29598]: https://github.com/rust-lang/rust/issues/29598
------------------------

View file

@ -1,10 +0,0 @@
# `type_ascription`
The tracking issue for this feature is: [#23416]
[#23416]: https://github.com/rust-lang/rust/issues/23416
------------------------

View file

@ -1,10 +0,0 @@
# `unboxed_closures`
The tracking issue for this feature is: [#29625]
[#29625]: https://github.com/rust-lang/rust/issues/29625
------------------------

View file

@ -1,10 +0,0 @@
# `untagged_unions`
The tracking issue for this feature is: [#32836]
[#32836]: https://github.com/rust-lang/rust/issues/32836
------------------------

View file

@ -1,6 +0,0 @@
# `unwind_attributes`
The tracking issue for this feature is: None.
------------------------

View file

@ -1,10 +0,0 @@
# `use_extern_macros`
The tracking issue for this feature is: [#35896]
[#35896]: https://github.com/rust-lang/rust/issues/35896
------------------------

View file

@ -1,7 +0,0 @@
# `alloc`
The tracking issue for this feature is: [#27783]
[#27783]: https://github.com/rust-lang/rust/issues/27783
------------------------

View file

@ -1,8 +0,0 @@
# `as_c_str`
The tracking issue for this feature is: [#40380]
[#40380]: https://github.com/rust-lang/rust/issues/40380
------------------------

View file

@ -1,5 +0,0 @@
# `ascii_ctype`
The tracking issue for this feature is: [#39658]
[#39658]: https://github.com/rust-lang/rust/issues/39658

View file

@ -1,7 +0,0 @@
# `box_heap`
The tracking issue for this feature is: [#27779]
[#27779]: https://github.com/rust-lang/rust/issues/27779
------------------------

View file

@ -1,7 +0,0 @@
# `char_escape_debug`
The tracking issue for this feature is: [#35068]
[#35068]: https://github.com/rust-lang/rust/issues/35068
------------------------

View file

@ -1,7 +0,0 @@
# `coerce_unsized`
The tracking issue for this feature is: [#27732]
[#27732]: https://github.com/rust-lang/rust/issues/27732
------------------------

View file

@ -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