168192 Commits

Author SHA1 Message Date
Yuki Okushi
6c6958b531
Rollup merge of #95365 - mkroening:hermit-alloc-error-handler, r=joshtriplett
Use default alloc_error_handler for hermit

Hermit now properly separates kernel from userspace.
Applications for hermit can now use Rust's default `alloc_error_handler` instead of calling the kernel's `__rg_oom`.

CC: ``@stlankes``
2022-05-14 13:42:49 +09:00
bors
9fbbe75fd7 Auto merge of #95602 - scottmcm:faster-array-intoiter-fold, r=the8472
Fix `array::IntoIter::fold` to use the optimized `Range::fold`

It was using `Iterator::by_ref` in the implementation, which ended up pessimizing it enough that, for example, it didn't vectorize when we tried it in the <https://rust-lang.zulipchat.com/#narrow/stream/257879-project-portable-simd/topic/Reducing.20sum.20into.20wider.20types> conversation.

Demonstration that the codegen test doesn't pass on the current nightly: <https://rust.godbolt.org/z/Taxev5eMn>
2022-05-14 03:12:53 +00:00
Eric Holk
6665a4328b Fix nit 2022-05-13 19:32:53 -07:00
Eric Holk
5c98737715 Drop tracking: handle invalid assignments better
Previously this test case was crashing with an index out of bounds error
deep in the call to `needs_drop`. We avoid this by detecting clearly
invalid assignees in the `mutate` callback and ignoring these.
2022-05-13 16:25:22 -07:00
Jack Huey
0247faed29 Add bound_impl_trait_ref 2022-05-13 18:27:40 -04:00
Jack Huey
6c05e8d009 Add bound_fn_sig 2022-05-13 18:27:40 -04:00
Jack Huey
c92248ab9f Add bound_type_of 2022-05-13 18:27:18 -04:00
bors
f1f721e640 Auto merge of #97013 - matthiaskrgr:rollup-c1pc6pc, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #96154 (Expand core::hint::unreachable_unchecked() docs)
 - #96615 (Add a regression test for #54779)
 - #96982 (fix clippy expect_fun_call)
 - #97003 (Remove some unnecessary `rustc_allow_const_fn_unstable` attributes.)
 - #97011 (Add regression test for #28935)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-05-13 20:26:04 +00:00
Vadim Petrochenkov
9ba5281c76 resolve: Move collection of all macro_rules in the crate to rustdoc 2022-05-13 21:43:36 +03:00
bors
9ad4bde042 Auto merge of #95356 - coolreader18:exitstatus-exit-method, r=<try>
ExitCode::exit_process() method

cc `@yaahc` / #93840

(eeek, hit ctrl-enter before I meant to and right after realizing the branch name was wrong. oh, well)

I feel like it makes sense to have the `exit(ExitCode)` function as a method or at least associated function on ExitCode, but maybe that would hurt discoverability? Probably not as much if it's at the top of the `process::exit()` documentation or something, but idk. Also very unsure about the name, I'd like something that communicates that you are exiting with *this* ExitCode, but with a method name being postfix it doesn't seem to flow. `code.exit_process_with()` ? `.exit_process_with_self()` ? Blech. Maybe it doesn't matter, since ideally just `code.exit()` or something would be clear simply by the name and single parameter but 🤷

Also I'd like to touch up the `ExitCode` docs (which I did a bit here), but that would probably be good in a separate PR, right? Since I think the beta deadline is coming up.
2022-05-13 18:29:13 +00:00
Noa
a9e29d204e
Guarantee less in docs 2022-05-13 13:28:24 -05:00
Noa
688dcc68fe
Add ExitCode::exit_process example 2022-05-13 13:28:22 -05:00
Mateusz Mikuła
60361f2ca3 Add LLVM based mingw-w64 targets 2022-05-13 20:14:15 +02:00
Vadim Petrochenkov
6c5c7f503e Fix rebase 2022-05-13 20:42:53 +03:00
Vadim Petrochenkov
a9c14dc440 rustdoc: Use Visibility::is_public more 2022-05-13 20:42:53 +03:00
Vadim Petrochenkov
7689857884 rustdoc: Do not resolve associated item paths unnecessarily 2022-05-13 20:42:53 +03:00
Vadim Petrochenkov
7c2283d3ca rustdoc: Do not create UrlFragments until they are necessary
This simplifies error types and allows to remove `fn resolve_inner` and `fn check_full_res`

`visited_links` caching is not touched for now
2022-05-13 20:42:53 +03:00
Vadim Petrochenkov
7256c6f93e rustdoc: Remove fn resolve_macro
and otherwise unify resolution in macro namespace and other namespaces
2022-05-13 20:42:53 +03:00
Vadim Petrochenkov
95fb05d4d8 rustdoc: Remove ResolutionFailure::Dummy
The variant resolution check didn't make sense, and derive trait collision could be processed in a different way
2022-05-13 20:42:52 +03:00
Vadim Petrochenkov
c979ef5d8c rustdoc: Remove ResolutionFailure::MalformedGenerics
in favor of `PreprocessingError::MalformedGenerics`
2022-05-13 20:42:52 +03:00
Vadim Petrochenkov
51eda747b1 rustdoc: Remove ResolutionFailure::NoParentItem
It's a bug and not an error
2022-05-13 20:42:52 +03:00
carbotaniuman
bd5fce65c6 Rustc changes for permissive provenance 2022-05-13 12:30:25 -05:00
Volker-Weissmann
30108ca15c
Added note in documentation
I added this note, because if you forget the `--target` flags, you get a really ugly error message.
https://github.com/rust-lang/cargo/issues/10666
2022-05-13 18:37:07 +02:00
Guillaume Gomez
5ec5a762e9 Emit an error if there is a JS failure on rustdoc pages 2022-05-13 17:05:17 +02:00
Guillaume Gomez
a50ad35dda Update browser-ui-test version 2022-05-13 17:03:33 +02:00
Mark Rousskov
180fde8f35 Bump to 1.63 2022-05-13 10:08:03 -04:00
Matthias Krüger
cc357bd000
Rollup merge of #97011 - JohnTitor:issue-28935, r=compiler-errors
Add regression test for #28935

Closes #28935, one of the ancient issues can be closed :)
r? `@compiler-errors`
2022-05-13 16:03:26 +02:00
Matthias Krüger
a56211a44e
Rollup merge of #97003 - nnethercote:rm-const_fn-attrs, r=fee1-dead
Remove some unnecessary `rustc_allow_const_fn_unstable` attributes.

r? `@fee1-dead`
2022-05-13 16:03:25 +02:00
Matthias Krüger
384caefbb6
Rollup merge of #96982 - klensy:no-expect, r=Dylan-DPC
fix clippy expect_fun_call
2022-05-13 16:03:24 +02:00
Matthias Krüger
281be096c1
Rollup merge of #96615 - JohnTitor:test-54779, r=compiler-errors
Add a regression test for #54779

Closes #54779
r? `@jackh726`
2022-05-13 16:03:23 +02:00
Matthias Krüger
feb18d102a
Rollup merge of #96154 - lukaslueg:unreachablehint, r=scottmcm
Expand core::hint::unreachable_unchecked() docs

Rework the docs for `unreachable_unchecked`, encouraging deliberate use, and providing a better example for action at a distance.

Fixes #95865
2022-05-13 16:03:22 +02:00
Yuki Okushi
9ff4d34923
Add regression test for #28935 2022-05-13 22:04:47 +09:00
bors
a7d6408b05 Auto merge of #96899 - oli-obk:closure_wf_check_bounds, r=nikomatsakis
Check that closures satisfy their where bounds

fixes https://github.com/rust-lang/rust/issues/53092
fixes https://github.com/rust-lang/rust/issues/90409

based on https://github.com/rust-lang/rust/pull/96736
2022-05-13 11:18:01 +00:00
Oli Scherer
7a4ac84a90 For non-defining opaque type usage errors, don't try to also prove all trait bounds 2022-05-13 10:09:11 +00:00
Oli Scherer
253408b409 Check that closures satisfy their where bounds 2022-05-13 10:09:11 +00:00
bors
1c80ac003b Auto merge of #96930 - ayrtonm:mips32-tmp-file, r=petrochenkov
Fix e_flags for 32-bit MIPS targets in generated object file

In #95604 the compiler started generating a temporary symbols.o which is added to the linker invocation. This object file has an `e_flags` which is invalid for 32-bit MIPS targets. Even though symbols.o doesn't contain code, linking these targets with [lld fails](https://github.com/llvm/llvm-project/blob/main/lld/ELF/Arch/MipsArchTree.cpp#L76-L79) with
```
rust-lld: error: foo-cgu.0.rcgu.o: ABI 'o32' is incompatible with target ABI 'n64'
```
because it omits the ABI bits (`EF_MIPS_ABI_O32`) so lld assumes it's using the N64 ABI. This breaks linking on nightly for the out-of-tree [mipsel-sony-psx target](https://github.com/ayrtonm/psx-sdk-rs/issues/9), the builtin mipsel-sony-psp target (cc `@overdrivenpotato)` and probably any other 32-bit MIPS target using lld.

This PR sets the ABI in `e_flags` to O32 since that's the only ABI for 32-bit MIPS that LLVM supports. It also sets other `e_flags` bits based on the target to avoid similar issues with the object file arch and PIC. I had to bump the object crate version since some of these constants were [added recently](https://github.com/gimli-rs/object/pull/433). I'm not sure if this PR needs a test, but I can confirm that it fixes the linking issue on both targets I mentioned.
2022-05-13 08:48:31 +00:00
Scott McMurray
e8fc7ba6a7 Slap #[inline] on all the ByRefSized methods, per the8472's suggestion 2022-05-13 00:43:15 -07:00
est31
e6ccf9b5d8 Use pluralize in one instance 2022-05-13 08:48:35 +02:00
est31
cc3c5d2700 Improve name and documentation of generic_extension
This function doesn't *create* a (rules based) macro, it *expands* it.
Thus, the documentation was wrong.
2022-05-13 08:42:39 +02:00
bors
97d48bec2d Auto merge of #96965 - oli-obk:flaky_inliner_ice, r=cjgillot
Gracefully handle normalization failures in the prospective inliner cycle detector

Preliminary work for adding the regression test in #96950 to our test suite (it was flaky on glacier).

If this PR solves the flakiness on glacier, we can then merge #96950
2022-05-13 06:20:56 +00:00
Nicholas Nethercote
fd01fbc058 Remove some unnecessary rustc_allow_const_fn_unstable attributes. 2022-05-13 16:01:18 +10:00
bors
f001f9301c Auto merge of #97000 - matthiaskrgr:rollup-qh3lhu8, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #96932 (Clarify what values `BorrowedHandle`, `OwnedHandle` etc. can hold.)
 - #96948 (Add test of matches macro for trailing commas)
 - #96988 (Fix platform support links.)
 - #96989 (Be more precise than DefPathData::Misc.)
 - #96993 (rustdoc: fix GUI crash when searching for magic JS property values)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-05-13 03:40:37 +00:00
Matthias Krüger
5a111dff3b
Rollup merge of #96993 - notriddle:notriddle/prototype, r=GuillaumeGomez
rustdoc: fix GUI crash when searching for magic JS property values
2022-05-13 05:33:14 +02:00
Matthias Krüger
f2100daf32
Rollup merge of #96989 - cjgillot:defpath-use, r=davidtwco
Be more precise than DefPathData::Misc.

This variant was used for two unrelated things. Let's make this cleaner.
2022-05-13 05:33:13 +02:00
Matthias Krüger
ececa7f79c
Rollup merge of #96988 - ehuss:fix-platform-links, r=JohnTitor
Fix platform support links.

Hermitkernel was removed in #95299.  nvptx was added in #95896 without being added to the SUMMARY.
2022-05-13 05:33:12 +02:00
Matthias Krüger
7debc95bab
Rollup merge of #96948 - ludfo774:macro-trailing-comma-test, r=joshtriplett
Add test of matches macro for trailing commas

Almost all macros are tested for trailing commas.
The macro matches! was however not tested.
This PR adds that test case.
Related to #46238
2022-05-13 05:33:11 +02:00
Matthias Krüger
f38b7ff3b6
Rollup merge of #96932 - sunfishcode:sunfishcode/document-borrowed-handle, r=joshtriplett
Clarify what values `BorrowedHandle`, `OwnedHandle` etc. can hold.

Reword the documentation to clarify that when `BorrowedHandle`, `OwnedHandle`, or `HandleOrNull` hold the value `-1`, it always means the current process handle, and not `INVALID_HANDLE_VALUE`.

`-1` should only mean `INVALID_HANDLE_VALUE` after a call to a function documented to return that to report errors, which should lead I/O functions to produce errors rather than succeeding and producing `OwnedHandle` or `BorrowedHandle` values. So if a consumer of an `OwnedHandle` or `BorrowedHandle` ever sees them holding a `-1`, it should always mean the current process handle.
2022-05-13 05:33:10 +02:00
bors
925e774edc Auto merge of #96493 - chbaker0:issue-96342-fix, r=Mark-Simulacrum
Add compiletest and bootstrap "--skip" option forwarded to libtest

With this PR,  "x.py test --skip SKIP ..." will run the specified test suite, but forward "--skip SKIP" to the test tool. libtest already supports this option. The PR also adds it to compiletest which itself just forwards it to libtest.

Adds the functionality requested in https://github.com/rust-lang/rust/issues/96342. This is useful to work around tests broken upstream.

https://github.com/rust-lang/rust/issues/96362#issuecomment-1108609893 is the specific test issue my project is trying to work around.
2022-05-13 01:25:28 +00:00
Michael Howell
1b41d11d74 rustdoc: remove weird, unused variable from source-files.js 2022-05-12 17:34:46 -07:00
Kelsey Gilbert
5fde765df0 [save-analysis] Reference the variant not enum at struct-literal construction.
Closes #96985
2022-05-12 16:34:02 -07:00