about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2021-10-04Rollup merge of #87631 - :solarish_upd_fs, r=joshtriplettManish Goregaokar-13/+17
os current_exe using same approach as linux to get always the full ab… …solute path
2021-10-05library std, libc dependency updateDavid Carlier-3/+3
to solve #87528 build.
2021-10-05Auto merge of #89545 - workingjubilee:rollup-ooxf3p2, r=workingjubileebors-320/+809
Rollup of 15 pull requests Successful merges: - #87993 (Stabilize try_reserve) - #88090 (Perform type inference in range pattern) - #88780 (Added abs_diff for integer types.) - #89270 (path.push() should work as expected on windows verbatim paths) - #89413 (Correctly handle supertraits for min_specialization) - #89456 (Update to the final LLVM 13.0.0 release) - #89466 (Fix bug with query modifier parsing) - #89473 (Fix extra `non_snake_case` warning for shorthand field bindings) - #89474 (rustdoc: Improve doctest pass's name and module's name) - #89478 (Fixed numerus of error message) - #89480 (Add test for issue 89118.) - #89487 (Try to recover from a `=>` -> `=` or `->` typo in a match arm) - #89494 (Deny `where` clauses on `auto` traits) - #89511 (:arrow_up: rust-analyzer) - #89536 (update Miri) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-10-04Rollup merge of #89536 - RalfJung:miri, r=RalfJungJubilee-27/+21
update Miri Let's get the recent fixes and improvements shipped. r? ````@ghost````
2021-10-04Rollup merge of #89511 - lnicola:rust-analyzer-2021-10-04, r=lnicolaJubilee-17/+18
:arrow_up: rust-analyzer
2021-10-04Rollup merge of #89494 - FabianWolff:issue-84075, r=davidtwcoJubilee-47/+135
Deny `where` clauses on `auto` traits Fixes #84075.
2021-10-04Rollup merge of #89487 - FabianWolff:issue-89396, r=petrochenkovJubilee-1/+71
Try to recover from a `=>` -> `=` or `->` typo in a match arm Fixes #89396.
2021-10-04Rollup merge of #89480 - hameerabbasi:issue-89118-test, r=jackh726Jubilee-0/+95
Add test for issue 89118. This PR adds a test for issue 89118. Closes #89118.
2021-10-04Rollup merge of #89478 - zvavybir:master, r=jyn514Jubilee-5/+11
Fixed numerus of error message When there are redundant trait requirements and these are hidden, a message is generated by the following code snippet: `format!("{} redundant requirements hidden", count)` But if there is only a single hidden requirement, it will still print this message in plural instead of singular.
2021-10-04Rollup merge of #89474 - camelid:better-pass-name, r=jyn514Jubilee-14/+14
rustdoc: Improve doctest pass's name and module's name As the docs at the top of the file say, it is an overloaded pass and actually runs two lints.
2021-10-04Rollup merge of #89473 - FabianWolff:issue-89469, r=joshtriplettJubilee-6/+27
Fix extra `non_snake_case` warning for shorthand field bindings Fixes #89469. The problem is the innermost `if` condition here: https://github.com/rust-lang/rust/blob/d14731cb3ced8318d7fc83cbe838f0e7f2fb3b40/compiler/rustc_lint/src/nonstandard_style.rs#L435-L452 This code runs for every `PatKind::Binding`, so if a struct has multiple fields, say A and B, and both are bound in a pattern using shorthands, the call to `self.check_snake_case()` will indeed be skipped in the `check_pat()` call for `A`; but when `check_pat()` is called for `B`, the loop will still iterate over `A`, and `field.ident (= A) != ident (= B)` will be true. I have fixed this by only looking at non-shorthand bindings, and only the binding that `check_pat()` was actually called for.
2021-10-04Rollup merge of #89466 - Mark-Simulacrum:query-macros, r=oli-obkJubilee-24/+24
Fix bug with query modifier parsing The previous macro_rules! parsers failed when an additional modifier was added with ambiguity errors. The error is pretty unclear as to what exactly the cause here is, but this change simplifies the argument parsing code such that the error is avoided. Extracted from other work, and somewhat duplicates 0358edeb5 from #85830, but this approach seems a little simpler to me. Not technically currently necessary but seems like a good cleanup.
2021-10-04Rollup merge of #89456 - cuviper:llvm-13, r=nikicJubilee-1/+1
Update to the final LLVM 13.0.0 release
2021-10-04Rollup merge of #89413 - matthewjasper:spec-marker-fix, r=nikomatsakisJubilee-101/+147
Correctly handle supertraits for min_specialization Supertraits of specialization markers could circumvent checks for min_specialization. Elaborating predicates prevents this. r? ````@nikomatsakis````
2021-10-04Rollup merge of #89270 - seanyoung:join_fold, r=m-ou-seJubilee-7/+55
path.push() should work as expected on windows verbatim paths On Windows, std::fs::canonicalize() returns an so-called UNC path. UNC paths differ with regular paths because: - This type of path can much longer than a non-UNC path (32k vs 260 characters). - The prefix for a UNC path is ``Component::Prefix(Prefix::DiskVerbatim(..)))`` - No `/` is allowed - No `.` is allowed - No `..` is allowed Rust has poor handling of such paths. If you join a UNC path with a path with any of the above, then this will not work. I've implemented a new method `fn join_fold()` which joins paths and also removes any `.` and `..` from it, and replaces `/` with `\` on Windows. Using this function it is possible to use UNC paths without issue. In addition, this function is useful on Linux too; paths can be appended without having to call `canonicalize()` to remove the `.` and `..`. This PR needs test cases, which can I add. I hope this will a start of a discussion.
2021-10-04Rollup merge of #88780 - orlp:int-abs-diff, r=m-ou-seJubilee-0/+67
Added abs_diff for integer types. Closes https://github.com/rust-lang/rust/issues/62111.
2021-10-04Rollup merge of #88090 - nbdd0121:inference, r=nikomatsakisJubilee-28/+109
Perform type inference in range pattern Fix #88074
2021-10-04Rollup merge of #87993 - kornelski:try_reserve_stable, r=joshtriplettJubilee-42/+14
Stabilize try_reserve Stabilization PR for the [`try_reserve` feature](https://github.com/rust-lang/rust/issues/48043#issuecomment-898040475).
2021-10-04Add tests for ensuring docblock headings.Mukund Lakshman-0/+29
2021-10-04heading_level: u32 -> heading_offset: HeadingOffsetMukund Lakshman-61/+88
2021-10-04No need to default offset since we always override it.Mukund Lakshman-40/+36
2021-10-04Change `Markdown(...)` to `Markdown { ... }`Mukund Lakshman-47/+108
2021-10-04Make an initial guess for metadata size to reduce buffer resizesJosh Triplett-1/+3
2021-10-04Fix rustdoc test caseMichael Howell-12/+6
2021-10-04Re-bless src/test/ui/simdJubilee Young-84/+84
2021-10-04Rearrange test/ui/{simd,simd-intrinsic}Jubilee Young-0/+0
Mostly test/ui/simd-intrinsic -> test/ui/simd/intrinsic Intrinsics-per-se tests moved into that folder Repetitive names were cut short. Duplicate names given -pass annotations.
2021-10-04Use arrays over tuples in SIMD testsJubilee Young-222/+69
Simd([u8; 64]) is now valid for repr(simd), so simplify tests with huge tuples instead. This also found some completely untested code, so let's just ditch that.
2021-10-04Add documentationSamuel E. Moelius III-1/+33
2021-10-04Fix heading for methods on trait impls.Mukund Lakshman-1/+1
2021-10-04Make rustdoc not highlight `->` and `=>` as operatorsMichael Howell-6/+25
It was marking them up as `<span class="op">=</span><span class="op">&gt;</span>`, which is bloaty and wrong.
2021-10-04update MiriRalf Jung-27/+21
2021-10-04fix busted JavaScript in error index generatorMichael Howell-34/+19
The old JavaScript didn't work. It filled the browser console with "e.previousElementSibling not defined" errors, because it didn't account for the example-wrap div that a newer version of rustdoc added. Additionally, it had copied versions of utility functions that had been optimized in rustdoc main.js. This version updates those.
2021-10-04Ensure that `MaybeLiveLocals` works with simple sum-type assignmentsDylan MacKenzie-0/+32
2021-10-04Discuss field-sensitivity and enums in context of `MaybeLiveLocals`Dylan MacKenzie-0/+31
2021-10-04Auto merge of #89530 - workingjubilee:rollup-ua14iq6, r=workingjubileebors-535/+922
Rollup of 13 pull requests Successful merges: - #83655 ([aarch64] add target feature outline-atomics) - #87091 (implement advance_(back_)_by on more iterators) - #88451 (Fix an ICE caused by type mismatch errors being ignored) - #88452 (VecDeque: improve performance for From<[T; N]>) - #89400 (Improve wording of `map_or_else` docs) - #89407 (Recommend running `cargo clean` in E0514 output) - #89443 (Include the length in BTree hashes) - #89444 (rustdoc: use slice::contains instead of open-coding it) - #89447 (Improve error message for missing angle brackets in `[_]::method`) - #89453 (Consistently use 'supertrait'.) - #89483 (Practice diagnostic message convention) - #89500 (Fix ICE with buffered lint referring to AST node deleted by everybody_loops) - #89508 (Stabilize `const_panic`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-10-04Rollup merge of #89508 - jhpratt:stabilize-const_panic, r=joshtriplettJubilee-229/+100
Stabilize `const_panic` Closes #51999 FCP completed in #89006 ```@rustbot``` label +A-const-eval +A-const-fn +T-lang cc ```@oli-obk``` for review (not `r?`'ing as not on lang team)
2021-10-04Rollup merge of #89500 - FabianWolff:issue-87308, r=petrochenkovJubilee-6/+38
Fix ICE with buffered lint referring to AST node deleted by everybody_loops Fixes #87308. Note the following comment: https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_lint/src/early.rs#L415-L417 As it turns out, this is not _always_ a bug, because `-Zunpretty=everybody_loops` causes a lot of AST nodes to be deleted, and thus some buffered lints will refer to non-existent node ids. To fix this, my changes simply ignore buffered lints if `-Zunpretty=everybody_loops` is enabled, which, from my understanding, shouldn't be a big issue because it only affects pretty-printing. Of course, a more elegant solution would only ignore buffered lints that actually point at deleted node ids, but I haven't figured out an easy way of achieving this. For the concrete example in #87308, the buffered lint is created [here](https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_expand/src/mbe/macro_rules.rs#L145-L151) with the `lint_node_id` from [here](https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_expand/src/mbe/macro_rules.rs#L319), i.e. it points at the macro _expansion_, which then gets deleted by `ReplaceBodyWithLoop` [here](https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_interface/src/passes.rs#L377).
2021-10-04Rollup merge of #89483 - hkmatsumoto:patch-diagnostics-2, r=estebankJubilee-168/+167
Practice diagnostic message convention Detected by #89455. r? ```@estebank```
2021-10-04Rollup merge of #89453 - waywardmonkeys:consistent-supertrait-usage, r=nagisaJubilee-88/+88
Consistently use 'supertrait'. A subset of places referred to 'super-trait', so this changes them to all use 'supertrait'. This matches 'supertype' and some other usages. An exception is 'auto-trait' which is consistently used in that manner.
2021-10-04Rollup merge of #89447 - FabianWolff:issue-89388, r=davidtwcoJubilee-0/+17
Improve error message for missing angle brackets in `[_]::method` Fixes #89388.
2021-10-04Rollup merge of #89444 - notriddle:notriddle/contains-str, r=jyn514Jubilee-2/+2
rustdoc: use slice::contains instead of open-coding it
2021-10-04Rollup merge of #89443 - cuviper:btree-hash-len, r=dtolnayJubilee-2/+13
Include the length in BTree hashes This change makes it consistent with `Hash` for all other collections.
2021-10-04Rollup merge of #89407 - pierwill:recommend-clean-E0514, r=davidtwcoJubilee-1/+2
Recommend running `cargo clean` in E0514 output This suggestion has worked for me before. Seems to me it could help others.
2021-10-04Rollup merge of #89400 - Nitepone:nitepone/map-or-else-docfix, r=dtolnayJubilee-4/+4
Improve wording of `map_or_else` docs Changes doc text to refer to the "default" parameter as the "default" function. Previously, the doc text referred to the "f" parameter as the "default" function; and the "default" parameter as the "fallback" function.
2021-10-04Rollup merge of #88452 - xu-cheng:vecdeque-from-array, r=m-ou-seJubilee-1/+56
VecDeque: improve performance for From<[T; N]> Create `VecDeque` directly from the array instead of inserting items one-by-one. Benchmark ``` ./x.py bench library/alloc --test-args vec_deque::bench_from_array_1000 ``` * Before ``` test vec_deque::bench_from_array_1000 ... bench: 3,991 ns/iter (+/- 717) ``` * After ``` test vec_deque::bench_from_array_1000 ... bench: 268 ns/iter (+/- 37) ```
2021-10-04Rollup merge of #88451 - theo-lw:issue-87771, r=jackh726Jubilee-31/+15
Fix an ICE caused by type mismatch errors being ignored This PR fixes #87771. It turns out that the check on `compiler/rustc_typeck/src/check/demand.rs:148` leads to the ICE. I removed it because the early return in [`check_expr_assign`](https://github.com/theo-lw/rust/blob/dec7fc3ced5bc3c18d0e5d29921d087f93189cb8/compiler/rustc_typeck/src/check/expr.rs#L928) already prevents unnecessary error messages from the call to `check_expr_coercable_to_type`.
2021-10-04Rollup merge of #87091 - the8472:more-advance-by-impls, r=joshtriplettJubilee-3/+399
implement advance_(back_)_by on more iterators Add more efficient, non-default implementations for `feature(iter_advance_by)` (#77404) on more iterators and adapters. This PR only contains implementations where skipping over items doesn't elide any observable side-effects such as user-provided closures or `clone()` functions. I'll put those in a separate PR.
2021-10-04Rollup merge of #83655 - sebpop:arm64-outline-atomics, r=workingjubileeJubilee-0/+21
[aarch64] add target feature outline-atomics Enable outline-atomics by default as enabled in clang by the following commit https://reviews.llvm.org/rGc5e7e649d537067dec7111f3de1430d0fc8a4d11 Performance improves by several orders of magnitude when using the LSE instructions instead of the ARMv8.0 compatible load/store exclusive instructions. Tested on Graviton2 aarch64-linux with x.py build && x.py install && x.py test
2021-10-04Use `TokenKind::similar_tokens()`Fabian Wolff-1/+5
2021-10-04Auto merge of #7762 - HKalbasi:master, r=Manishearthbors-253/+572
Add lint `equatable_if_let` This is my attempt for #1716. There is a major false positive, which is people may implement `PartialEq` in a different way. It is unactionable at the moment so I put it into `nursery`. There is a trait `StructuralPartialEq` for solving this problem which is promising but it has several problems currently: * Integers and tuples doesn't implement it. * Some types wrongly implement it, like `Option<T>` when `T` doesn't implement it. I consider them bugs and against the propose of `StructuralPartialEq`. When they become fixed, this lint can become a useful lint with a single line change. changelog: New lint: [`equatable_if_let`]