Jubilee
99e6e3ff07
Rollup merge of #87993 - kornelski:try_reserve_stable, r=joshtriplett
...
Stabilize try_reserve
Stabilization PR for the [`try_reserve` feature](https://github.com/rust-lang/rust/issues/48043#issuecomment-898040475 ).
2021-10-04 21:12:33 -07:00
Mukund Lakshman
08a4f24f68
Add tests for ensuring docblock headings.
2021-10-04 22:28:04 -04:00
Mukund Lakshman
f1425c7c3e
heading_level: u32 -> heading_offset: HeadingOffset
2021-10-04 22:28:04 -04:00
Mukund Lakshman
13558ee0a0
No need to default offset since we always override it.
2021-10-04 22:28:04 -04:00
Mukund Lakshman
6518a0a8b9
Change Markdown(...) to Markdown { ... }
2021-10-04 22:28:02 -04:00
Josh Triplett
c35a700be2
Make an initial guess for metadata size to reduce buffer resizes
2021-10-04 19:23:13 -07:00
Michael Howell
8eb3a95afa
Fix rustdoc test case
2021-10-04 18:19:58 -07:00
Jubilee Young
2a7b5117ea
Re-bless src/test/ui/simd
2021-10-04 18:05:15 -07:00
Jubilee Young
22dc82915a
Rearrange test/ui/{simd,simd-intrinsic}
...
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-04 18:05:15 -07:00
Jubilee Young
983bc9d0a5
Use arrays over tuples in SIMD tests
...
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-04 18:03:22 -07:00
Samuel E. Moelius III
e16e15f3ae
Add documentation
2021-10-04 20:58:35 -04:00
Mukund Lakshman
4a6aa6e406
Fix heading for methods on trait impls.
2021-10-04 20:49:21 -04:00
Michael Howell
9ee696e791
Make rustdoc not highlight -> and => as operators
...
It was marking them up as `<span class="op">=</span><span class="op">></span>`,
which is bloaty and wrong.
2021-10-04 16:53:00 -07:00
Ralf Jung
e5d01785f8
update Miri
2021-10-04 18:13:00 -04:00
Michael Howell
ccd2be5b91
fix busted JavaScript in error index generator
...
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-04 15:04:52 -07:00
Dylan MacKenzie
9f9f7f695a
Ensure that MaybeLiveLocals works with simple sum-type assignments
2021-10-04 14:10:30 -07:00
Dylan MacKenzie
02c2a35c66
Discuss field-sensitivity and enums in context of MaybeLiveLocals
2021-10-04 14:09:19 -07:00
bors
003d8d3f56
Auto merge of #89530 - workingjubilee:rollup-ua14iq6, r=workingjubilee
...
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-04 20:58:57 +00:00
Jubilee
9866b090f4
Rollup merge of #89508 - jhpratt:stabilize-const_panic, r=joshtriplett
...
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-04 13:58:17 -07:00
Jubilee
3d4467dfcc
Rollup merge of #89500 - FabianWolff:issue-87308, r=petrochenkov
...
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-04 13:58:16 -07:00
Jubilee
5352e17df3
Rollup merge of #89483 - hkmatsumoto:patch-diagnostics-2, r=estebank
...
Practice diagnostic message convention
Detected by #89455 .
r? ```@estebank```
2021-10-04 13:58:15 -07:00
Jubilee
2bc89ce0bf
Rollup merge of #89453 - waywardmonkeys:consistent-supertrait-usage, r=nagisa
...
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-04 13:58:14 -07:00
Jubilee
08dd4148f1
Rollup merge of #89447 - FabianWolff:issue-89388, r=davidtwco
...
Improve error message for missing angle brackets in `[_]::method`
Fixes #89388 .
2021-10-04 13:58:13 -07:00
Jubilee
b115a16956
Rollup merge of #89444 - notriddle:notriddle/contains-str, r=jyn514
...
rustdoc: use slice::contains instead of open-coding it
2021-10-04 13:58:12 -07:00
Jubilee
e1478d650d
Rollup merge of #89443 - cuviper:btree-hash-len, r=dtolnay
...
Include the length in BTree hashes
This change makes it consistent with `Hash` for all other collections.
2021-10-04 13:58:11 -07:00
Jubilee
9381d7a898
Rollup merge of #89407 - pierwill:recommend-clean-E0514, r=davidtwco
...
Recommend running `cargo clean` in E0514 output
This suggestion has worked for me before. Seems to me it could help others.
2021-10-04 13:58:10 -07:00
Jubilee
9e387cf27e
Rollup merge of #89400 - Nitepone:nitepone/map-or-else-docfix, r=dtolnay
...
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-04 13:58:09 -07:00
Jubilee
19d9a147be
Rollup merge of #88452 - xu-cheng:vecdeque-from-array, r=m-ou-se
...
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-04 13:58:08 -07:00
Jubilee
a2c6075dff
Rollup merge of #88451 - theo-lw:issue-87771, r=jackh726
...
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-04 13:58:07 -07:00
Jubilee
ca8a10845f
Rollup merge of #87091 - the8472:more-advance-by-impls, r=joshtriplett
...
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-04 13:58:07 -07:00
Jubilee
4e9cf04c98
Rollup merge of #83655 - sebpop:arm64-outline-atomics, r=workingjubilee
...
[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-04 13:58:06 -07:00
Fabian Wolff
079c075f24
Use TokenKind::similar_tokens()
2021-10-04 22:13:00 +02:00
bors
abe551ecb7
Auto merge of #7762 - HKalbasi:master, r=Manishearth
...
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`]
2021-10-04 19:38:04 +00:00
Fabian Wolff
388bcc1cb0
Fix suggestion to borrow when casting from pointer to reference
2021-10-04 21:15:02 +02:00
Guillaume Gomez
013aa378f3
Add test for duplicated doc aliases
2021-10-04 20:57:05 +02:00
Guillaume Gomez
40fe064c63
Add a check for duplicated doc aliases in unused lint
2021-10-04 20:57:05 +02:00
hkalbasi
388a3d0983
Implement equatable if let lint
2021-10-04 22:16:42 +03:30
bors
3311b366e9
Auto merge of #7761 - giraffate:fix_ice_in_inplicit_hasher, r=Manishearth
...
Fix ICE in `implicit_hasher`
close #7712
changelog: Fix ICE in [`implicit_hasher`]
2021-10-04 17:07:00 +00:00
Benoît du Garreau
47edde1086
Optimize saturating_add_signed
2021-10-04 18:52:17 +02:00
Aaron Hill
32a5abc6fe
Make proc_macro_derive_resolution_fallback a future-breakage lint
...
When `cargo report future-incompatibilities` is stabilized
(see #71249 ), this will cause dependencies that trigger
this lint to be included in the report.
2021-10-04 11:05:48 -05:00
Takayuki Nakata
72f0180f7b
Fix ICE in implicit_hasher
2021-10-04 23:31:40 +09:00
bors
175b8db73b
Auto merge of #88834 - the8472:char-count, r=joshtriplett
...
optimize str::from_utf8() validation when slice contains multibyte chars and str.chars().count() in all cases
The change shows small but consistent improvements across several x86 target feature levels. I also tried to optimize counting with `slice.as_chunks` but that yielded more inconsistent results, bigger improvements for some optimization levels, lesser ones in others.
```
old, -O2, x86-64
test str::str_char_count_emoji ... bench: 1,924 ns/iter (+/- 26)
test str::str_char_count_lorem ... bench: 879 ns/iter (+/- 12)
test str::str_char_count_lorem_short ... bench: 5 ns/iter (+/- 0)
new, -O2, x86-64
test str::str_char_count_emoji ... bench: 1,878 ns/iter (+/- 21)
test str::str_char_count_lorem ... bench: 851 ns/iter (+/- 11)
test str::str_char_count_lorem_short ... bench: 4 ns/iter (+/- 0)
old, -O2, x86-64-v2
test str::str_char_count_emoji ... bench: 1,477 ns/iter (+/- 46)
test str::str_char_count_lorem ... bench: 675 ns/iter (+/- 15)
test str::str_char_count_lorem_short ... bench: 5 ns/iter (+/- 0)
new, -O2, x86-64-v2
test str::str_char_count_emoji ... bench: 1,323 ns/iter (+/- 39)
test str::str_char_count_lorem ... bench: 593 ns/iter (+/- 18)
test str::str_char_count_lorem_short ... bench: 4 ns/iter (+/- 0)
old, -O2, x86-64-v3
test str::str_char_count_emoji ... bench: 748 ns/iter (+/- 7)
test str::str_char_count_lorem ... bench: 348 ns/iter (+/- 2)
test str::str_char_count_lorem_short ... bench: 5 ns/iter (+/- 0)
new, -O2, x86-64-v3
test str::str_char_count_emoji ... bench: 650 ns/iter (+/- 4)
test str::str_char_count_lorem ... bench: 301 ns/iter (+/- 1)
test str::str_char_count_lorem_short ... bench: 5 ns/iter (+/- 0)
```
and for the multibyte-char string validation:
```
old, -O2, x86-64
test str::str_validate_emoji ... bench: 4,606 ns/iter (+/- 64)
new, -O2, x86-64
test str::str_validate_emoji ... bench: 3,837 ns/iter (+/- 60)
```
2021-10-04 12:49:57 +00:00
Guillaume Gomez
d26e192edd
Don't rebuild GUI test crates every time you run test src/test/rustdoc-gui
2021-10-04 14:46:37 +02:00
bors
a4797664ba
Auto merge of #89489 - FabianWolff:issue-89485, r=oli-obk
...
Fix unsound optimization with explicit variant discriminants
Fixes #89485 .
2021-10-04 10:09:04 +00:00
Kornel
00152d8977
Stabilize try_reserve
2021-10-04 10:29:46 +01:00
Yoshua Wuyts
03fbc160cd
Add doc aliases to std::thread::available_parallelism
2021-10-04 11:13:39 +02:00
Mukund Lakshman
a8a40ea9a4
librustdoc: Use correct heading levels.
...
- Avoid multiple <h1>s on a page.
- The <h#> tags should follow a semantic hierarchy.
- Cap at h6 (no h7)
2021-10-04 05:01:04 -04:00
bors
44593aeb13
Auto merge of #89512 - Manishearth:rollup-meh9x7r, r=Manishearth
...
Rollup of 14 pull requests
Successful merges:
- #86434 (Add `Ipv6Addr::is_benchmarking`)
- #86828 (const fn for option copied, take & replace)
- #87679 (BTree: refine some comments)
- #87910 (Mark unsafe methods NonZero*::unchecked_(add|mul) as const.)
- #88286 (Remove unnecessary unsafe block in `process_unix`)
- #88305 (Manual Debug for Unix ExitCode ExitStatus ExitStatusError)
- #88353 (Partially stabilize `array_methods`)
- #88370 (Add missing `# Panics` section to `Vec` method)
- #88481 (Remove some feature gates)
- #89138 (Fix link in Ipv6Addr::to_ipv4 docs)
- #89401 (Add truncate note to Vec::resize)
- #89467 (Fix typos in rustdoc/lints)
- #89472 (Only register `WSACleanup` if `WSAStartup` is actually ever called)
- #89505 (Add regression test for spurious const error with NLL)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2021-10-04 07:25:50 +00:00
kadmin
9cb30f465e
Move generic error message to separate branches
...
This decomposes an error message in generic constants into more specific branches, for better
readability.
2021-10-04 06:49:49 +00:00
Jacob Pratt
bce8621983
Stabilize const_panic
2021-10-04 02:33:33 -04:00