Rollup of 15 pull requests
Successful merges:
- #56363 (Defactored Bytes::read)
- #56663 (Remove lifetime from Resolver)
- #56689 (add a lint group for lints emitted by rustdoc)
- #56772 (fix issue 54153 by not testing issue-18804 on Windows nor OS X.)
- #56820 (format-related tweaks)
- #56881 (Implement Eq, PartialEq and Hash for atomic::Ordering)
- #56907 (Fix grammar in compiler error for array iterators)
- #56908 (rustc: Don't ICE on usage of two new target features)
- #56910 (Do not point at delim spans for complete correct blocks)
- #56913 (Enable stack probes for UEFI images)
- #56918 (Profiler: simplify total_duration, improve readability)
- #56931 (Update release notes for Rust 1.31.1)
- #56947 (Add targets thumbv7neon-linux-androideabi and thumbv7neon-unknown-linux-gnueabihf)
- #56948 (Update LLVM submodule)
- #56959 (Fix mobile menu rendering collision with tooltip.)
Failed merges:
- #56914 (Ignore ui/target-feature-gate on sparc, sparc64, powerpc, powerpc64 and powerpc64le)
r? @ghost
Add targets thumbv7neon-linux-androideabi and thumbv7neon-unknown-linux-gnueabihf
These two targets enable both thumb-mode and NEON for ARMv7 CPUs.
This another attempt at #49902, which cannot be reopened. Between that PR and this one, some subrepos with C code whose build systems were failing went away.
Enable stack probes for UEFI images
When building UEFI images, we don't link to any CRT libraries so we need to provide a stack probe. Without `__rust_probestack`, the linker looks for `__chkstk` and fails to link if there is a function with large local variables.
r? @alexcrichton
Fix grammar in compiler error for array iterators
This fixes a small grammatical mistake in the message the compiler gives when attempting to iterate directly over an array `arr` without calling `arr.iter()` or borrowing `&arr`.
add a lint group for lints emitted by rustdoc
As rustdoc adds more lints that it specifically manages, it would be nice to be able to lump them all together. This gives us a new group just for that.
I deliberately didn't include `missing_docs` because this is kind of a stepping stone for moving our lints into tool lints (i.e. `#![warn(rustdoc::private_doc_tests)]`), since all of these are specifically emitted by rustdoc. If we want to move `missing_docs` out of the compiler, that's also an option, but it would create a surprising change of behavior.
I also took the chance to rewrite the lint descriptions of these lints to better match the style of the other lints. `>_>`
Defactored Bytes::read
Removed unneeded refactoring of read_one_byte, which removed the unneeded dynamic dispatch (`dyn Read`) used by that function.
This function is only used in one place in the entire Rust codebase; there doesn't seem to be a reason for it to exist (and there especially doesn't seem to be a reason for it to use dynamic dispatch)
Short-circuit Rc/Arc equality checking on equal pointers where T: Eq
based on #42965
Is the use of the private trait ok this way? Is there anything else needed for this to get pulled?
Search other library paths when loking for link objects
Support the case when link objects are not located in Rust sysroot
but in other locations which could be specify through library paths.