| Age | Commit message (Collapse) | Author | Lines |
|
This is in accordance with Clippy's redundant_closure_for_method_calls.
|
|
Reduce `unsafe` block scope and add `SAFETY` comments.
|
|
The `thread_local!` examples use `RefCell` for `Copy` types. Update
examples to have one `Copy` and one non-`Copy` type using `Cell` and
`RefCell`, respectively.
|
|
|
|
Help with common API confusion, like asking for `push` when the data structure really has `append`.
```
error[E0599]: no method named `size` found for struct `Vec<{integer}>` in the current scope
--> $DIR/rustc_confusables_std_cases.rs:17:7
|
LL | x.size();
| ^^^^
|
help: you might have meant to use `len`
|
LL | x.len();
| ~~~
help: there is a method with a similar name
|
LL | x.resize();
| ~~~~~~
```
#59450
|
|
Rename `static_mut_ref` lint to `static_mut_refs`.
|
|
This also takes care of other bootstrap-related changes.
|
|
|
|
|
|
|
|
`local_key_cell_methods` has been stable for a while and provides a much less
clunky way to interface with thread-local variables.
Additionaly add context to the documentation about why types with interior
mutability are needed.
|
|
|
|
|
|
|
|
Don't claim `LocalKey::with` prevents a reference to be sent across threads
The documentation for `LocalKey` claims that `with` yields a reference that cannot be sent across threads, but this is false since you can easily do that with scoped threads. What it actually prevents is the reference from outliving the current thread.
|
|
It exists and is pretty cool. More people should use it.
|
|
|
|
|
|
This allows removing all the platform-dependent code from `library/std/src/thread/local.rs` and `library/std/src/thread/mod.rs`
Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
|
|
Move __thread_local_inner macro in crate::thread::local to crate::sys.
Currently, the tidy check does not fail for `library/std/src/thread/local.rs` even though it contains platform specific code. This is beacause target_family did not exist at the time the tidy checks were written [1].
[1]: https://github.com/rust-lang/rust/pull/105861#discussion_r1125841678
Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
|
|
|
|
Rollup of 4 pull requests
Successful merges:
- #99244 (doc: clearer and more correct Iterator::scan)
- #103707 (Replace libstd, libcore, liballoc terminology in docs)
- #104182 (`IN6ADDR_ANY_INIT` and `IN6ADDR_LOOPBACK_INIT` documentation.)
- #106273 (rustdoc: remove redundant CSS `.source .content { overflow: visible }`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
`destroy_value` is/can be called from C code (libc). Unwinding
from Rust to C code is undefined behavior, which is why unwinding
is caught here.
|
|
This reverts commit 3099dfdd9fc1a331eb9c53200b310fa1a06e1573.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 035a717ee8bf548868fb50b5c7ca562fc4a657a7, reversing
changes made to 761e8884858759b21f3374ad610494e68c087a38.
|
|
This is now necessary because of deny(unsafe_op_in_unsafe_fn).
|
|
This avoids 'unused unsafe' warnings when using this feature inside std.
|
|
|
|
|
|
Fixes issue #95533
|
|
Some things like the unwinders and system APIs are not fully conformant,
this only covers a lot of low-hanging fruit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This may improve perf.
|
|
|
|
|
|
std: Stabilize the `thread_local_const_init` feature
This commit is intended to follow the stabilization disposition of the
FCP that has now finished in #84223. This stabilizes the ability to flag
thread local initializers as `const` expressions which enables the macro
to generate more efficient code for accessing it, notably removing
runtime checks for initialization.
More information can also be found in #84223 as well as the tests where
the feature usage was removed in this PR.
Closes #84223
|
|
|
|
This commit is intended to follow the stabilization disposition of the
FCP that has now finished in #84223. This stabilizes the ability to flag
thread local initializers as `const` expressions which enables the macro
to generate more efficient code for accessing it, notably removing
runtime checks for initialization.
More information can also be found in #84223 as well as the tests where
the feature usage was removed in this PR.
Closes #84223
|