about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-11-13parser: don't use `unreachable!()` in `fn unexpected`.Mazdak Farrokhzad-1/+33
2019-11-13Auto merge of #65637 - ssomers:master, r=scottmcmbors-11/+314
proposal for BTreeMap/Set min/max, #62924 - Which pair of names: #62924 lists the existing possibilities min/max, first/last, (EDIT) front/back, peek(/peek_back?). Iterators have next/next_back or next/last. I'm slightly in favour of first/last because min/max might suggest they search over the entire map, and front/back pretends they are only about position. - Return key only instead of pair like iterator does? - If not, then keep the _key_value suffix? ~~Also provide variant with mutable value? But there is no such variant for get_key_value.~~ - Look for and upgrade more usages of `.iter().next()` and such in the libraries? I only upgraded the ones I contributed myself, all very recently.
2019-11-13Auto merge of #66156 - Mark-Simulacrum:stage0-step, r=pietroalbinibors-193/+51
Stage0 step r? @pietroalbini
2019-11-12Remove no longer needed mutabilityMark Rousskov-1/+1
2019-11-12Compiletest bump to stage0 bootstrap libtestMark Rousskov-0/+2
2019-11-12Hopefully fix rustdoc buildMark Rousskov-1/+12
It's super unclear why this broke when we switched to beta but not previously -- but at least it's hopefully fixed now.
2019-11-12Snap cfgsMark Rousskov-189/+34
2019-11-12Bump version to 1.41Mark Rousskov-2/+2
2019-11-12Auto merge of #60026 - Aaron1011:feature/miri-unwind, r=RalfJung,oli-obkbors-112/+305
Add hooks for Miri panic unwinding This commits adds in some additional hooks to allow Miri to properly handle panic unwinding. None of this should have any impact on CTFE mode This supports https://github.com/rust-lang/miri/pull/693
2019-11-12Auto merge of #65608 - matthewjasper:mir-eval-order, r=pnkfelixbors-223/+687
Fix MIR lowering evaluation order and soundness bug * Fixes a soundness issue with built-in index operations * Ensures correct evaluation order of assignment expressions where the RHS is a FRU or is a use of a local of reference type. * Removes an unnecessary symbol to string conversion closes #65909 closes #65910
2019-11-12Auto merge of #66318 - mati865:llvm-update, r=matthewjasperbors-0/+0
Update LLVM submodule Fixes https://github.com/rust-lang/rust/issues/66315
2019-11-12Update llvm submoduleMateusz Mikuła-0/+0
2019-11-12Auto merge of #66323 - JohnTitor:rollup-jl8xdk4, r=JohnTitorbors-185/+453
Rollup of 11 pull requests Successful merges: - #65965 (Clean up librustc_typeck error_codes file) - #66230 (remove vestigial comments referring to defunct numeric trait hierarchy) - #66241 (bump openssl version) - #66257 (Drop long-section-names linker workaround for windows-gnu) - #66263 (make the error message more readable) - #66267 (Add rustdoc doc) - #66276 (Move lock into CodeStats) - #66278 (Fix error message about exported symbols from proc-macro crates) - #66280 (Fix HashSet::union performance) - #66299 (support issue = "none" in unstable attributes ) - #66309 (Tiny cleanup to size assertions) Failed merges: r? @ghost
2019-11-12Rollup merge of #66309 - petrochenkov:annoying, r=Mark-SimulacrumYuki Okushi-13/+4
Tiny cleanup to size assertions The need to write `#[cfg(target_arch = "x86_64")]` twice mildly annoys me, the full paths look better in comparison.
2019-11-12Rollup merge of #66299 - rossmacarthur:fix-41260-avoid-issue-0, r=varkorYuki Okushi-39/+82
support issue = "none" in unstable attributes This works towards fixing #41260. This PR allows the use of `issue = "none"` in unstable attributes and makes changes to internally store the issue number as an `Option<NonZeroU32>`. For example: ```rust #[unstable(feature = "unstable_test_feature", issue = "none")] fn unstable_issue_none() {} ``` It was not made optional because feedback seen here #60860 suggested that people might forget the issue field if it was optional. I could not remove the current uses of `issue = "0"` (of which there are a lot) because the stage 0 compiler expects the old syntax. Once this is available in the stage 0 compiler we can replace all uses of `"0"` with `"none"` and no longer allow `"0"`. This is my first time contributing, so I'm not sure what the protocol is with two-part things like this, so some guidance would be appreciated. r? @varkor
2019-11-12Rollup merge of #66280 - stepancheg:union, r=alexcrichtonYuki Okushi-1/+1
Fix HashSet::union performance Consider this example: small_set = 0..2, large_set = 0..1000. To efficiently compute the union of these sets, we should * take all elements of the larger set * for each element of the smaller set check it is not in the larger set This is exactly what this commit does. This particular optimization was implemented a year ago, but the author mistaken `<` and `>`.
2019-11-12Rollup merge of #66278 - LukasKalbertodt:fix-proc-macro-error, r=CentrilYuki Okushi-10/+12
Fix error message about exported symbols from proc-macro crates Someone forgot to update the error message after `#[proc_macro]` and `#[proc_macro_attribute]` were stabilized.
2019-11-12Rollup merge of #66276 - Mark-Simulacrum:sess-code-stats, r=nikomatsakisYuki Okushi-14/+16
Move lock into CodeStats Prevent (theoretical) accidental too-long borrows by ensuring only encapsulated locking.
2019-11-12Rollup merge of #66267 - GuillaumeGomez:add-rustdoc-doc, r=kinnisonYuki Okushi-0/+203
Add rustdoc doc r? @kinnison
2019-11-12Rollup merge of #66263 - guanqun:make-error-explicit, r=alexcrichtonYuki Okushi-3/+3
make the error message more readable When I type it wrong e.g. `--stage --bless`, missing a number here, this change would make it more explicit what's going wrong here.
2019-11-12Rollup merge of #66257 - mati865:long-section-names-no-more, r=alexcrichtonYuki Okushi-27/+0
Drop long-section-names linker workaround for windows-gnu If we can trust objdump Rust doesn't emit sections loaded at runtime longer than 8 characters on windows-gnu (but still does on linux-gnu), debug sections are not affected by that limit. I've ran tests and built few crates using exactly the same mingw-w64 version as Rusts CI just fine using **x86_64** toolchain. The motivation for this change is making LLD work (it doesn't support `--enable-long-section-names`) with this target without hacks. Bit of history: The behaviour of LD changed in Binutils 2.20 released on 2009-10-16 and `--enable-long-section-names` was added to return to the old non conformant behaviour. Looking at the comment I can only guess there was a bug fixed in newer versions. This workaround was added in https://github.com/rust-lang/rust/pull/13315 half a decade ago.
2019-11-12Rollup merge of #66230 - Axelderan:remove-vestigial-comments, r=alexcrichtonYuki Okushi-2/+0
remove vestigial comments referring to defunct numeric trait hierarchy I've been poking around the numeric trait hierarchy and also some of the actual numeric type implementations. This is a small change but a matter of effective communication. I looked for other related references and saw none.
2019-11-12Rollup merge of #65965 - ↵Yuki Okushi-76/+132
GuillaumeGomez:clean-up-librustc_typeck-error-codes, r=Mark-Simulacrum Clean up librustc_typeck error_codes file r? @Dylan-DPC
2019-11-12Auto merge of #66129 - Nadrieril:refactor-slice-pat-usefulness, r=varkorbors-264/+627
Refactor slice pattern usefulness checking As a follow up to https://github.com/rust-lang/rust/pull/65874, this PR changes how variable-length slice patterns are handled in usefulness checking. The objectives are: cleaning up that code to make it easier to understand, and paving the way to handling fixed-length slices more cleverly too, for https://github.com/rust-lang/rust/issues/53820. Before this, variable-length slice patterns were eagerly expanded into a union of fixed-length slices. Now they have their own special constructor, which allows expanding them a bit more lazily. As a nice side-effect, this improves diagnostics. This PR shows a slight performance improvement, mostly due to https://github.com/rust-lang/rust/pull/66129/commits/149792b6080f40875c0072aae378a0eb31d23df0. This will probably have to be reverted in some way when we implement or-patterns.
2019-11-11Auto merge of #66310 - Manishearth:clippyup, r=Manishearthbors-7/+7
Update clippy Fixes #66300 r? @ghost
2019-11-11Evaluate borrow and struct expressions in `into`Matthew Jasper-96/+184
This fixes some ordering problems around assignment expressions.
2019-11-11Fix soundness issue with index bounds checksMatthew Jasper-124/+500
An expression like `x[1][{ x = y; 2}]` would perform the bounds check for the inner index operation before evaluating the outer index. This would allow out of bounds memory accesses.
2019-11-11Avoid a string comparison in MIR constructionMatthew Jasper-3/+3
2019-11-11UpdateAaron Hill-1/+1
2019-11-11Return Ok(false) instead of throwing when handling a diverging intrinsicAaron Hill-3/+2
2019-11-11Fix rebase falloutAaron Hill-1/+1
2019-11-11Rename toAaron Hill-3/+4
2019-11-11Fix debug assertionAaron Hill-1/+2
2019-11-11Remove trampoline, pass `ret` and `unwind` when handling intrinsicsAaron Hill-23/+13
2019-11-11Fix tidyAaron Hill-2/+0
2019-11-11Add more detailed codegen commentAaron Hill-0/+5
2019-11-11Move to miri.rs and re-export itAaron Hill-4/+9
2019-11-11Some code cleanupAaron Hill-28/+23
2019-11-11Make doc comment more accurateAaron Hill-1/+4
2019-11-11Change TODO to FIXMEAaron Hill-1/+1
2019-11-11Add commentAaron Hill-0/+2
2019-11-11Add miri trampoline, fix handling of intrinsic returnAaron Hill-1/+13
2019-11-11Use proper intrinsic typeAaron Hill-9/+5
2019-11-11More work on miri_start_panicAaron Hill-3/+16
2019-11-11Fix up intrinsic implementationAaron Hill-3/+21
2019-11-11Add explicit Miri support to libpanic_unwindAaron Hill-1/+21
2019-11-11Don't attempt to get cwd when printing backtrace under MiriAaron Hill-1/+8
This allows Miri to print backtraces in isolation mode
2019-11-11Fix unwinding logicAaron Hill-12/+9
2019-11-11Some cleanupAaron Hill-38/+31
2019-11-11Add doc commentAaron Hill-0/+13