Ian Chamberlain
bc63d5a26a
Enable thread_local_dtor on horizon OS
...
Always use fallback thread_local destructor, since __cxa_thread_atexit_impl
is never defined on the target.
See https://github.com/AzureMarker/rust-horizon/pull/2
2022-06-13 20:45:24 -07:00
Ian Chamberlain
a49d14f089
Update libc::stat field names
...
See https://github.com/Meziu/rust-horizon/pull/14
2022-06-13 20:44:58 -07:00
Ian Chamberlain
19f68a2729
Enable argv support for horizon OS
...
See https://github.com/Meziu/rust-horizon/pull/9
2022-06-13 20:44:57 -07:00
AzureMarker
06eae30034
Use the right wait_timeout implementation
...
Our condvar doesn't support setting attributes, like
pthread_condattr_setclock, which the current wait_timeout expects to
have configured.
Switch to a different implementation, following espidf.
2022-06-13 20:44:57 -07:00
AzureMarker
be8b88f2b6
Lower listen backlog to fix accept crashes
...
See https://github.com/Meziu/rust-horizon/pull/1
2022-06-13 20:44:56 -07:00
Meziu
4e808f87cc
Horizon OS STD support
...
Co-authored-by: Ian Chamberlain <ian.h.chamberlain@gmail.com>
Co-authored-by: Mark Drobnak <mark.drobnak@gmail.com>
2022-06-13 20:44:39 -07:00
DrMeepster
5470a38921
add inline(always) to option
2022-06-13 16:26:05 -07:00
Eduard-Mihai Burtescu
a4f1331b9d
[perf] std: add missing #[inline]
to DefaultHasher::{new,default}
.
2022-06-13 18:33:02 +00:00
Tomasz Miąsko
8a8404bc2b
Inline const_eval_select
...
To avoid circular link time dependency between core and compiler
builtins when building with `-Zshare-generics`.
2022-06-13 17:10:40 +02:00
Imbolc
acda8866cc
Document an edge case of str::split_once
2022-06-13 13:35:49 +03:00
Eduard-Mihai Burtescu
07c7ba7205
proc_macro: bypass RandomState to remove ASLR-like effects.
2022-06-13 07:59:44 +00:00
bors
083721a1a7
Auto merge of #98038 - TaKO8Ki:remove-unnecessary-space-in-doc, r=compiler-errors
...
Remove an unnecessary space in doc
2022-06-13 04:26:05 +00:00
Takayuki Maeda
ba41d4c855
remove an unnecessary space in doc
2022-06-13 09:51:13 +09:00
Michael Goulet
5dccf4e5fc
Rollup merge of #97950 - eggyal:issue-97945, r=Dylan-DPC
...
Clarify `#[derive(PartialEq)]` on enums
Fixes #97945
2022-06-12 17:35:41 -07:00
Dylan DPC
a24ca03660
Rollup merge of #97992 - m-ou-se:stabilize-scoped-threads, r=joshtriplett
...
Stabilize scoped threads.
Tracking issue: https://github.com/rust-lang/rust/issues/93203
FCP finished here: https://github.com/rust-lang/rust/issues/93203#issuecomment-1152249466
2022-06-12 12:14:29 +02:00
Dylan DPC
cf3c41aa9d
Rollup merge of #97970 - dtolnay:terminate, r=joshtriplett
...
Fix Termination impl panic on closed stderr
Repro:
```rust
#![feature(backtrace)]
use std::backtrace::Backtrace;
use std::io::{self, Write as _};
use std::panic::{self, PanicInfo};
#[derive(Debug)]
pub struct Error;
fn panic_hook(panic_info: &PanicInfo) {
let backtrace = Backtrace::force_capture();
let _ = write!(io::stdout(), "{}\n{}", panic_info, backtrace);
}
fn main() -> Result<(), Error> {
panic::set_hook(Box::new(panic_hook));
let stderr = io::stderr();
let mut stderr = stderr.lock();
while stderr.write_all(b".\n").is_ok() {}
Err(Error)
}
```
### Before:
```console
$ target/debug/repro 3>&2 2>&1 1>&3 | head
.
.
.
.
.
.
.
.
.
.
panicked at 'failed printing to stderr: Broken pipe (os error 32)', library/std/src/io/stdio.rs:1016:9
0: testing::panic_hook
at ./src/main.rs:11:21
1: core::ops::function::Fn::call
at /git/rust/library/core/src/ops/function.rs:77:5
2: std::panicking::rust_panic_with_hook
3: std::panicking::begin_panic_handler::{{closure}}
4: std::sys_common::backtrace::__rust_end_short_backtrace
5: rust_begin_unwind
6: core::panicking::panic_fmt
7: std::io::stdio::_eprint
8: <core::result::Result<!,E> as std::process::Termination>::report
at /git/rust/library/std/src/process.rs:2164:9
9: <core::result::Result<(),E> as std::process::Termination>::report
at /git/rust/library/std/src/process.rs:2148:25
10: std::rt::lang_start::{{closure}}
at /git/rust/library/std/src/rt.rs:145:18
11: std::rt::lang_start_internal
12: std::rt::lang_start
at /git/rust/library/std/src/rt.rs:144:17
13: main
14: __libc_start_main
at /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:308:16
15: _start
```
### After:
```console
$ target/debug/repro 3>&2 2>&1 1>&3 | head
.
.
.
.
.
.
.
.
.
.
```
2022-06-12 12:14:27 +02:00
Dylan DPC
b2172b7a53
Rollup merge of #97921 - bvanjoi:docs-example-str-replace, r=Dylan-DPC
...
additional docs example for replace **all** of str
2022-06-12 12:14:26 +02:00
Michael Howell
36fb094d25
Add docs to maybe_tuple_doc!
2022-06-11 21:47:03 -07:00
Michael Howell
22c39aa835
Update library/core/src/primitive_docs.rs
2022-06-11 21:45:23 -07:00
Michael Howell
80b201da7d
Update library/std/src/primitive_docs.rs
...
Co-authored-by: Jacob Hoffman-Andrews <github@hoffman-andrews.com>
2022-06-11 20:07:10 -07:00
DrMeepster
940e0b3765
fix compat_fn option method on miri
2022-06-11 16:52:59 -07:00
bors
c08b235a5c
Auto merge of #97996 - matthiaskrgr:rollup-bvbjlid, r=matthiaskrgr
...
Rollup of 5 pull requests
Successful merges:
- #97904 (Small grammar fix in the compile_error documentation)
- #97943 (line 1352, change `self` to `*self`, other to `*other`)
- #97969 (Make -Cpasses= only apply to pre-link optimization)
- #97990 (Add more eslint checks)
- #97994 (feat(fix): update some links in `hir.rs`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-06-11 17:49:22 +00:00
Michael Howell
28bd1a4847
docs: make all the variadic impls use (T, ...)
exactly
2022-06-11 10:32:39 -07:00
Michael Howell
c1487550ca
Add test case for #trait-implementations-1 link
2022-06-11 09:54:23 -07:00
Michael Howell
3fd16648fe
Re-add explicit list of traits to tuple docs, with limit notes
2022-06-11 09:54:23 -07:00
Michael Howell
090c68ba5c
Use relative path for addressing things in rust-lang/rust
...
Co-authored-by: Jacob Hoffman-Andrews <github@hoffman-andrews.com>
2022-06-11 09:54:23 -07:00
Michael Howell
9b31323b8f
Fix incorrectly spelled "variadic"
2022-06-11 09:54:20 -07:00
Matthias Krüger
39de4e4b6f
Rollup merge of #97943 - Warrenren:master, r=Dylan-DPC
...
line 1352, change `self` to `*self`, other to `*other`
The current code will not results bug, but it difficult to understand. These code result to call &f32::partial_cmp(), and the performance will be lower than the changed code. I'm not sure why the current code don't use (*self) (*other), if you have some idea, please let me know.
2022-06-11 18:05:33 +02:00
Matthias Krüger
4b7ec84c31
Rollup merge of #97904 - est31:master, r=Dylan-DPC
...
Small grammar fix in the compile_error documentation
2022-06-11 18:05:32 +02:00
Mara Bos
ae0a533b0b
Stabilize scoped threads.
2022-06-11 15:01:52 +02:00
Dylan DPC
54d7b3fb9c
Rollup merge of #97979 - ben0x539:providerdocs, r=Dylan-DPC
...
Fix typos in Provider API docs
2022-06-11 12:59:29 +02:00
Dylan DPC
5dc8f1799e
Rollup merge of #97958 - mkroening:exit-status-docs, r=Dylan-DPC
...
ExitStatus docs fixups
This fixes a typo, adds a link and adds code-quotes in the ExitStatus docs.
2022-06-11 07:42:15 +02:00
Benjamin Herr
74ef14830f
Fix typos in Provider API docs
2022-06-10 20:58:27 -07:00
Warrenren
9e1e476186
Update cmp.rs
...
line 1352, delete parentheses for reviewers asking for it.
2022-06-11 11:04:27 +08:00
David Tolnay
563aa12a22
Do not panic in Termination impl on closed stderr
...
Repro:
#![feature(backtrace)]
use std::backtrace::Backtrace;
use std::io::{self, Write as _};
use std::panic::{self, PanicInfo};
#[derive(Debug)]
pub struct Error;
fn panic_hook(panic_info: &PanicInfo) {
let backtrace = Backtrace::force_capture();
let _ = write!(io::stdout(), "{}\n{}", panic_info, backtrace);
}
fn main() -> Result<(), Error> {
panic::set_hook(Box::new(panic_hook));
let stderr = io::stderr();
let mut stderr = stderr.lock();
while stderr.write_all(b".\n").is_ok() {}
Err(Error)
}
Before:
$ RUST_BACKTRACE=1 target/debug/testing 3>&2 2>&1 1>&3 | head
.
.
.
.
.
.
.
.
.
.
panicked at 'failed printing to stderr: Broken pipe (os error 32)', library/std/src/io/stdio.rs:1016:9
0: testing::panic_hook
at ./src/main.rs:11:21
1: core::ops::function::Fn::call
at /git/rust/library/core/src/ops/function.rs:77:5
2: std::panicking::rust_panic_with_hook
3: std::panicking::begin_panic_handler::{{closure}}
4: std::sys_common::backtrace::__rust_end_short_backtrace
5: rust_begin_unwind
6: core::panicking::panic_fmt
7: std::io::stdio::_eprint
8: <core::result::Result<!,E> as std::process::Termination>::report
at /git/rust/library/std/src/process.rs:2164:9
9: <core::result::Result<(),E> as std::process::Termination>::report
at /git/rust/library/std/src/process.rs:2148:25
10: std::rt::lang_start::{{closure}}
at /git/rust/library/std/src/rt.rs:145:18
11: std::rt::lang_start_internal
12: std::rt::lang_start
at /git/rust/library/std/src/rt.rs:144:17
13: main
14: __libc_start_main
at /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:308:16
15: _start
After:
$ RUST_BACKTRACE=1 target/debug/testing 3>&2 2>&1 1>&3 | head
.
.
.
.
.
.
.
.
.
.
2022-06-10 13:42:28 -07:00
Matthias Krüger
30a8903821
Rollup merge of #97940 - GuillaumeGomez:relative-link, r=Dylan-DPC
...
Use relative links instead of linking to doc.rust-lang.org when possible
Part of https://github.com/rust-lang/rust/issues/97918 .
2022-06-10 22:32:31 +02:00
Martin Kröning
8537a1fd50
docs: Consistently mark ExitStatus as code
2022-06-10 20:26:41 +02:00
Martin Kröning
3b45521acf
docs: Link to ExitCode instead of ExitStatus in ExitStatus
2022-06-10 20:25:36 +02:00
Martin Kröning
30c882521c
docs: Fix typo in ExitStatus
2022-06-10 20:24:45 +02:00
Alan Egerton
7bbf914078
Clarify #[derive(PartialEq)]
on enums
...
Fixes #97945
2022-06-10 16:26:00 +01:00
bors
ec55c61305
Auto merge of #96837 - tmiasko:stdio-fcntl, r=joshtriplett
...
Use `fcntl(fd, F_GETFD)` to detect if standard streams are open
In the previous implementation, if the standard streams were open,
but the RLIMIT_NOFILE value was below three, the poll would fail
with EINVAL:
> ERRORS: EINVAL The nfds value exceeds the RLIMIT_NOFILE value.
Switch to the existing fcntl based implementation to avoid the issue.
Fixes #96621 .
2022-06-10 11:50:39 +00:00
Warrenren
5e9e73cc9f
line 1352, change self to (*self), other to (*other)
...
The current code will not results bug, but it difficult to understand. These code result to call &f32::partial_cmp(), and the performance will be lower than the changed code. I'm not sure why the current code don't use (*self) (*other), if you have some idea, please let me know.
2022-06-10 19:08:03 +08:00
Guillaume Gomez
28ca3bdeb2
Use relative links instead of linking to doc.rust-lang.org when possible
2022-06-10 11:57:53 +02:00
bors
f19ccc2e8d
Auto merge of #97939 - JohnTitor:rollup-79pxupb, r=JohnTitor
...
Rollup of 6 pull requests
Successful merges:
- #97718 (Fix `delayed_good_path_bug` ice for expected diagnostics (RFC 2383))
- #97876 (update docs for `std::future::IntoFuture`)
- #97888 (Don't use __gxx_personality_v0 in panic_unwind on emscripten target)
- #97922 (Remove redundant calls to reserve in impl Write for VecDeque)
- #97927 (Do not introduce bindings for types and consts in HRTB.)
- #97937 (Fix a typo in `test/ui/hrtb/hrtb-just-for-static.rs`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-06-10 09:05:50 +00:00
Yuki Okushi
3e5ddb73a8
Rollup merge of #97922 - paolobarbolini:no-vecdeque-extra-reserve, r=the8472
...
Remove redundant calls to reserve in impl Write for VecDeque
Removes the reserve calls made redundant by #95904 (as discussed in https://github.com/rust-lang/rust/pull/95632#discussion_r846850293 )
2022-06-10 17:22:31 +09:00
Yuki Okushi
20be5da712
Rollup merge of #97888 - hoodmane:emscripten-eh-personality, r=Amanieu
...
Don't use __gxx_personality_v0 in panic_unwind on emscripten target
This resolves #85821 . See also the discussion here:
https://github.com/emscripten-core/emscripten/issues/17128
The consensus seems to be that rust_eh_personality is never invoked.
I patched __gxx_personality_v0 to log invocations and then ran
various panic tests and it was never called, so this analysis matches
what seems to happen in practice. This replaces the definition with
an abort, modeled on the structured exception handling implementation.
2022-06-10 17:22:30 +09:00
Yuki Okushi
a652a4303f
Rollup merge of #97876 - yoshuawuyts:into-future-docs, r=JohnTitor,yaahc
...
update docs for `std::future::IntoFuture`
Ref https://github.com/rust-lang/rust/issues/67644 .
This updates the docs for `IntoFuture` providing a bit more guidance on how to use it. Thanks!
2022-06-10 17:22:29 +09:00
bors
3dea0033f7
Auto merge of #95818 - petrochenkov:stabundle, r=wesleywiser
...
Stabilize the `bundle` native library modifier
And remove the legacy `static-nobundle` linking kind.
Stabilization report - https://github.com/rust-lang/rust/pull/95818#issuecomment-1120470945 .
cc #81490
Closes #37403
2022-06-10 06:25:02 +00:00
bors
52ee2a2738
Auto merge of #95770 - nrc:read-buf-builder, r=joshtriplett
...
std::io: Modify some ReadBuf method signatures to return `&mut Self`
This allows using `ReadBuf` in a builder-like style and to setup a `ReadBuf` and
pass it to `read_buf` in a single expression, e.g.,
```
// With this PR:
reader.read_buf(ReadBuf::uninit(buf).assume_init(init_len))?;
// Previously:
let mut buf = ReadBuf::uninit(buf);
buf.assume_init(init_len);
reader.read_buf(&mut buf)?;
```
r? `@sfackler`
cc https://github.com/rust-lang/rust/issues/78485 , https://github.com/rust-lang/rust/issues/94741
2022-06-10 03:55:16 +00:00
bors
e9aff9c42c
Auto merge of #91970 - nrc:provide-any, r=scottmcm
...
Add the Provider api to core::any
This is an implementation of [RFC 3192](https://github.com/rust-lang/rfcs/pull/3192 ) ~~(which is yet to be merged, thus why this is a draft PR)~~. It adds an API for type-driven requests and provision of data from trait objects. A primary use case is for the `Error` trait, though that is not implemented in this PR. The only major difference to the RFC is that the functionality is added to the `any` module, rather than being in a sibling `provide_any` module (as discussed in the RFC thread).
~~Still todo: improve documentation on items, including adding examples.~~
cc `@yaahc`
2022-06-10 01:10:59 +00:00