summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-06-01Update version to 1.26.2Mark Simulacrum-1/+1
2018-06-01change `PointerKind::Implicit` to a noteNiko Matsakis-70/+128
`PointerKind` is included in `LoanPath` and hence forms part of the equality check; this led to having two unequal paths that both represent `*x`, depending on whether the `*` was inserted automatically or explicitly. Bad mojo. The `note` field, in contrast, is intended more-or-less primarily for this purpose of adding extra data.
2018-05-25Bump for 1.26.1Mark Simulacrum-1/+1
2018-05-25Fix 07c42af554c to work on stableMark Simulacrum-11/+28
2018-05-25prohibit turbofish in `impl Trait` methodsNiko Matsakis-30/+74
2018-05-24Update RLS and RustfmtNick Cameron-54/+39
2018-05-24Fix self referential impl Trait substitutionsleonardo.yvens-2/+42
A high impact bug because a lot of common traits use a `Self` substitution by default. Should be backported to beta. There was a check for this which wasn't catching all cases, it was made more robust. Fixes #49376 Fixes #50626 r? @petrochenkov
2018-05-24Fix issue #50811 (`NaN > NaN` was true).kennytm-7/+71
Fix #50811 Make sure the float comparison output is consistent with the expected behavior when NaN is involved. ---- Note: This PR is a **BREAKING CHANGE**. If you have used `>` or `>=` to compare floats, and make the result as the length of a fixed array type, like: ```rust use std::f64::NAN; let x: [u8; (NAN > NAN) as usize] = [1]; ``` then the code will no longer compile. Previously, all float comparison involving NaN will just return "Greater", i.e. `NAN > NAN` would wrongly return `true` during const evaluation. If you need to retain the old behavior (why), you may replace `a > b` with `a != a || b != b || a > b`.
2018-05-24Fix `fn main() -> impl Trait` for non-`Termination` traitleonardo.yvens-7/+44
Fixes #50595. This bug currently affects stable. Why I think we can go for hard error: - It will in stable for at most one cycle and there is no legitimate reason to abuse it, nor any known uses in the wild. - It only affects `bin` crates (which have a `main`), so there is little practical difference between a hard error or a deny lint, both are a one line fix. The fix was to just unshadow a variable. Thanks @nikomatsakis for the mentoring! r? @nikomatsakis
2018-05-24Filter out missing components from manifestsAlex Crichton-0/+22
This commit updates our manifest generation for rustup to filter out any components/extensions which are actually missing. This is intended to help mitigate #49462 by making the manifests reflect reality, that many targets now are missing a `rust-docs` component rather than requiring it exists.
2018-05-07Stable release 1.26.0Mark Simulacrum-1/+1
2018-05-06Fix assertion message generationShotaro Yamada-58/+25
2018-05-06rustdoc: Resolve nested `impl Trait`sShotaro Yamada-31/+39
2018-05-02Revert "Implement FromStr for PathBuf"Alex Crichton-27/+0
This reverts commit 05a9acc3b844ff284a3e3d85dde2d9798abfb215.
2018-04-30Adapt ui test of #50092 to betaPietro Albini-27/+10
* Changed `// compile-pass` to `// must-compile-successfully` * Removed checks on unstable features
2018-04-30Remove new enum variant from #50092 backportPietro Albini-9/+0
ExpansionKind::ForeignItems was added in #49350, which is not included in the 1.26 beta.
2018-04-30Do not ICE on generics mismatch with non-local traitsShotaro Yamada-2/+12
Fixes #49841
2018-04-30Warn on pointless `#[derive]` in more placesAustin Bonander-16/+193
This fixes the regression in #49934 and ensures that unused `#[derive]`s on statements, expressions and generic type parameters survive to trip the `unused_attributes` lint. For `#[derive]` on macro invocations it has a hardcoded warning since linting occurs after expansion. This also adds regression testing for some nodes that were already warning properly. closes #49934
2018-04-28Don't ICE on tuple struct ctor with incorrect arg countEsteban Küber-1/+28
2018-04-27add regression testNiko Matsakis-0/+22
Fixes #49685
2018-04-27use `reveal_all` during drop elaborationNiko Matsakis-2/+4
This used to happen by default as part of the normalization routine that was being used.
2018-04-27improved debug outputNiko Matsakis-3/+11
2018-04-27Feature gate where clauses on associated typesMatthew Jasper-5/+32
2018-04-26[beta] Remove dependency on `parking_lot`Alex Crichton-9/+0
Unfortunately the `parking_lot` crate enables the `synchapi` feature of the `winapi` crate which activates a dependency on `libsynchronization.a`. The MinGW version of `libsynchronization.a` pulls in a dependency `api-ms-core-synch-l1-2-0.dll` which causes rustc to not work on Windows 7 (tracked in #49438) The `parking_lot` crate is not currently used in the compiler unless parallel queries are enabled. This feature is not enabled by default and not used at all in the beta/stable compilers. As a result the dependency in this commit was removed and the CI build which checks parallel queries was disabled. This isn't a great long-term solution but should hopefully be enough of a patch for beta to buy us some more time to figure this out.
2018-04-26Allow variant discriminant initializers to refer to other initializers of ↵Oliver Schneider-54/+148
the same enum
2018-04-25Rename ui test flag compile-pass to must-compile-successfullyPietro Albini-6/+6
2018-04-25Warn on all erroneous constantsOliver Schneider-75/+233
2018-04-25always optimize testOliver Schneider-1/+1
The error messages differ between optimized and nonoptimized mode
2018-04-25Only warn on erroneous promoted constantsOliver Schneider-30/+129
2018-04-23Auto merge of #50182 - alexcrichton:beta-next, r=alexcrichtonbors-55/+221
[beta] Another round of backports This is a backport of: * https://github.com/rust-lang/rust/pull/50039 * https://github.com/rust-lang/rust/pull/50121
2018-04-23TryFrom destabilization fixupsAlex Crichton-1/+2
2018-04-23Improve assertion in Query::force().Michael Woerister-1/+10
2018-04-21Add back missing `#![feature(never_type)]`skennytm-0/+17
2018-04-21Revert "Stabilize the TryFrom and TryInto traits"Felix S. Klock II-27/+27
This reverts commit e53a2a72743810e05f58c61c9d8a4c89b712ad2e.
2018-04-21Bring back old fallback semantics: Without feature(never_type), fallback to ↵Felix S. Klock II-5/+18
`()`, not `!`. Note that this commit, since it is trying to be minimal in order to ease backporting to the beta and release channels, does *not* include the old future-proofing warnings that we used to have associated with such fallback to `()`; see discussion at this comment: https://github.com/rust-lang/rust/issues/49691#issuecomment-381266730
2018-04-21Revert stabilization of `feature(never_type)`.Felix S. Klock II-15/+125
This commit is just covering the feature gate itself and the tests that made direct use of `!` and thus need to opt back into the feature. A follow on commit brings back the other change that motivates the revert: Namely, going back to the old rules for falling back to `()`.
2018-04-21fix my unit test that was horrendously wrongMichael Lamparski-3/+17
and add one for non-mut slicing since I touched that method too
2018-04-21smaller PR just to fix #50002Michael Lamparski-7/+18
2018-04-21Auto merge of #50089 - alexcrichton:beta-next, r=sfacklerbors-47/+5
[beta] Tweak some stabilizations in libstd This is a backport of https://github.com/rust-lang/rust/pull/50088
2018-04-20Update rustfmt to fix compileAlex Crichton-20/+0
2018-04-20Paper over a bug on masterAlex Crichton-2/+4
This commit papers over #49889 (introducing a fixme pointing at #50125) for a bug that was introduced with #49695. This workaround is taken from #49891.
2018-04-20ci: Remove x86_64-gnu-incremental builderAlex Crichton-22/+0
This builder is starting to time out frequently causing PRs to bounce and otherwise doesn't seem to be catching too many bugs, so this commit removes it entirely. We've had a number of timeouts in the last few weeks related to this builder: * https://travis-ci.org/rust-lang/rust/jobs/360947582 * https://travis-ci.org/rust-lang/rust/jobs/360464190 * https://travis-ci.org/rust-lang/rust/jobs/359946975 * https://travis-ci.org/rust-lang/rust/jobs/361213241 * https://travis-ci.org/rust-lang/rust/jobs/362346279 * https://travis-ci.org/rust-lang/rust/jobs/362072331 On a good run this builder takes about 2h15m, which is already too long for Travis and the variable build times end up pushing it beyond the 3h limit occasionally. The timeouts here are somewhat expected in that an incrementally compiled rustc compiler isn't optimized like a normal rustc, disallowing inlining between codegen units and losing lots of optimization opportunities.
2018-04-20Properly handle ranges of signed enums using both extremums (fixes #49973)Anthony Ramine-5/+26
2018-04-20Disallow `impl Trait` in unsupported positionShotaro Yamada-17/+74
2018-04-20Print region in case of ICEShotaro Yamada-1/+1
2018-04-20Fix ICE with impl TraitShotaro Yamada-2/+28
2018-04-20do not propagate `Err` when determing causal infoNiko Matsakis-19/+78
In intercrate mode, if we determine that a particular `T: Trait` is unknowable, we sometimes also go and get extra causal information. An errant `?` was causing us to propagate an error found in that process out as if `T: Trait` was not unknowable but rather not provable. This led to an ICE.
2018-04-20make mem-categorization use adjusted type for patternsNiko Matsakis-4/+80
Fixes #49631
2018-04-20Fix error in rustc_driver::test.Michael Woerister-1/+1
2018-04-20Fix rustdoc after changing type param representation.Michael Woerister-3/+11