Yuki Okushi
f26f201d42
Rollup merge of #75085 - lzutao:ip_union, r=cuviper
...
Transmute big endian `s6_addr` and `[u16; 8]`
The old code already made the assumption to reinterpret
`Ipv6Addr` as `[u16; 8]`.
Glibc, Linux, FreeBSD, Win32 all makes this assumption.
The main motivation of using union it to better optimize code.
Godbolt: https://rust.godbolt.org/z/b4bGvo
Const is introducing unsafe when transmuting.
ref:
* https://docs.microsoft.com/en-us/windows/win32/api/in6addr/ns-in6addr-in6_addr
* 1d6e424741/contrib/ntp/lib/isc/include/isc/ipv6.h (L63)
* 8b531aa996/include/net/net_ip.h (L137)
* https://sourceware.org/git/?p=glibc.git;a=blob;f=inet/netinet/in.h;h=f6355c7efe5192b88337b136ef687fe9a5ed648c;hb=HEAD#l216
2020-08-11 16:23:45 +09:00
Yuki Okushi
fa853f3df0
Rollup merge of #74744 - XAMPPRocky:relnotes-1.46.0, r=Mark-Simulacrum
...
Update RELEASES.md for 1.46.0
### [Rendered](https://github.com/XAMPPRocky/rust/blob/relnotes-1.46.0/RELEASES.md )
r? @Mark-Simulacrum
cc @rust-lang/release
2020-08-11 16:23:43 +09:00
bors
441fd22557
Auto merge of #75329 - ssomers:btree_cleanup_8, r=Mark-Simulacrum
...
BTreeMap: better distinguish the root holder from the root node
Renames and intermediate variables
2020-08-11 06:17:02 +00:00
bors
a9025c571e
Auto merge of #74621 - LukasKalbertodt:float-docs, r=GuillaumeGomez
...
Improve `f32` and `f64` primitive documentation
I noticed that the docs for the primitive floats were fairly short. I first only wanted to add the IEEE specification information (compare [the reference](https://doc.rust-lang.org/reference/types/numeric.html )), but then also added some more beginner-friendly docs. Let me know what you think!
Random doc team assign:
r? @rylev
2020-08-11 04:10:39 +00:00
bors
7189ca604a
Auto merge of #75383 - Dylan-DPC:rollup-6hi36zn, r=Dylan-DPC
...
Rollup of 10 pull requests
Successful merges:
- #75098 (Clippy pointer cast lint experiment)
- #75249 (Only add a border for the rust logo)
- #75315 (Avoid deleting temporary files on error)
- #75316 (Don't try to use wasm intrinsics on vectors)
- #75337 (instance: only polymorphize upvar substs)
- #75339 (evaluate required_consts when pushing stack frame in Miri engine)
- #75363 (Use existing `infcx` when emitting trait impl diagnostic)
- #75366 (Add help button)
- #75369 (Move to intra-doc links in /library/core/src/borrow.rs)
- #75379 (Use intra-doc links in /library/core/src/cmp.rs)
Failed merges:
r? @ghost
2020-08-11 01:38:31 +00:00
Dylan DPC
0a738d41b1
Rollup merge of #75379 - denisvasilik:intra-docs-links-core-cmp, r=Dylan-DPC
...
Use intra-doc links in /library/core/src/cmp.rs
Helps with #75080 .
@rustbot modify labels: T-doc, A-intra-doc-links, T-rustdoc
Known issues:
* Links from `core` to `std` (#74481 ):
* [`Vec::sort_by_key`]
2020-08-11 01:56:47 +02:00
Dylan DPC
d00c70363f
Rollup merge of #75369 - denisvasilik:intra-doc-links-core-borrow, r=Manishearth
...
Move to intra-doc links in /library/core/src/borrow.rs
Helps with #75080 .
@rustbot modify labels: T-doc, A-intra-doc-links, T-rustdoc
Known issues:
* Links from `core` to `std` (#74481 ):
* [`Box<T>`]
* [`Mutex<T>`]
* [`Rc<T>`]
* [`String`]
* [`HashMap<K, V>`]
2020-08-11 01:56:45 +02:00
Dylan DPC
51ed33d8c2
Rollup merge of #75366 - GuillaumeGomez:help-button, r=jyn514
...
Add help button
Part of #75197 .
Here is a screenshot of the result:
![Screenshot from 2020-08-10 16-53-20](https://user-images.githubusercontent.com/3050060/89796547-14112a00-db2a-11ea-9f25-57b30ab68f9b.png )
r? @jyn514
2020-08-11 01:56:43 +02:00
Dylan DPC
dff868e3da
Rollup merge of #75363 - Aaron1011:fix/diag-infcx, r=lcnr
...
Use existing `infcx` when emitting trait impl diagnostic
Fixes #75361
Fixes #74918
Previously, we were creating a new `InferCtxt`, which caused an ICE when
used with type variables from the existing `InferCtxt`
2020-08-11 01:56:41 +02:00
Dylan DPC
9edec571cb
Rollup merge of #75339 - RalfJung:eval-required, r=oli-obk
...
evaluate required_consts when pushing stack frame in Miri engine
[Just like codegen](https://github.com/rust-lang/rust/pull/70820/files#diff-32c57af5c8e23eb048f55d1e955e5cd5R194 ), Miri needs to make sure all `required_consts` evaluate successfully, to catch post-monomorphization errors.
While at it I also moved the const_eval error reporting logic into rustc_mir::const_eval::error; there is no reason it should be in `rustc_middle`. I kept this in a separate commit for easier reviewing.
Helps with https://github.com/rust-lang/miri/issues/1382 . I will add a test on the Miri side (done now: https://github.com/rust-lang/miri/pull/1504 ).
r? @oli-obk
2020-08-11 01:56:39 +02:00
Dylan DPC
1e41af3c8c
Rollup merge of #75337 - davidtwco:polymorphization-75255-fixes, r=eddyb
...
instance: only polymorphize upvar substs
This PR restricts the substitution polymorphization added in #75255 to only apply to the tupled upvar substitution, rather than all substitutions, fixing a bunch of regressions when polymorphization is
enabled.
Due to an oversight on my part, when landing #75260 and #75255 , some tests started failing when polymorphization was enabled that I didn't notice until after landing - this PR fixes the regressions from #75255 . #75336 has been filed to make sure that we don't forget to try make this change again in future, as it does enable some optimisations.
r? @lcnr
2020-08-11 01:56:38 +02:00
Dylan DPC
2932638d34
Rollup merge of #75316 - alexcrichton:fix-wasm-simd, r=oli-obk
...
Don't try to use wasm intrinsics on vectors
This commit fixes an issue with #74695 where the fptosi and fptoui
specializations on wasm were accidentally used on vector types by the
`simd_cast` intrinsic. This issue showed up as broken CI for the stdsimd
crate. Here this commit simply skips the specialization on vector kinds
flowing into `fpto{s,u}i`.
2020-08-11 01:56:36 +02:00
Dylan DPC
992988bbc5
Rollup merge of #75315 - Mark-Simulacrum:save-temps, r=ecstatic-morse
...
Avoid deleting temporary files on error
Previously if the compiler error'd, fatally, then temporary directories which
should be preserved by -Csave-temps would be deleted due to fatal compiler
errors being implemented as panics.
cc @infinity0
(Hopefully) fixes #75275 , but I haven't tested
2020-08-11 01:56:34 +02:00
Dylan DPC
2ad7c1687f
Rollup merge of #75249 - GuillaumeGomez:rust-logo-border, r=Manishearth
...
Only add a border for the rust logo
![Screenshot from 2020-08-07 11-22-51](https://user-images.githubusercontent.com/3050060/89631113-9dadc700-d8a0-11ea-8063-ad40207decaa.png )
![Screenshot from 2020-08-07 11-19-47](https://user-images.githubusercontent.com/3050060/89631114-9e465d80-d8a0-11ea-96ba-1d6926c8e7a9.png )
![Screenshot from 2020-08-07 11-19-41](https://user-images.githubusercontent.com/3050060/89631117-9edef400-d8a0-11ea-9c66-0df3d8c1ac2d.png )
I didn't add a border for the light theme though, as I felt it as unnecessary.
r? @Manishearth
2020-08-11 01:56:32 +02:00
Dylan DPC
9e73d33680
Rollup merge of #75098 - Ryan1729:clippy-pointer-cast-lint-experiment, r=oli-obk
...
Clippy pointer cast lint experiment
This PR is an experiment about exposing more parts of `rustc_typeck` for use in `clippy`. In particular, the code that checks where a cast is valid or not was exposed, which necessitated exposing [`FnCtxt`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_typeck/check/struct.FnCtxt.html ), and figuring out how to create an instance of that type inside `clippy`.
This was prompted by [this clippy issue](https://github.com/rust-lang/rust-clippy/issues/2064 ).
r? @oli-obk
2020-08-11 01:56:30 +02:00
Dylan DPC
63d1e372a6
Rollup merge of #75098 - Ryan1729:clippy-pointer-cast-lint-experiment, r=oli-obk
...
Clippy pointer cast lint experiment
This PR is an experiment about exposing more parts of `rustc_typeck` for use in `clippy`. In particular, the code that checks where a cast is valid or not was exposed, which necessitated exposing [`FnCtxt`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_typeck/check/struct.FnCtxt.html ), and figuring out how to create an instance of that type inside `clippy`.
This was prompted by [this clippy issue](https://github.com/rust-lang/rust-clippy/issues/2064 ).
r? @oli-obk
2020-08-11 01:56:30 +02:00
bors
3bb5a863c8
Auto merge of #74005 - estebank:type-ascription-redux, r=petrochenkov
...
Clean up errors in typeck and resolve
* Tweak ordering of suggestions
* Do not suggest similarly named enclosing item
* Point at item definition in foreign crates
* Add missing primary label
CC #34255 .
2020-08-10 23:50:39 +00:00
bors
cc5bfd473c
Auto merge of #5888 - matthiaskrgr:lints, r=yaahc
...
make a bunch of lints texts adhere to rustc dev guide
According to the rustc-dev guide: "The text should be matter of fact and avoid capitalization and periods, unless multiple sentences are needed"
changelog: make some lint output adhere to the rustc-dev guide
2020-08-10 22:40:42 +00:00
Matthias Krüger
6d0b5e24df
update test stderr
2020-08-11 00:27:55 +02:00
bors
16831891da
Auto merge of #5889 - ebroto:5886_or_fun_call_const_0_args, r=Manishearth
...
Avoid or_fun_call for const_fn with no args
Based on #5682 by @lzutao
This avoids a subset of false positives, specifically those related to `const fn`s that take no arguments.
For the rest, a much more involved fix would be needed, see https://github.com/rust-lang/rust-clippy/pull/5682#issuecomment-638681210 .
So this does *not* solve #5658
changelog: Avoid triggering [`or_fun_call`] with `const fn`s that take no arguments.
Fixes #5886
2020-08-10 22:12:38 +00:00
Matthias Krüger
f59ec1945f
run cargo dev update-lints
2020-08-10 23:57:08 +02:00
Matthias Krüger
1b46e485b2
Update clippy_lints/src/unwrap.rs
...
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-08-10 23:57:08 +02:00
Matthias Krüger
c514ff0c93
Update clippy_lints/src/neg_cmp_op_on_partial_ord.rs
...
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-08-10 23:57:08 +02:00
Matthias Krüger
dabf989195
neg-cmp-op-on-partial-ord: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
178da9b2ef
neg-multiply: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
e519bb3c85
overflow-check-conditional: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
9178363574
path-buf-push-overwrite: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
81f77a411e
range-zip-with-len: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
3e1e0c9bdb
redundant-static-lifetimes: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
5d69ca5e11
also change "deprecated-attribute" message
2020-08-10 23:49:06 +02:00
Matthias Krüger
fe37ddbd11
suspicious-arithmetic-impl: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
7954c22a99
unknown: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
b36a6c9594
ref_in_deref: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
4418ff122f
unneeded-field-pattern: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
2792260636
empty-liner-after-outer-attr: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
0db5cb1393
drop_bounds: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
590b91d8d4
double-parens: make lint adhere to lint message convention and do minor refactoring
2020-08-10 23:49:06 +02:00
Matthias Krüger
ba7a01a6a8
double-comparisons: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
6b0a6a70f8
default-trait-access: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
3d592b5154
cmp_null: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
8679dd375b
unnecessary_unwrap, panicking_unwrap: make lints adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
9b7ab1d38b
checked-conversions: make lint adhere to lint message convention
2020-08-10 23:48:57 +02:00
bors
770bd3d1d0
Auto merge of #75349 - nnethercote:tweak-confusable-idents-checking, r=petrochenkov
...
Tweak confusable idents checking
The confusable idents checking does some sub-optimal things with symbols.
r? @petrochenkov
cc @crlf0710
2020-08-10 21:47:29 +00:00
Eduardo Broto
5d66bd7bb3
Avoid or_fun_call for const_fn with no args
2020-08-10 23:38:58 +02:00
Denis Vasilik
eea85814e1
Use intra-doc links
2020-08-10 23:16:01 +02:00
Denis Vasilik
f260462c32
Remove links that are in scope
2020-08-10 23:14:43 +02:00
Mark Rousskov
6bbf4558ac
Feature gate is always present
2020-08-11 00:08:04 +03:00
Vadim Petrochenkov
20c5044465
Introduce rustc_lexer::is_ident
and use it in couple of places
2020-08-11 00:08:04 +03:00
bors
d495ef527c
Auto merge of #75127 - jyn514:impl-trait, r=pnkfelix
...
Fix async-std by special-casing rustdoc in typeck
https://github.com/rust-lang/rust/issues/75100
2020-08-10 19:33:25 +00:00
Alexis Bourget
a6e492b5db
Move to doc links inside the prelude
2020-08-10 21:09:37 +02:00