summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-10-04Stable release 1.29.2Pietro Albini-1/+1
2018-10-04Bump libgit2-sys to 0.7.9 to fix rls on windows-gnuPietro Albini-81/+80
2018-10-04Do not put noalias annotations by defaultSimonas Kazlauskas-10/+48
This will be re-enabled sooner or later depending on results of further investigation. Fixes #54462
2018-09-20std: Check for overflow in `str::repeat`Alex Crichton-2/+29
This commit fixes a buffer overflow issue in the standard library discovered by Scott McMurray where if a large number was passed to `str::repeat` it may cause and out of bounds write to the buffer of a `Vec`. This bug was accidentally introduced in #48657 when optimizing the `str::repeat` function. The bug affects stable Rust releases 1.26.0 to 1.29.0. We plan on backporting this fix to create a 1.29.1 release, and the 1.30.0 release onwards will include this fix. The fix in this commit is to introduce a deterministic panic in the case of capacity overflow. When repeating a slice where the resulting length is larger than the address space, there’s no way it can succeed anyway! The standard library and surrounding libraries were briefly checked to see if there were othere instances of preallocating a vector with a calculation that may overflow. No instances of this bug (out of bounds write due to a calculation overflow) were found at this time. Note that this commit is the first steps towards fixing this issue, we'll be making a formal post to the Rust security list once these commits have been merged.
2018-09-101.29.0 stable releaseMark Rousskov-1/+1
2018-09-10[beta] rustdoc: disable blanket impl collectionQuietMisdreavus-136/+2
2018-09-09Fix compile-fail/cfg-empty-codemap.rs testPietro Albini-1/+1
2018-09-07Add license header to the new testsPietro Albini-9/+69
Beta still requires them.
2018-09-07Validate syntax of `--cfg` command line argumentsVadim Petrochenkov-40/+40
2018-09-07Validate syntax of `cfg` attributesVadim Petrochenkov-13/+139
2018-09-05[beta]: Remove `#[repr(transparent)]` from atomicsAlex Crichton-3/+0
Added in #52149 the discussion in #53514 is showing how we may not want to actually add this attribute to the atomic types. While we continue to debate #53514 this commit reverts the addition of the `transparent` attribute before it hits stable.
2018-09-04Auto merge of #53944 - oli-obk:beta, r=nikomatsakisbors-7/+93
[beta] Properly prevent the promotion of unstable const fns backport of https://github.com/rust-lang/rust/pull/53699 r? @nikomatsakis (the other PR was merged and beta nominated but not beta approved)
2018-09-04Auto merge of #53952 - cuviper:beta-backtrace-sys, r=pietroalbinibors-3/+3
[beta] update backtrace-sys to 0.1.24 This is the other part of #53377 that was missed in the #53880 backport. r? @pietroalbini
2018-09-04std: Use target_pointer_width for BACKTRACE_ELF_SIZEJosh Stone-3/+3
The former code used `target.contains("64")` to detect Elf64 targets, but this is inaccurate in a few cases: - `s390x-unknown-linux-gnu` is 64-bit - `sparcv9-sun-solaris` is 64-bit - `x86_64-unknown-linux-gnux32` is 32-bit Instead the `std` build script can use `CARGO_CFG_TARGET_POINTER_WIDTH` to reliably detect 64-bit targets for libbacktrace. Also update to backtrace-sys 0.1.24 for alexcrichton/backtrace-rs#122.
2018-09-04Properly prevent the promotion of unstable const fnsOliver Schneider-7/+93
2018-09-03Update LLVM to fix segfault on AArch64James Duley-0/+0
2018-09-01rustbuild: fix local_rebuildMarc-Antoine Perennou-1/+1
If we detect a local rebuild (e.g. bootstrap compiler is the same version as target compiler), we set stage to 1. When trying to build e.g. UnstableBook, we use Mode::ToolBootstrap and stage is 1. Just allow Mode::ToolBootstrap and stagge != 0 if we are in a local_rebuild Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-09-01std: Use target_pointer_width for BACKTRACE_ELF_SIZEJosh Stone-1/+2
The former code used `target.contains("64")` to detect Elf64 targets, but this is inaccurate in a few cases: - `s390x-unknown-linux-gnu` is 64-bit - `sparcv9-sun-solaris` is 64-bit - `x86_64-unknown-linux-gnux32` is 32-bit Instead the `std` build script can use `CARGO_CFG_TARGET_POINTER_WIDTH` to reliably detect 64-bit targets for libbacktrace. Also update to backtrace-sys 0.1.24 for alexcrichton/backtrace-rs#122.
2018-09-01Add a test for reset expansion infoVadim Petrochenkov-0/+29
2018-09-01Revert "hygiene: Make sure expansion info is set at most once for a given ↵Vadim Petrochenkov-8/+1
`Mark`" This reverts commit b15785b67133b5017f141d1fda1dd3dcf331b4b4.
2018-08-30Don't hash the ctfe memoryOliver Schneider-3/+3
2018-08-30add commentRalf Jung-0/+1
2018-08-30check_const: use the same ParamEnv as codegen for staticsRalf Jung-3/+8
2018-08-26Auto merge of #53425 - oli-obk:validation, r=nikomatsakisbors-18/+25
[beta] Don't sanity check function pointers in vtables cc https://github.com/rust-lang/rust/issues/53401 There's no beta nomination because the full fix (https://github.com/rust-lang/rust/pull/53424) is not backportable
2018-08-25resolve: Continue search in outer scopes after applying derive resolution ↵Vadim Petrochenkov-13/+41
fallback
2018-08-25Feature gate where clauses on associated type implsvarkor-8/+26
2018-08-25rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5.Josh Stone-2/+24
This hack was removed in #50949, but without it I found that building `std` with full debuginfo would print many LLVM `DW_OP_LLVM_fragment` errors, then die `LLVM ERROR: Failed to strip malformed debug info`. It doesn't seem to be a problem for LLVM 6, so we can re-enable the hack just for older LLVM. This reverts commit da579ef75e4a8ca11fb98b24a0a3ea0c7ccffeeb. Fixes #53204. r? @eddyb
2018-08-25resolve: Reject some inaccessible candidates sooner during import resolutionVadim Petrochenkov-0/+26
This allows import resolution to progress in cases like #53140
2018-08-25fix testcasedylan_DPC-5/+18
2018-08-25add warning for missing docsdylan_DPC-4/+5
2018-08-25add testcase to existing macro testcasedylan_DPC-3/+22
2018-08-25add macro check for lintdylan_DPC-1/+2
2018-08-25Update testOliver Schneider-2/+2
2018-08-25Fix tidyOliver Schneider-1/+1
2018-08-25Remove an overly pedantic and wrong assertionOliver Schneider-5/+23
2018-08-25An attempt to fix NLL migration mode so that reports region errors when ↵Felix S. Klock II-6/+48
necessary. Namely, the code here was trying to be clever, and say "lets not report diagnostics when we 'know' NLL will report an error about them in the future." The problem is that in migration mode, when no error was reported here, the NLL error that we "knew" was coming was downgraded to a warning (!). This fixes that by only doing the "clever" skipping of region error reporting when we are not in migration mode. Rather than make a separate test for issue 53026, I just took the test that uncovered this in a first place, and extended it (via our revisions system) to explicitly show all three modes in action: ACT-borrowck, NLL, and NLL migration mode. (Tto be honest I hope not to have to add such revisions to many tests. Instead I hope to adopt some sort of new `compare-mode` for either borrowck=migrate or for the 2018 edition as a whole.)
2018-08-17Don't sanity check function pointers in vtablesOliver Schneider-16/+23
2018-08-09Add some missing winapi featuresOliver Schneider-0/+3
2018-08-09Update the clippy submoduleOliver Schneider-9/+5
2018-08-07Update RLS, Rustfmt, ClippyNick Cameron-87/+291
Includes backporting the rustc workspace hack
2018-08-02download bootstrap compiler from static instead of dev-staticPietro Albini-2/+2
2018-07-31Beta for 1.29.0Mark Rousskov-5/+5
2018-07-31Auto merge of #52850 - SimonSapin:unstablize, r=alexcrichtonbors-4/+12
Revert "Stabilize to_bytes and from_bytes for integers." This reverts commit c8f9b84b393915a48253e3edc862c15a9b7152a7 / PR https://github.com/rust-lang/rust/pull/51835, and reopens the tracking issue https://github.com/rust-lang/rust/issues/49792. These methods were stabilized in Rust 1.29, which is still in Nightly as of this writing. So my understanding is that it is still time to change our minds. Given the ongoing discussion in https://github.com/rust-lang/rust/pull/51919 about possibly renaming these APIs and since 1.29 goes to beta soon, I’d like to revert this stabilization for now until a decision is made in that PR. It’s possible that a decision will be made in time for 1.29, but there is no urgency. At most I expect this functionality to make it into 1.30.
2018-07-31Auto merge of #52630 - Mark-Simulacrum:rustdoc-cleanup-2, r=QuietMisdreavusbors-121/+96
Delete unused code in rustdoc Also hid the unused crate exports of rustdoc. This is technically a breaking change but we don't even ship librustdoc in the sysroot so I don't expect breakage.
2018-07-31Auto merge of #52863 - steveklabnik:update-books, r=Mark-Simulacrumbors-0/+0
update books for new release r? @Mark-Simulacrum
2018-07-31region_infer: rustfmt, pacifying the mercilous tidyNiko Matsakis-24/+48
2018-07-31assert no region obligations on entering custom type opNiko Matsakis-0/+13
Fixes #51649
2018-07-31free RegionBoundPairs earlier and avoid normalizing twiceNiko Matsakis-24/+41
Normalization results are memoized, so this may not be worth it, but it seems easy enough to do.
2018-07-31remove `region_bound_pairs` from FRR as they are not needed laterNiko Matsakis-25/+26
2018-07-31make a free fn for creating the URRNiko Matsakis-43/+42