Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update from origin 2020-06-19 #5

Merged
merged 167 commits into from
Jun 19, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
d4fe955
Implement partial error recovery for `let` with `BinOpEq`
mibac138 May 7, 2020
48ff12a
Expand partial error recovery for `let` with `BinOpEq`
mibac138 May 7, 2020
05d6531
Error recovery for `let` with `+=`
mibac138 May 7, 2020
6ad24ba
Adjust according to estebank's review comments
mibac138 May 7, 2020
98532a3
Adjust according to petrochenkov's review comments
mibac138 May 20, 2020
730f736
Fix asinh of negative values
Ralith May 23, 2020
591584e
Add tests for 'impl Default for [T; N]'
MikailBag May 26, 2020
3313bf6
Skip leak test on targets without panic=unwind
MikailBag May 28, 2020
f7d745f
tag/niche terminology cleanup
RalfJung May 23, 2020
7a6d03c
miri errors: rename InvalidDiscriminant -> InvalidTag
RalfJung May 30, 2020
d1c275b
linker: MSVC supports linking static libraries as a whole archive
petrochenkov May 30, 2020
1bc4e45
Only highlight results via mouseover if mouse has moved
carols10cents Jun 2, 2020
20abc70
Don't intern memory in const prop.
oli-obk Jun 3, 2020
1e88f13
Stop allowing `Indirect(..)` values to be propagated
wesleywiser Jun 8, 2020
9ceb9bb
Move copying of self-contained objects to new function
mati865 Jun 2, 2020
638ebbc
Move copying of MinGW CRT to the better location
mati865 Jun 2, 2020
961974f
Use enum to distinguish dependency type
mati865 Jun 2, 2020
5d29883
Move some libs to self-contained directory
mati865 Jun 11, 2020
e9ac01a
Get self-contained directory path via dedicated function
mati865 Jun 8, 2020
43905cd
Move shipped MinGW linker to self-contained dir
mati865 Jun 8, 2020
f0d2e78
add raw_ref macros
RalfJung Jun 12, 2020
d40e624
compiletest: Add directives to detect sanitizer support
tmiasko Jun 5, 2020
724dfba
Clean up some weird command strings
GuillaumeGomez Jun 13, 2020
0687b78
Speed up bootstrap a little.
ehuss Jun 13, 2020
4606168
Make new type param suggestion more targetted
estebank Jun 13, 2020
d5ea0e9
Report error when casting an C-like enum implementing Drop
oddg May 15, 2020
e32db84
Add rust features to print target features
aszenz Jun 14, 2020
a40156e
UI test for deprecation warning of casting enum implementing Drop
oddg Jun 14, 2020
607e851
Switch bootstrap metadata to --no-deps.
ehuss Jun 14, 2020
5393a29
Move convert_place_derefs_to_mutable out from check/method/confirm.rs
nbdd0121 May 16, 2020
fb0793c
Add some comments to librustc_typeck/check/callee.rs
nbdd0121 Jun 14, 2020
c2b920f
Show suite paths (`src/test/ui/...`) in help output.
ehuss Jun 14, 2020
f17fd7b
Add some doc comments regarding PathSet.
ehuss Jun 15, 2020
8121d2e
Fix up autoderef when performing mutable auto borrow
nbdd0121 Jun 14, 2020
4710f85
Add ui tests for issue 68590 and 72225
nbdd0121 Jun 14, 2020
0906066
Test that bounds checks are elided when slice len is checked up-front
erikdesjardins Jun 15, 2020
f62903b
Export `#[inline] #[no_mangle]` fns in cdylibs and staticlibs
doctorn Jun 5, 2020
6b7cacb
Export all fns with extern indicator
doctorn Jun 8, 2020
d23bedd
Fix whitespace
doctorn Jun 8, 2020
ee810a7
Fix exports with `#[inline(always)]`
doctorn Jun 9, 2020
11b56fb
Fix whitespace
doctorn Jun 9, 2020
babda94
Fix sanitizer test
doctorn Jun 15, 2020
e8e0a0e
Update sanitizer test
doctorn Jun 15, 2020
d3ca6fd
Enable static-pie for the x86_64-unknown-linux-musl target
haraldh Jun 15, 2020
9e51008
Complete the std::time documentation to warn about the inconsistencie…
poliorcetics Jun 15, 2020
d6156e8
Change how compiler-builtins gets many CGUs
alexcrichton Jun 8, 2020
e390acd
Use expr_ty_adjusted in convert_place_op_to_mutable
nbdd0121 Jun 15, 2020
e857696
Tweak "non-primitive cast" error
estebank Jun 15, 2020
81c9094
Suggest substituting `'static` lifetime in impl/dyn `Trait + 'static`…
estebank May 29, 2020
4e90f17
When `'static` is explicit, suggest constraining argument with it
estebank May 30, 2020
921f35f
Reduce verbosity of suggestion message and mention lifetime in label
estebank May 30, 2020
e755889
Move overlapping span to a note
estebank May 30, 2020
bc15790
Tweak output for overlapping required/captured spans
estebank May 30, 2020
539e978
Tweak wording and add error code
estebank May 30, 2020
31ea589
review comments: wording
estebank Jun 1, 2020
10d9bf1
Use note for requirement source span
estebank Jun 2, 2020
34d8692
Register new eror code
estebank Jun 2, 2020
e31367d
small tweaks
estebank Jun 2, 2020
f7a1f97
Change E0758 to E0759 to avoid conflict with #72912
estebank Jun 3, 2020
bfe1434
fix rebase
estebank Jun 15, 2020
b5809b0
Update src/librustc_typeck/check/cast.rs
nikomatsakis Jun 15, 2020
8e7606f
bootstrap/install.rs: support a nonexistent `prefix` in `x.py install`
nodakai Jun 14, 2020
10c8d2a
add FIXME to EnumTagInfo
RalfJung Jun 15, 2020
96f5584
Expand "recursive opaque type" diagnostic
estebank Apr 19, 2020
8f12485
review comments
estebank Jun 15, 2020
5cedf5d
Refactor usage of Needs in typeck
nbdd0121 Jun 15, 2020
e0975b9
elaborate, add check for exact bounds
erikdesjardins Jun 15, 2020
268decb
make all uses of ty::Error or ConstKind::Error delay a span bug
mark-i-m May 6, 2020
e855b90
track caller for delay_span_bug
mark-i-m May 26, 2020
5068ae1
[WIP] injects llvm intrinsic instrprof.increment for coverage reports
richkadel Jun 4, 2020
088037a
explained lang_item function body (count_code_region)
richkadel Jun 5, 2020
2c5c2a6
removed experiments for cleaner github PR
richkadel Jun 5, 2020
d2cd59a
Add case for count_code_region() extern lang_item
richkadel Jun 5, 2020
e4df7e7
Update src/libcore/intrinsics.rs
richkadel Jun 5, 2020
7e49a9e
moved to post_borrowck_cleanup & used MirPatch
richkadel Jun 8, 2020
46ebd57
moved instrument_coverage pass, optimized scalar, added FIXME
richkadel Jun 8, 2020
20aba8f
added test, Operand::const_from_scalar, require_lang_item, & comments
richkadel Jun 10, 2020
163e585
updated mir-opt test due to other recent changes to MIR
richkadel Jun 10, 2020
98685a4
Add new `fn_span` to TerminatorKind::Call instance
richkadel Jun 16, 2020
f3dfe80
Adjust error message
oddg Jun 16, 2020
0265e4e
add tracking issue
RalfJung Jun 16, 2020
0bcefd9
remove visit_terminator_kind from MIR visitor
RalfJung May 31, 2020
302fb50
get rid of an unused 'span' field
RalfJung May 31, 2020
93022be
bootstrap: read config from $RUST_BOOTSTRAP_CONFIG
davidtwco Jun 13, 2020
046165a
rename location field of Drop terminators to place
RalfJung Jun 10, 2020
6c5345f
fmt; make visit_terminator arg names consistent with the rest
RalfJung Jun 10, 2020
827ccf7
add probably accidentally missing super_* calls
RalfJung Jun 10, 2020
a19dfb5
Create new E0763 error code for unterminated byte constant
GuillaumeGomez Jun 12, 2020
bad252c
Update ui tests
GuillaumeGomez Jun 12, 2020
1990f97
Disallow loading crates with non-ascii identifier name.
crlf0710 Jun 13, 2020
cfdbbb5
format derives
mark-i-m Jun 16, 2020
4506a35
add header for rust specific feature
aszenz Jun 16, 2020
9f50f84
break long line for formatting
aszenz Jun 16, 2020
457acbd
trim whitespace
aszenz Jun 16, 2020
f0a4233
memory access sanity checks: abort instead of panic
RalfJung Jun 6, 2020
81c7ebd
we can enable one more codegen test in debug mode now
RalfJung Jun 6, 2020
15cd51a
Mention functions pointers in the documentation
poliorcetics Jun 16, 2020
2b7d858
Add some comments related to place op typeck
nbdd0121 Jun 16, 2020
af45d8a
Suggest new type param on single char ident
estebank Jun 13, 2020
9f2e8ad
Fix typo in librustc_ast docs
pierwill Jun 17, 2020
e75fa89
Don't imply function pointers are references
poliorcetics Jun 17, 2020
1db44af
Ensure profiling runtime for -Zinstrument-coverage
richkadel Jun 17, 2020
caffb28
add blank line bw sections
aszenz Jun 17, 2020
c9dc73d
Make novel structural match violations a warning
ecstatic-morse Jun 17, 2020
38e921b
Add regression test for #73431
ecstatic-morse Jun 17, 2020
3a1207f
Add issue number to novel violation warning
ecstatic-morse Jun 17, 2020
6351850
ignore-debug: debug assertions in slice indexing prevent the optimiza…
erikdesjardins Jun 17, 2020
c338729
Update src/libcore/intrinsics.rs
richkadel Jun 17, 2020
b9f0304
temporarily enable mac and windows tests on bors try
richkadel Jun 17, 2020
36c9014
removed try config to test mac & windows (passed)
richkadel Jun 17, 2020
8d1a380
review comments
estebank Jun 17, 2020
a7c2cf8
Reduce pointer casts in Box::into_boxed_slice
cuviper Jun 17, 2020
2da9ca7
Remove duplicate sentence fragment from mem::zeroed doc
dtolnay Jun 18, 2020
4e77214
Improve document for `Result::as_deref(_mut)`
tesuji Jun 18, 2020
d134870
Document format correction
qy3u Jun 18, 2020
b805f2c
Added tooltip for should_panic code examples.
JakobDegen Jun 18, 2020
721facf
Removed trailing whitespace
JakobDegen Jun 18, 2020
abb5800
Ensure std benchmarks get tested.
ehuss Jun 8, 2020
8aecafe
Fix liballoc doc spelling
pickfire Jun 18, 2020
ec8ff1c
Liballoc clean up macro_rules style
pickfire Jun 18, 2020
111c2d2
Rearrange liballoc __impl_slice_eq1
pickfire Jun 18, 2020
5a9ff05
Disable core benches on wasm (benches not supported).
ehuss Jun 18, 2020
036b5fe
Auto merge of #73446 - ecstatic-morse:issue-73431, r=pnkfelix
bors Jun 18, 2020
9d388d4
Rollup merge of #70551 - mark-i-m:ty-err-2, r=varkor
Manishearth Jun 18, 2020
45d033b
Rollup merge of #71338 - estebank:recursive-impl-trait, r=nikomatsakis
Manishearth Jun 18, 2020
39f8784
Rollup merge of #71976 - mibac138:let-recovery, r=estebank
Manishearth Jun 18, 2020
49ab0ca
Rollup merge of #72279 - RalfJung:raw-ref-macros, r=nikomatsakis
Manishearth Jun 18, 2020
9262fc2
Rollup merge of #72628 - MikailBag:array-default-tests, r=shepmaster
Manishearth Jun 18, 2020
40fd2bd
Rollup merge of #72804 - estebank:opaque-missing-lts-in-fn-2, r=nikom…
Manishearth Jun 18, 2020
e0b59b2
Rollup merge of #72814 - RalfJung:mir-visir-terminator, r=oli-obk
Manishearth Jun 18, 2020
e154978
Rollup merge of #72836 - poliorcetics:std-time-os-specificities, r=sh…
Manishearth Jun 18, 2020
bf59152
Rollup merge of #72968 - integer32llc:docs-arrow-keys, r=GuillaumeGomez
Manishearth Jun 18, 2020
0e332e9
Rollup merge of #73034 - doctorn:nomangle-inline-linkage, r=matthewja…
Manishearth Jun 18, 2020
ed92b6a
Rollup merge of #73315 - GuillaumeGomez:clean-up-config-strs, r=kinnison
Manishearth Jun 18, 2020
f4b5f58
Rollup merge of #73320 - estebank:type-param-sugg-more, r=davidtwco
Manishearth Jun 18, 2020
9ca8117
Rollup merge of #73361 - estebank:non-primitive-cast, r=davidtwco
Manishearth Jun 18, 2020
9f8f994
Rollup merge of #73425 - poliorcetics:zeroed-functions-pointers, r=dt…
Manishearth Jun 18, 2020
1db7dc4
Rollup merge of #73428 - pierwill:patch-1, r=jonas-schievink
Manishearth Jun 18, 2020
f15b346
Rollup merge of #73447 - lzutao:stabilize-result_as_deref, r=dtolnay
Manishearth Jun 18, 2020
6c53a0c
Rollup merge of #73476 - JakobDegen:should_panic_rustdoc, r=Guillaume…
Manishearth Jun 18, 2020
a39c778
Auto merge of #73486 - Manishearth:rollup-11iyqpc, r=Manishearth
bors Jun 19, 2020
35a2915
Remove now-redundant branch
Ralith Jun 19, 2020
27d4737
Rollup merge of #70740 - haraldh:static-pie, r=petrochenkov
RalfJung Jun 19, 2020
9c54c65
Rollup merge of #72331 - oddg:forbid-cast-of-cenum-implementing-drop,…
RalfJung Jun 19, 2020
99be102
Rollup merge of #72486 - Ralith:asinh-fix, r=dtolnay
RalfJung Jun 19, 2020
5e7eec2
Rollup merge of #72497 - RalfJung:tag-term, r=oli-obk
RalfJung Jun 19, 2020
ea3c309
Rollup merge of #72999 - mati865:separate-self-contained-dir, r=Mark-…
RalfJung Jun 19, 2020
098949b
Rollup merge of #73130 - wesleywiser:remove_const_prop_for_indirects,…
RalfJung Jun 19, 2020
78f3e9c
Rollup merge of #73142 - ehuss:std-benches, r=dtolnay
RalfJung Jun 19, 2020
3b4bec2
Rollup merge of #73305 - crlf0710:disallow_loading_monsters, r=petroc…
RalfJung Jun 19, 2020
8d79ebd
Rollup merge of #73346 - aszenz:patch-1, r=cuviper
RalfJung Jun 19, 2020
7d3238f
Rollup merge of #73362 - erikdesjardins:bounds, r=nikomatsakis
RalfJung Jun 19, 2020
fc2ce7c
Rollup merge of #73459 - cuviper:into_boxed_slice-unicast, r=dtolnay
RalfJung Jun 19, 2020
f7d833e
Rollup merge of #73464 - qy3u:fs-document-format-correction, r=jonas-…
RalfJung Jun 19, 2020
028c908
Rollup merge of #73479 - pickfire:liballoc-spell, r=dtolnay
RalfJung Jun 19, 2020
63b441a
Auto merge of #73498 - RalfJung:rollup-1mfjcju, r=RalfJung
bors Jun 19, 2020
70622db
Rollup merge of #72280 - nbdd0121:typeck, r=nikomatsakis
RalfJung Jun 19, 2020
7cc4518
Rollup merge of #72785 - petrochenkov:wholemsvc, r=matthewjasper
RalfJung Jun 19, 2020
1dc6c3c
Rollup merge of #73011 - richkadel:llvm-count-from-mir-pass, r=tmandry
RalfJung Jun 19, 2020
0851036
Rollup merge of #73044 - tmiasko:compiletest-san, r=nikomatsakis
RalfJung Jun 19, 2020
125c196
Rollup merge of #73054 - RalfJung:dont-panic, r=Mark-Simulacrum
RalfJung Jun 19, 2020
1e31a7c
Rollup merge of #73136 - alexcrichton:thinlto-compiler-builtins, r=Ma…
RalfJung Jun 19, 2020
45aa36b
Rollup merge of #73280 - GuillaumeGomez:add-e0763, r=petrochenkov
RalfJung Jun 19, 2020
0404788
Rollup merge of #73317 - davidtwco:bootstrap-config-env-var, r=Mark-S…
RalfJung Jun 19, 2020
a59d164
Rollup merge of #73350 - nodakai:install-rs-support-nonexistent-prefi…
RalfJung Jun 19, 2020
61c8925
Rollup merge of #73352 - ehuss:bootstrap-metadata, r=Mark-Simulacrum
RalfJung Jun 19, 2020
72417d8
Auto merge of #73504 - RalfJung:rollup-iy8hsvl, r=RalfJung
bors Jun 19, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,19 @@ debug-assertions = false
debug = false
debug-assertions = false

[profile.release.package.compiler_builtins]
# For compiler-builtins we always use a high number of codegen units.
# The goal here is to place every single intrinsic into its own object
# file to avoid symbol clashes with the system libgcc if possible. Note
# that this number doesn't actually produce this many object files, we
# just don't create more than this number of object files.
#
# It's a bit of a bummer that we have to pass this here, unfortunately.
# Ideally this would be specified through an env var to Cargo so Cargo
# knows how many CGUs are for this specific crate, but for now
# per-crate configuration isn't specifiable in the environment.
codegen-units = 10000

# We want the RLS to use the version of Cargo that we've got vendored in this
# repository to ensure that the same exact version of Cargo is used by both the
# RLS and the Cargo binary itself. The RLS depends on Cargo as a git repository
Expand Down
3 changes: 2 additions & 1 deletion config.toml.example
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,8 @@
# Build the sanitizer runtimes
#sanitizers = false

# Build the profiler runtime
# Build the profiler runtime (required when compiling with options that depend
# on this runtime, such as `-C profile-generate` or `-Z instrument-coverage`).
#profiler = false

# Indicates whether the native libraries linked into Cargo will be statically
Expand Down
3 changes: 2 additions & 1 deletion src/bootstrap/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -894,7 +894,7 @@ def bootstrap(help_triggered):
build.clean = args.clean

try:
toml_path = args.config or 'config.toml'
toml_path = os.getenv('RUST_BOOTSTRAP_CONFIG') or args.config or 'config.toml'
if not os.path.exists(toml_path):
toml_path = os.path.join(build.rust_root, toml_path)

Expand Down Expand Up @@ -947,6 +947,7 @@ def bootstrap(help_triggered):
env["SRC"] = build.rust_root
env["BOOTSTRAP_PARENT_ID"] = str(os.getpid())
env["BOOTSTRAP_PYTHON"] = sys.executable
env["BOOTSTRAP_CONFIG"] = toml_path
env["BUILD_DIR"] = build.build_dir
env["RUSTC_BOOTSTRAP"] = '1'
env["CARGO"] = build.cargo()
Expand Down
52 changes: 41 additions & 11 deletions src/bootstrap/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,21 @@ struct StepDescription {
name: &'static str,
}

/// Collection of paths used to match a task rule.
#[derive(Debug, Clone, PartialOrd, Ord, PartialEq, Eq)]
pub enum PathSet {
/// A collection of individual paths.
///
/// These are generally matched as a path suffix. For example, a
/// command-line value of `libstd` will match if `src/libstd` is in the
/// set.
Set(BTreeSet<PathBuf>),
/// A "suite" of paths.
///
/// These can match as a path suffix (like `Set`), or as a prefix. For
/// example, a command-line value of `src/test/ui/abi/variadic-ffi.rs`
/// will match `src/test/ui`. A command-line value of `ui` would also
/// match `src/test/ui`.
Suite(PathBuf),
}

Expand Down Expand Up @@ -251,21 +263,33 @@ impl<'a> ShouldRun<'a> {
self
}

// Unlike `krate` this will create just one pathset. As such, it probably shouldn't actually
// ever be used, but as we transition to having all rules properly handle passing krate(...) by
// actually doing something different for every crate passed.
/// Indicates it should run if the command-line selects the given crate or
/// any of its (local) dependencies.
///
/// Compared to `krate`, this treats the dependencies as aliases for the
/// same job. Generally it is preferred to use `krate`, and treat each
/// individual path separately. For example `./x.py test src/liballoc`
/// (which uses `krate`) will test just `liballoc`. However, `./x.py check
/// src/liballoc` (which uses `all_krates`) will check all of `libtest`.
/// `all_krates` should probably be removed at some point.
pub fn all_krates(mut self, name: &str) -> Self {
let mut set = BTreeSet::new();
for krate in self.builder.in_tree_crates(name) {
set.insert(PathBuf::from(&krate.path));
let path = krate.local_path(self.builder);
set.insert(path);
}
self.paths.insert(PathSet::Set(set));
self
}

/// Indicates it should run if the command-line selects the given crate or
/// any of its (local) dependencies.
///
/// `make_run` will be called separately for each matching command-line path.
pub fn krate(mut self, name: &str) -> Self {
for krate in self.builder.in_tree_crates(name) {
self.paths.insert(PathSet::one(&krate.path));
let path = krate.local_path(self.builder);
self.paths.insert(PathSet::one(path));
}
self
}
Expand Down Expand Up @@ -488,13 +512,19 @@ impl<'a> Builder<'a> {
should_run = (desc.should_run)(should_run);
}
let mut help = String::from("Available paths:\n");
let mut add_path = |path: &Path| {
help.push_str(&format!(" ./x.py {} {}\n", subcommand, path.display()));
};
for pathset in should_run.paths {
if let PathSet::Set(set) = pathset {
set.iter().for_each(|path| {
help.push_str(
format!(" ./x.py {} {}\n", subcommand, path.display()).as_str(),
)
})
match pathset {
PathSet::Set(set) => {
for path in set {
add_path(&path);
}
}
PathSet::Suite(path) => {
add_path(&path.join("..."));
}
}
}
Some(help)
Expand Down
Loading