about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2020-05-29Add Span to arena_types! for decoding &'tcx [Span]Amanieu d'Antras-0/+2
2020-05-29Improve inline asm error diagnosticsAmanieu d'Antras-57/+365
2020-05-29Auto merge of #72671 - flip1995:clippyup, r=Xanewokbors-451/+1576
Update Clippy, RLS, and rustfmt r? @Dylan-DPC This makes Clippy test-pass again: 3089c3b Otherwise this includes bugfixes and a few new lints. Fixes #72231 Fixes #72232
2020-05-29Auto merge of #72727 - JohnTitor:rollup-nni16m2, r=JohnTitorbors-57/+112
Rollup of 11 pull requests Successful merges: - #71633 (Impl Error for Infallible) - #71843 (Tweak and stabilize AtomicN::fetch_update) - #72288 (Stabilization of weak-into-raw) - #72324 (Stabilize AtomicN::fetch_min and AtomicN::fetch_max) - #72452 (Clarified the documentation for Formatter::precision) - #72495 (Improve E0601 explanation) - #72534 (Improve missing `@` in slice binding pattern diagnostics) - #72547 (Added a codegen test for a recent optimization for overflow-checks=on) - #72711 (remove redundant `mk_const`) - #72713 (Whitelist #[allow_internal_unstable]) - #72720 (Clarify the documentation of `take`) Failed merges: r? @ghost
2020-05-29Add fibersapi feature to winapi in rustc-workspace-hackflip1995-0/+1
Co-authored-by: Eric Huss <ehuss@users.noreply.github.com>
2020-05-29Rollup merge of #72720 - poliorcetics:clarify-take-doc, r=joshtriplettYuki Okushi-0/+11
Clarify the documentation of `take` This PR addresses the concerns of #61222, adding an example for the behaviour of `Iterator::take` when there are less than `n` elements.
2020-05-29Rollup merge of #72713 - rust-lang:jonas-schievink-patch-2, r=Mark-SimulacrumYuki Okushi-1/+1
Whitelist #[allow_internal_unstable] This should hopefully work around https://github.com/rust-lang/rust/issues/65023, which currently makes almost every bootstrap fail for me.
2020-05-29Rollup merge of #72711 - lcnr:fixme-heyho, r=jonas-schievinkYuki Okushi-1/+1
remove redundant `mk_const` Taken from #72675 as this is fairly unrelated and that PR is more difficult than I imagined, so it may take some time until it lands.
2020-05-29Rollup merge of #72547 - alex:patch-1, r=oli-obkYuki Okushi-0/+26
Added a codegen test for a recent optimization for overflow-checks=on Closes #58692
2020-05-29Rollup merge of #72534 - chrissimpkins:fix-72373, r=estebankYuki Okushi-0/+42
Improve missing `@` in slice binding pattern diagnostics Closes https://github.com/rust-lang/rust/issues/72373 Includes a new suggestion with `Applicability::MaybeIncorrect` confidence level. Before: ``` --> src/main.rs:5:19 | 5 | [h, ref ts..] => foo(c, n - h) + foo(ts, n), | -^ | | | expected one of `,`, `@`, `]`, or `|` | help: missing `,` error[E0308]: mismatched types --> src/main.rs:5:46 | 5 | [h, ref ts..] => foo(c, n - h) + foo(ts, n), | ^^ expected slice `[u32]`, found `u32` | = note: expected reference `&[u32]` found reference `&u32` error: aborting due to 2 previous errors ``` After: ``` error: expected one of `,`, `@`, `]`, or `|`, found `..` --> src/main.rs:5:20 | 5 | [h, ref ts..] => foo(c, n - h) + foo(ts, n), | ^^ expected one of `,`, `@`, `]`, or `|` | help: if you meant to bind the contents of the rest of the array pattern into `ts`, use `@` | 5 | [h, ref ts @ ..] => foo(c, n - h) + foo(ts, n), | ^ error: aborting due to previous error ``` r? @estebank
2020-05-29Rollup merge of #72495 - GuillaumeGomez:cleanup-e0601, r=Dylan-DPCYuki Okushi-4/+6
Improve E0601 explanation r? @Dylan-DPC
2020-05-29Rollup merge of #72452 - Lucretiel:precision-doc, r=dtolnayYuki Okushi-1/+2
Clarified the documentation for Formatter::precision Added a note that `precision` is interpreted as max-width when formatting strings
2020-05-29Rollup merge of #72324 - Amanieu:atomic_minmax, r=dtolnayYuki Okushi-10/+2
Stabilize AtomicN::fetch_min and AtomicN::fetch_max Some architectures (ARMv8.1 LSE and RISC-V) have specific instructions for atomic min/max which the compiler can only generate through explicit instrinsics.
2020-05-29Rollup merge of #72288 - vorner:stabilize-weak-into-raw, r=dtolnayYuki Okushi-24/+8
Stabilization of weak-into-raw Closes #60728. There are also two removals of `#![feature(weak_into_raw)]` in the `src/tools/miri` submodule. How should I synchronize the changes with there? * I can ignore it for now and once this gets merged, update the tool, send a pull request to that one and then reference the changes to rustc. * I could try submitting the changes to miri first, but then the build would fail there, because the attribute would still be needed. I think the first one is the correct one, extrapolating from the contributing guidelines (even though they speak about breaking the tools and this should not break it, as extra feature should not hurt).
2020-05-29Rollup merge of #71843 - sfackler:cas-loop-cleanup, r=dtolnayYuki Okushi-15/+11
Tweak and stabilize AtomicN::fetch_update The fetch_update method implements a compare-and-swap loop to update the value in an atomic to an arbitrary value computed by a closure. I've applied a few tweaks suggested by @mystor in this comment on the tracking issue: https://github.com/rust-lang/rust/issues/48655#issuecomment-496036553. Specifically, the load and store ordering arguments have been swapped to match with the orderings of `compare_exchange`, and the closure has been moved from the first to last argument. Moving the closure to the last argument is a change away from other methods on the atomic types which place the ordering(s) last, but matches with the broad convention that closure arguments come last in functions. In particular, rustfmt style lays calls with multi-line closures out more cleanly when the closure comes last.
2020-05-29Rollup merge of #71633 - a1phyr:infallible_error, r=dtolnayYuki Okushi-1/+2
Impl Error for Infallible This PR only changes the place where `impl Error for Infallible` is documented, as one could think that it is not the case when reading https://doc.rust-lang.org/nightly/std/convert/enum.Infallible.html. Fixes #70842
2020-05-29Auto merge of #72506 - Nadrieril:fix-72476, r=matthewjasperbors-19/+52
Exhaustiveness checking: work around type normalization issues This should resolve https://github.com/rust-lang/rust/issues/72476 and probably https://github.com/rust-lang/rust/issues/72467. This is a bit hacky but that's actually what the code was doing before https://github.com/rust-lang/rust/pull/71930. I'm essentially reverting https://github.com/rust-lang/rust/commit/e5a2cd526a6ad92b90dda81104abc7adf4c83495. So despite being hacky, it's been tried and tested (so much so that code relies on it now x)). Only the third commit does anything interesting.
2020-05-29Clarify the documentation of takeAlexis Bourget-0/+11
2020-05-29Rollup merge of #72702 - petrochenkov:unudeps, r=estebankDylan DPC-1/+9
rustc_lint: Remove `unused_crate_dependencies` from the `unused` group Fixes https://github.com/rust-lang/rust/issues/72686 It's undesirable to enable `unused_crate_dependencies` with blanket `#![deny(unused)]` due to the amount of redundant `--extern` options passed by Cargo.
2020-05-29Rollup merge of #72697 - ehuss:rm-rustc-ux-guidelines, r=nikomatsakisDylan DPC-90/+0
Remove rustc-ux-guidelines This is now in the rustc-dev-guide: * https://github.com/rust-lang/rustc-dev-guide/pull/716 * https://github.com/rust-lang/rustc-dev-guide/pull/717 This is a public page, but it was not linked to anywhere, so I think it is safe to remove. Google searches don't show it being used anywhere.
2020-05-29Rollup merge of #72695 - jclulow:illumos-llvm-catchup, r=nikicDylan DPC-1/+2
update data layout for illumos x86 In a recent change, 8b199222cc92667cd0e57595ad435cd0a7526af8, adjustments were made to the data layout we pass to LLVM. Unfortunately, the illumos target was missed in this change. See also: https://github.com/rust-lang/rust/pull/67900
2020-05-29Rollup merge of #72682 - JohnTitor:mir-tests, r=RalfJungDylan DPC-0/+11
Add test for #66930 Closes #66930 Closes #67558 They're fixed by #72424. I skipped adding `--emit=mir` flag to src/test/ui/issues/issue-25145.rs as a regression test since the root cause seems the same and it should be run with `check-pass`, not `run-pass` so we should duplicate that test. r? @RalfJung
2020-05-29Rollup merge of #72674 - Mark-Simulacrum:clippy-always-test-pass, r=oli-obkDylan DPC-34/+26
Clippy should always build This just unwraps clippy's build step instead of skipping tests if clippy didn't build. This matches e.g. cargo's behavior and seems more correct, as we always expect clippy to successfully build. I believe this doesn't actually change anything in practice, but I feel mildly uncomfortable potentially leaving this hole open.
2020-05-29Rollup merge of #72670 - rust-lang:jonas-schievink-patch-1, r=nikomatsakisDylan DPC-1/+1
Fix incorrect comment in generator test https://github.com/rust-lang/rust/pull/69837#discussion_r431141825 (thanks for the catch, @jplatte)
2020-05-29Rollup merge of #72667 - RalfJung:unaligned-ref-test, r=nikomatsakisDylan DPC-11/+34
expand unaligned_references test Also test implicit ref when having a field as a method receiver, as suggested by @bluss.
2020-05-29Rollup merge of #72636 - marmeladema:resolver-outputs-def-id, r=petrochenkovDylan DPC-79/+44
Cleanup `Resolver::<clone|into>_outputs` methods Follow-up cleanup work of https://github.com/rust-lang/rust/pull/72402 First commit has been split out from https://github.com/rust-lang/rust/pull/72552 r? @ecstatic-morse
2020-05-29Rollup merge of #72605 - GuillaumeGomez:cleanup-e0617, r=Dylan-DPCDylan DPC-0/+11
Add working example for E0617 explanation r? @Dylan-DPC
2020-05-29Rollup merge of #72466 - lzutao:stabilize_str-strip, r=dtolnayDylan DPC-7/+2
Stabilize str_strip feature This PR stabilizes these APIs: ```rust impl str { /// Returns a string slice with the prefix removed. /// /// If the string starts with the pattern `prefix`, `Some` is returned with the substring where /// the prefix is removed. Unlike `trim_start_matches`, this method removes the prefix exactly /// once. pub fn strip_prefix<'a, P: Pattern<'a>>(&'a self, prefix: P) -> Option<&'a str>; /// Returns a string slice with the suffix removed. /// /// If the string ends with the pattern `suffix`, `Some` is returned with the substring where /// the suffix is removed. Unlike `trim_end_matches`, this method removes the suffix exactly /// once. pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>; } ``` Closes #67302
2020-05-29Rollup merge of #72239 - hch12907:master, r=dtolnayDylan DPC-1/+106
Implement PartialOrd and Ord for SocketAddr* The implementation is mostly the same as the one found in `IpAddr` (other than adding comparison for ports, of course). Continues #53788 and #53863 Fixes #53710
2020-05-29Whitelist #[allow_internal_unstable]Jonas Schievink-1/+1
This should hopefully work around https://github.com/rust-lang/rust/issues/65023, which currently makes almost every bootstrap fail for me.
2020-05-28remove redundant `mk_const`Bastian Kauschke-1/+1
2020-05-28Update RLS to clippyup branchflip1995-0/+0
2020-05-28rustc_lint: Remove `unused_crate_dependencies` from the `unused` groupVadim Petrochenkov-1/+9
2020-05-28Remove rustc-ux-guidelinesEric Huss-90/+0
2020-05-28Temp fix: don't run cargo lint tests in rustc test suiteflip1995-0/+3
2020-05-28update data layout for illumos x86Joshua M. Clulow-1/+2
In a recent change, 8b199222cc92667cd0e57595ad435cd0a7526af8, adjustments were made to the data layout we pass to LLVM. Unfortunately, the illumos target was missed in this change. See also: https://github.com/rust-lang/rust/pull/67900
2020-05-28Set CFG_RELEASE for tools in bootstrap/tool.rsIgor Matuszewski-0/+4
Since rustc-ap-* v659 we now need to set CFG_RELEASE for rustc-ap-rustc_attr for `#[cfg(version(...))]` to work. Co-authored-by: Eric Huss <ehuss@users.noreply.github.com>
2020-05-28submodules: Update RLS and RustfmtIgor Matuszewski-18/+18
2020-05-28Merge commit '7ea7cd165ad6705603852771bf82cc2fd6560db5' into clippyup2flip1995-433/+1550
2020-05-28Add test for #66930Yuki Okushi-0/+11
2020-05-28Auto merge of #72494 - lcnr:predicate-cleanup, r=nikomatsakisbors-196/+194
Pass more `Copy` types by value. There are a lot of locations where we pass `&T where T: Copy` by reference, which should both be slightly less performant and less readable IMO. This PR currently consists of three fairly self contained commits: - passes `ty::Predicate` by value and stops depending on `AsRef<ty::Predicate>`. - changes `<&List<_>>::into_iter` to iterate over the elements by value. This would break `List`s of non copy types. But as the only list constructor requires `T` to be copy anyways, I think the improved readability is worth this potential future restriction. - passes `mir::PlaceElem` by value. Mir currently has quite a few copy types which are passed by reference, e.g. `Local`. As I don't have a lot of experience working with MIR, I mostly did this to get some feedback from people who use MIR more frequently - tries to reuse `ty::Predicate` in case it did not change in some places, which should hopefully fix the regression caused by #72055 r? @nikomatsakis for the first commit, which continues the work of #72055 and makes adding `PredicateKind::ForAll` slightly more pleasant. Feel free to reassign though
2020-05-27Clippy should always buildMark Rousskov-34/+26
This just unwraps clippy's build step instead of skipping tests if clippy didn't build. This matches e.g. cargo's behavior and seems more correct, as we always expect clippy to successfully build.
2020-05-27Fix incorrect comment in generator testJonas Schievink-1/+1
2020-05-27Add working example for E0617 explanationGuillaume Gomez-0/+11
2020-05-27Auto merge of #71996 - Marwes:detach_undo_log, r=nikomatsakisbors-33/+41
perf: Revert accidental inclusion of a part of #69218 This was accidentally included in #69464 after a rebase and given how much `inflate` and `keccak` stresses the obligation forest seems like a likely culprit to the regression in those benchmarks. (It is necessary in #69218 as obligation forest needs to accurately track the root variables or unifications will get lost)
2020-05-27expand unaligned_references testRalf Jung-11/+34
2020-05-27improve diagnostics suggestion for missing `@` in slice id binding to rest ↵Chris Simpkins-0/+42
pattern add issue 72373 tests fmt test fix suggestion format Replacement, not insertion of suggested string implement review changes refactor to span_suggestion_verbose, improve suggestion message, change id @ pattern space formatting fmt fix diagnostics spacing between ident and @ refactor reference
2020-05-27Store `LocalDefId` directly in `rustc_resolve::Resolver` where possiblemarmeladema-79/+44
This commit also include the following changes: * Remove unused `hir::Map::as_local_node_id` method * Remove outdated comment about `hir::Map::local_def_id` method * Remove confusing `GlobMap` type alias * Use `LocalDefId` instead of `DefId` in `extern_crate_map` * Use `LocalDefId` instead of `DefId` in `maybe_unused_extern_crates` * Modify `extern_mod_stmt_cnum` query to accept a `LocalDefId` instead of a `DefId`
2020-05-27Auto merge of #72601 - JohnTitor:deps, r=Mark-Simulacrumbors-5/+0
Update transitive dependencies to remove some deps Similar to #71919, this removes some (duplicate) dependencies.
2020-05-27Auto merge of #5631 - ThibsG:ExtendUselessConversion, r=matthiaskrgrbors-1/+1
Extend useless conversion This PR extends `useless_conversion` lint with `TryFrom` and `TryInto` fixes: #5344 changelog: Extend `useless_conversion` with `TryFrom` and `TryInto`