summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-11-06Bump to 1.30.1 releaseMark Rousskov-1/+1
2018-11-06Update cargo to tipMark Rousskov-0/+0
2018-11-06Bubble up an overflow error so that rustdoc can ignore itOliver Scherer-2/+3
2018-11-06Auto merge of #54199 - nikomatsakis:predicate_may_hold-failure, r=eddybbors-15/+214
overlook overflows in rustdoc trait solving Context: The new rustdoc "auto trait" feature walks across impls and tries to run trait solving on them with a lot of unconstrained variables. This is prone to overflows. These overflows used to cause an ICE because of a caching bug (fixed in this PR). But even once that is fixed, it means that rustdoc causes an overflow rather than generating docs. This PR therefore adds a new helper that propagates the overflow error out. This requires rustdoc to then decide what to do when it encounters such an overflow: technically, an overflow represents neither "yes" nor "no", but rather a failure to make a decision. I've decided to opt on the side of treating this as "yes, implemented", since rustdoc already takes an optimistic view. This may prove to include too many items, but I *suspect* not. We could probably reduce the rate of overflows by unifying more of the parameters from the impl -- right now we only seem to consider the self type. Moreover, in the future, as we transition to Chalk, overflow errors are expected to just "go away" (in some cases, though, queries might return an ambiguous result). Fixes #52873 cc @QuietMisdreavus -- this is the stuff we were talking about earlier cc @GuillaumeGomez -- this supersedes #53687
2018-10-241.30.0 stable releasePietro Albini-1/+1
2018-10-24Update Cargo submodulePietro Albini-0/+0
2018-10-24Destabilize 2018 editionPietro Albini-16/+15
This reverts commit 4d1ec818118c6c5dac5af19b291b9601ef98c17e.
2018-10-24Destabilize feature non_modrs_modsPietro Albini-3/+185
This reverts commit 7f6b60899502c45fc0b58adf79d09fb77ffc8884.
2018-10-23pick a reference issue for absolute-paths future incompatibility infoZack M. Davis-19/+19
It would be kind of embarrassing to ship with the "issue TBD" message!
2018-10-18resolve: Do not skip extern prelude during speculative resolutionVadim Petrochenkov-4/+30
2018-10-18resolve: Scale back hard-coded extern prelude additionsVadim Petrochenkov-7/+9
2018-10-18Copy extern prelude from resolver to global contextVadim Petrochenkov-4/+8
2018-10-18Revert "rustc_resolve: move extern_prelude from Resolver to Session."Vadim Petrochenkov-24/+22
This reverts commit e90985acdec9928da9f6d157cfeb64f0ee98bffe.
2018-10-18Update a rustdoc ui test whose output has changedAlex Crichton-2/+2
2018-10-18Use default of preferring static over dynamic linking in rustdoc tests.Felix S. Klock II-1/+0
2018-10-12beta: bump bootstrap compiler to 1.29.2Pietro Albini-2/+2
2018-10-09Auto merge of #54877 - arielb1:destabilize-outlives, r=nikomatsakisbors-802/+807
[beta] back out #53793 - stabilize outlives requirements Fixes #54467 for beta, looks like a less risky fix than #54701
2018-10-08Call Foo::async_method in the async-await testJonas Schievink-14/+1
2018-10-08Fix dead code lint for functions using impl TraitJonas Schievink-2/+102
2018-10-08Revert "Slightly refactor VecDeque implementation"Alex Crichton-3/+3
This reverts commit 6ce76acae455a32113116cd2f95f8076388fc2d3.
2018-10-08Revert "Optimize VecDeque::append"Alex Crichton-27/+2
This reverts commit 11e488b64fed181820280d494d4fcc157ee1adc5.
2018-10-08Revert "Add docs and debug asserts"Alex Crichton-23/+11
This reverts commit 1a1a7f6167edf18b8a0ab488e651f7748cc2e9d3.
2018-10-08Revert "Fix tidy"Alex Crichton-2/+1
This reverts commit 1908892d3f60008f265dfc25ac46db387c0ad6a0.
2018-10-08Revert "Add another assert"Alex Crichton-4/+0
This reverts commit 21d2a6c9868541ec9829ced9a5bae936b18741c5.
2018-10-07add test for #54467Ariel Ben-Yehuda-0/+54
2018-10-07Revert "Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakis"Ariel Ben-Yehuda-802/+753
This reverts commit 6810f5286b6b91daab06fc3dccb27d8c46f14349, reversing changes made to 8586ec6980462c99a8926646201b2444d8938d29.
2018-10-04do not normalize non-scalar constants to a ConstValue::ScalarPairRalf Jung-6/+30
2018-10-04incr.comp.: Don't automatically enable -Zshare-generics for incr.comp. builds.Michael Woerister-1/+0
2018-10-04resolve: Prefer `macro_rules` definitions to in-module macro definitions in ↵Vadim Petrochenkov-23/+130
some cases
2018-10-03Auto merge of #54358 - flip1995:beta, r=Manishearthbors-103/+1
[beta] Cancel warning for tool_lints For the discussion about this, see: rust-lang-nursery/rust-clippy#3159 `clippy-preview` is available on stable since 1.29. So when running `cargo +beta clippy` on a crate with `#![allow(clippy_lint)]` a warning is produced, which tells the programmer to change this to `#![allow(clippy::clippy_lint)]`. But since `tool_lints` aren't stable yet, this would require a `#![feature(tool_lints)]`. Features aren't available on stable or beta, so we cannot do this. Even wrapping `cfg_attr(clippy)` around this won't help, since Clippy can also be run from stable or beta toolchain. r? @Manishearth
2018-10-02Accept trailing comma in `cfg_attr`Vadim Petrochenkov-0/+28
2018-10-02resolve: Do not block derive helper resolutions on single import resolutionsVadim Petrochenkov-21/+90
Derive helpers conflict currently conflict with anything else, so if some resolution from a single import appears later, it will result in error anyway
2018-10-02Use full name to identify a macro in a `FileName`.Diogo Sousa-15/+47
Before this two macros with same name would be indistinguishable inside a `FileName`. This caused a bug in incremental compilation (see #53097) since two different macros would map out to the same `StableFilemapId`. Fixes #53097.
2018-10-02rustc_typeck: don't lint non-extern-prelude extern crate's in Rust 2018.Eduard-Mihai Burtescu-88/+34
2018-10-02rustc_resolve: move extern_prelude from Resolver to Session.Eduard-Mihai Burtescu-22/+24
2018-10-01Remove lint_tool testsflip1995-102/+0
2018-09-29Do 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-22Ignore new test on WindowsAlex Crichton-0/+1
2018-09-22avoid leaking host details in proc macro metadata decodingAriel Ben-Yehuda-24/+130
proc macro crates are essentially implemented as dynamic libraries using a dlopen-based ABI. They are also Rust crates, so they have 2 worlds - the "host" world in which they are defined, and the "target" world in which they are used. For all the "target" world knows, the proc macro crate might not even be implemented in Rust, so leaks of details from the host to the target must be avoided for correctness. Because the "host" DefId space is different from the "target" DefId space, any leak involving a DefId will have a nonsensical or out-of-bounds DefKey, and will cause all sorts of crashes. This PR fixes all leaks I have found in `decoder`. In particular, #54059 was caused by host native libraries leaking into the target, which feels like it might even be a correctness issue if it doesn't cause an ICE. Fixes #54059
2018-09-22rustbuild: drop color handlingMarc-Antoine Perennou-42/+1
Let cargo handle that for us Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-09-21Auto merge of #54443 - alexcrichton:beta-next, r=Mark-Simulacrumbors-4/+4
[beta] Update the `libgit2-sys` crate This commit is an attempt to fix an issue [1] in the latest betas for MinGW where it appears that `libgit2` is no longer functional and always returns errors. The attempted fix [2] has been published as a new version of `libgit2-sys`, so this updates the beta branch to using that commit to get it out and see if it fixes beta. [1]: https://github.com/rust-lang/rust/issues/54206#issuecomment-423506019 [2]: https://github.com/alexcrichton/git2-rs/commit/9c1604ef7abbbdf4a2312f18c0e60370961a14b2
2018-09-21Stabilize crate_in_paths, extern_absolute_paths and extern_prelude on all ↵Eduard-Mihai Burtescu-180/+60
editions.
2018-09-21[beta] Update the `libgit2-sys` crateAlex Crichton-4/+4
This commit is an attempt to fix an issue [1] in the latest betas for MinGW where it appears that `libgit2` is no longer functional and always returns errors. The attempted fix [2] has been published as a new version of `libgit2-sys`, so this updates the beta branch to using that commit to get it out and see if it fixes beta. [1]: https://github.com/rust-lang/rust/issues/54206#issuecomment-423506019 [2]: https://github.com/alexcrichton/git2-rs/commit/9c1604ef7abbbdf4a2312f18c0e60370961a14b2
2018-09-21Auto merge of #54396 - alexcrichton:beta-next, r=Mark-Simulacrumbors-36/+35
[beta] Update some `*-sys` dependencies of Cargo/RLS This is a backport of #54301 to the beta branch
2018-09-20[beta] Update some `*-sys` dependencies of Cargo/RLSAlex Crichton-36/+35
This is a backport of #54301 to the beta branch
2018-09-20std: Check for overflow in `str::repeat`Alex Crichton-1/+28
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-19Cancel warning for tool_lintsflip1995-1/+1
2018-09-18Update Cargosteveklabnik-0/+0
This pulls in https://github.com/rust-lang/cargo/pull/6054, and is a beta backport of https://github.com/rust-lang/rust/pull/54334
2018-09-17[beta] Prepare the 1.30.0 releaseAlex Crichton-4/+4
This commit prepares the 1.30.0 beta release for the newly branched beta branch.
2018-09-17Auto merge of #52036 - collin5:b50509-2, r=collin5bors-109/+90
Clean up dependency tracking in Rustbuild [2/2] Make `clear_if_dirty` calls in `Builder::cargo` with stamp dependencies for the given Mode. Continuation of #50904 Ref issue #50509 r? @Mark-Simulacrum