Yuki Okushi
e6dfd308d3
Rollup merge of #75292 - slanterns:cleanup-E0502, r=GuillaumeGomez
...
Clean up E0502
`ref` on an entire `let` pattern is discouraged, take a reference with `&` instead.
2020-08-09 06:41:39 +09:00
Yuki Okushi
bc3ee48fd2
Rollup merge of #75291 - GuillaumeGomez:cleanup-e0750, r=pickfire
...
Clean up E0750
r? @Dylan-DPC
2020-08-09 06:41:37 +09:00
Yuki Okushi
55f2490a59
Rollup merge of #75290 - rust-lang:min_const_generics-version, r=jonas-schievink
...
fix `min_const_generics` version
https://github.com/rust-lang/rust/pull/74877#discussion_r467451813
> This should be 1.47.0
2020-08-09 06:41:35 +09:00
Yuki Okushi
3038ecb07b
Rollup merge of #75289 - pickfire:patch-12, r=jonas-schievink
...
Remove ambiguity from PathBuf pop example
2020-08-09 06:41:33 +09:00
Yuki Okushi
6baee9557a
Rollup merge of #75288 - pickfire:patch-11, r=jonas-schievink
...
Use assert! for Path exists example to check bool
2020-08-09 06:41:32 +09:00
Yuki Okushi
42e163bf40
Rollup merge of #75287 - pickfire:patch-10, r=jonas-schievink
...
Show Path extension example change multi extension
2020-08-09 06:41:30 +09:00
Yuki Okushi
28ab318f57
Rollup merge of #75285 - pickfire:patch-8, r=jonas-schievink
...
Separate example for Path strip_prefix
2020-08-09 06:41:28 +09:00
Yuki Okushi
27b864b154
Rollup merge of #75284 - pickfire:patch-7, r=LukasKalbertodt
...
Show relative example for Path ancestors
2020-08-09 06:41:27 +09:00
Yuki Okushi
cb75fea1cc
Rollup merge of #75266 - aticu:master, r=RalfJung
...
Add safety section to `NonNull::as_*` method docs
This basically adds the safety section of `*mut T::as_{ref,mut}` to the
same methods on `NonNull` with minor modifications to fit the
differences.
Part of #48929 .
2020-08-09 06:41:25 +09:00
Yuki Okushi
cbc6914baa
Rollup merge of #75262 - pickfire:patch-6, r=jyn514
...
Show multi extension example for Path in doctests
2020-08-09 06:41:23 +09:00
Yuki Okushi
c85075d522
Rollup merge of #75248 - TimDiekmann:NonNull-as_mut_ptr, r=RalfJung
...
Add `as_mut_ptr` to `NonNull<[T]>`
Adds `as_mut_ptr` to shortcut converting a `NonNull<[T]>` to `*mut T` as proposed in https://github.com/rust-lang/rust/issues/74265#issuecomment-669702969 .
r? @RalfJung
2020-08-09 06:41:22 +09:00
Yuki Okushi
ccffe18c3e
Rollup merge of #75162 - poliorcetics:move-documentation-fix, r=jyn514
...
Fix the documentation for move about Fn traits implementations
Fixes #74997 .
This uses the note from the [reference](https://doc.rust-lang.org/reference/types/closure.html#call-traits-and-coercions ) but I can also just put a link to it or do both.
@rusbot modify labels: C-bug T-doc T-libs
2020-08-09 06:41:20 +09:00
Yuki Okushi
3370ac0042
Rollup merge of #75151 - pickfire:patch-4, r=LukasKalbertodt
...
Consistent variable name alloc for raw_vec
2020-08-09 06:41:18 +09:00
Yuki Okushi
dde4fb3fd2
Rollup merge of #74842 - hermitcore:thread_local, r=Mark-Simulacrum
...
adjust remaining targets
- fix commit 7dc3886
- previous commit doesn't adjust all targets
2020-08-09 06:41:16 +09:00
Yuki Okushi
5bbdc73ebc
Rollup merge of #74712 - strom-und-spiele:E0271-cleanup, r=Mark-Simulacrum
...
Update E0271 explanation
When reading the explanation, I got confused by it. I hope the wording is clearer now.
2020-08-09 06:41:14 +09:00
bors
ceedf1d5fe
Auto merge of #75271 - cuviper:array-iter, r=LukasKalbertodt
...
Simplify array::IntoIter
- Initialization can use `transmute_copy` to do the bitwise copy.
- `as_slice` can use `get_unchecked` and `MaybeUninit::slice_get_ref`,
and `as_mut_slice` can do similar.
- `next` and `next_back` can use the corresponding `Range` methods.
- `Clone` doesn't need any unsafety, and we can dynamically update the
new range to get partial drops if `T::clone` panics.
r? @LukasKalbertodt
2020-08-08 20:43:21 +00:00
Guillaume Gomez
17db7a4b5c
Remove E0750 from unchecked error codes
2020-08-08 21:18:05 +02:00
Guillaume Gomez
259d350111
Clean up E0750 explanation
2020-08-08 21:17:36 +02:00
bors
1facd4a77b
Auto merge of #75163 - canova:map_into_keys_values, r=dtolnay
...
Implement `into_keys` and `into_values` for associative maps
This PR implements `into_keys` and `into_values` for HashMap and BTreeMap types. They are implemented as unstable, under `map_into_keys_values` feature.
Fixes #55214 .
r? @dtolnay
2020-08-08 18:15:50 +00:00
bors
3f091baba4
Auto merge of #75260 - davidtwco:polymorphization-promoted-substs, r=lcnr
...
polymorphize: unevaluated constants
This PR makes polymorphization visit the promoted MIR of unevaluated constants with available promoted MIR instead of visiting the substitutions of that constant - which will mark all of the generic parameters as used; in addition polymorphization will now visit non-promoted unevaluated constants rather than visit their substs.
r? @lcnr
2020-08-08 15:57:12 +00:00
Nazım Can Altınova
4cd2637e2b
Update the tracking issue number of map_into_keys_values
2020-08-08 16:35:54 +02:00
Amanieu d'Antras
99f0052151
Update hashbrown to 0.8.2
2020-08-08 15:03:47 +01:00
Alexis Bourget
1cd8dffdae
Add an example about the behaviour of move and Fn* traits
2020-08-08 15:57:17 +02:00
Nazım Can Altınova
1cdce3919f
Remove min/max values from IntoValues Iterator implementation
2020-08-08 15:51:22 +02:00
bors
2bac92bba1
Auto merge of #74533 - nikic:issue-74425, r=eddyb
...
Emit == null instead of <= null for niche check
When the niche maximum is zero, emit a "== zero" check instead of a "<= zero" check. In particular, this avoids the awkward case of "<= null". While LLVM does canonicalize this to "== null", this apparently doesn't happen for constant expressions, leading to the issue in #74425 . While that can be addressed on the LLVM side, it still seems prudent to emit sensible IR here, because this will allow null checks to be optimized earlier in the pipeline.
Fixes #74425 .
2020-08-08 13:33:53 +00:00
Slanterns
d8cf9aa693
Use &
instead of let ref
in E0502
...
`ref` on an entire `let` pattern is discouraged, take a reference with `&` instead.
2020-08-08 20:26:56 +08:00
Alexis Bourget
6d77e40afe
Move to intra-doc links in library/std/src/path.rs
2020-08-08 14:21:27 +02:00
aticu
c2099b5f28
Add safety section to NonNull::as_*
method docs
...
This basically adds the safety section of `*mut T::as_{ref,mut}` to the
same methods on `NonNull` with minor modifications to fit the
differences.
Part of #48929 .
2020-08-08 13:36:19 +02:00
Bastian Kauschke
ad6d23777b
fix min_const_generics
version
2020-08-08 13:35:42 +02:00
bors
c989ac132a
Auto merge of #74289 - lzutao:unroll, r=LukasKalbertodt
...
Remove some redundant parts from `unrolled_find_u16s`
See each commit message for details.
r? @wesleywiser from old PR #67705 .
2020-08-08 11:34:18 +00:00
Ivan Tham
4b15b809eb
Remove abmiguity from PathBuf pop example
2020-08-08 18:28:55 +08:00
Ivan Tham
b3ae88f6bb
Use assert! for Path exists example to check bool
2020-08-08 18:23:18 +08:00
Ivan Tham
9532b83912
Show Path extension example change multi extension
2020-08-08 18:14:29 +08:00
Ivan Tham
e7e41a8465
Add additonal case for Path starts with
...
Show what happens if there is an extra extension
2020-08-08 18:06:04 +08:00
Ivan Tham
6dffd2d18e
Separate example for Path strip_prefix
2020-08-08 18:01:34 +08:00
Ivan Tham
a11c27925d
Show relative example for Path ancestors
2020-08-08 17:53:16 +08:00
bors
c92fc8db8b
Auto merge of #75282 - RalfJung:miri-black-box, r=oli-obk
...
do not call black_box on Miri
Helps with https://github.com/rust-lang/rust/issues/75274 (but https://github.com/rust-lang/rust/pull/74932 introduced unrelated breakage that will need a separate fix)
Cc @eggyal r? @Mark-Simulacrum
2020-08-08 09:46:16 +00:00
strom-und-spiele
7e68b7d10a
Update E0271.md
...
remove references to non existing code,
expand solution suggestions
remove unneeded code in solution
2020-08-08 11:01:34 +02:00
Ralf Jung
8385146ffa
make black_box a NOP in Miri
2020-08-08 10:50:30 +02:00
Nikita Popov
7e5c7cf8e3
Emit == null instead of <= null
...
When the niche maximum is zero, emit a "== zero" check instead of
a "<= zero" check. In particular, this avoid the awkward case of
"<= null". While LLVM does canonicalize this to "!= null", this
appently doesn't happen for constant expressions, leading to the
issue in #74425 . While that can be addressed on the LLVM side, it
still seems prudent to emit sensible IR here, because this will
allow null checks to be optimized earlier in the pipeline.
Fixes #74425 .
2020-08-08 10:45:15 +02:00
bors
d19d7e2755
Auto merge of #75257 - ssomers:btree_74762_again, r=Mark-Simulacrum
...
BTreeMap: better way to postpone root access in DrainFilter
A slightly more elegant (in my opinion) adaptation of #74762 . Benchmarks seem irrationally pleased to:
```
benchcmp old new --threshold 5
name old ns/iter new ns/iter diff ns/iter diff % speedup
btree::map::clone_fat_100_and_remove_all 215,182 185,052 -30,130 -14.00% x 1.16
btree::map::clone_fat_100_and_remove_half 139,667 127,945 -11,722 -8.39% x 1.09
btree::map::clone_fat_val_100_and_remove_all 96,755 81,279 -15,476 -16.00% x 1.19
btree::map::clone_fat_val_100_and_remove_half 64,678 56,911 -7,767 -12.01% x 1.14
btree::map::find_rand_100 18 17 -1 -5.56% x 1.06
btree::map::first_and_last_0 33 35 2 6.06% x 0.94
btree::map::first_and_last_100 40 54 14 35.00% x 0.74
btree::map::insert_rand_100 45 42 -3 -6.67% x 1.07
btree::map::insert_rand_10_000 45 41 -4 -8.89% x 1.10
btree::map::iter_0 2,010 1,759 -251 -12.49% x 1.14
btree::map::iter_100 3,514 2,764 -750 -21.34% x 1.27
btree::map::iter_10k 4,018 3,768 -250 -6.22% x 1.07
btree::map::range_unbounded_unbounded 37,269 28,929 -8,340 -22.38% x 1.29
btree::map::range_unbounded_vs_iter 31,518 28,814 -2,704 -8.58% x 1.09
```
r? @Mark-Simulacrum
2020-08-08 07:46:04 +00:00
Marko Mijalkovic
27fca58993
Add back unwinding support for Sony PSP
2020-08-08 02:14:40 -04:00
bors
e61621c307
Auto merge of #74932 - nnethercote:rm-ast-session-globals, r=petrochenkov
...
Remove `librustc_ast` session globals
By moving the data onto `Session`.
r? @petrochenkov
2020-08-08 05:58:57 +00:00
bors
1d100ba26c
Auto merge of #75276 - JohnTitor:rollup-rz4hs0w, r=JohnTitor
...
Rollup of 7 pull requests
Successful merges:
- #75224 (Don't call a function in function-arguments-naked.rs)
- #75237 (Display elided lifetime for non-reference type in doc)
- #75250 (make MaybeUninit::as_(mut_)ptr const)
- #75253 (clean up const-hacks in int endianess conversion functions)
- #75259 (Add missing backtick)
- #75267 (Small cleanup)
- #75270 (fix a couple of clippy findings)
Failed merges:
r? @ghost
2020-08-08 03:54:33 +00:00
Yuki Okushi
21bfe529c7
Rollup merge of #75270 - matthiaskrgr:clippy_aug_1, r=Dylan-DPC
...
fix a couple of clippy findings
2020-08-08 11:36:12 +09:00
Yuki Okushi
81546de429
Rollup merge of #75267 - estebank:cleanup, r=Dylan-DPC
...
Small cleanup
* Add docstring to `Parser` field
* Remove unnecessary `unwrap`
* Remove unnecessary borrow
* Fix indentation of some `teach`text output
2020-08-08 11:36:10 +09:00
Yuki Okushi
2c1fe50362
Rollup merge of #75259 - giraffate:add_missing_backtick, r=lcnr
...
Add missing backtick
2020-08-08 11:36:09 +09:00
Yuki Okushi
02bf036c6c
Rollup merge of #75253 - RalfJung:cleanup-const-hack, r=oli-obk
...
clean up const-hacks in int endianess conversion functions
Cleans up the const hacks added in https://github.com/rust-lang/rust/pull/69373 .
r? @oli-obk
2020-08-08 11:36:07 +09:00
Yuki Okushi
b032a15fa8
Rollup merge of #75250 - RalfJung:uninit-const-ptr, r=oli-obk
...
make MaybeUninit::as_(mut_)ptr const
I think it was just an oversight that they are not const yet.
I also changed their implementation as the old one created references to uninitialized memory.^^
2020-08-08 11:36:05 +09:00
Yuki Okushi
255434d83c
Rollup merge of #75237 - nbdd0121:rustdoc, r=jyn514
...
Display elided lifetime for non-reference type in doc
In edition 2018 we encourage writing `<'_>` explicitly, so rustdoc should display like such as well.
Fixes #75225
~~Somehow when I run the compiled rustdoc using `cargo +stage2 doc` on other crates, it correctly produces `<'_>`, but I couldn't get the std doc to do the same with `./x.py doc --stage 2`. Might this be related to the recent change to x.py about how the doc is built?~~
2020-08-08 11:36:03 +09:00