Commit Graph

3764 Commits

Author SHA1 Message Date
Yuki Okushi
9d4e08e725 Rollup merge of #95534 - jyn514:std-mem-copy, r=joshtriplett
Add `core::mem::copy` to complement `core::mem::drop`.

This is useful for combinators. I didn't add `clone` since you can already
use `Clone::clone` in its place; copy has no such corresponding function.
2022-06-20 07:37:40 +09:00
Joshua Nelson
9ac6277bad Add core::mem::copy to complement core::mem::drop.
This is useful for combinators. I didn't add `clone` since you can already
use `Clone::clone` in its place; copy has no such corresponding function.
2022-06-19 16:43:19 -05:00
KaDiWa4
f0144aea74 typos in IntoFuture docs 2022-06-19 17:13:48 +02:00
bors
5fb8a39266 Auto merge of #97367 - WaffleLapkin:stabilize_checked_slice_to_str_conv, r=dtolnay
Stabilize checked slice->str conversion functions

This PR stabilizes the following APIs as `const` functions in Rust 1.63:
```rust
// core::str

pub const fn from_utf8(v: &[u8]) -> Result<&str, Utf8Error>;

impl Utf8Error {
    pub const fn valid_up_to(&self) -> usize;
    pub const fn error_len(&self) -> Option<usize>;
}
```

Note that the `from_utf8_mut` function is not stabilized as unique references (`&mut _`) are [unstable in const context].

FCP: https://github.com/rust-lang/rust/issues/91006#issuecomment-1134593095

[unstable in const context]: https://github.com/rust-lang/rust/issues/57349
2022-06-19 05:51:42 +00:00
Matthias Krüger
f351f347b8 Rollup merge of #98165 - WaffleLapkin:once_things_renamings, r=m-ou-se
once cell renamings

This PR does the renamings proposed in https://github.com/rust-lang/rust/issues/74465#issuecomment-1153703128

- Move/rename `lazy::{OnceCell, Lazy}` to `cell::{OnceCell, LazyCell}`
- Move/rename `lazy::{SyncOnceCell, SyncLazy}` to `sync::{OnceLock, LazyLock}`

(I used `Lazy...` instead of `...Lazy` as it seems to be more consistent, easier to pronounce, etc)

```@rustbot``` label +T-libs-api -T-libs
2022-06-19 00:17:13 +02:00
Paolo Barbolini
ce3b6f505e Expose iter::ByRefSized as unstable feature and use it 2022-06-18 00:03:54 +02:00
Yuki Okushi
cf68fd7e8d Rollup merge of #97675 - nvzqz:unsized-needs-drop, r=dtolnay
Make `std::mem::needs_drop` accept `?Sized`

This change attempts to make `needs_drop` work with types like `[u8]` and `str`.

This enables code in types like `Arc<T>` that was not possible before, such as https://github.com/rust-lang/rust/pull/97676.
2022-06-17 07:16:55 +09:00
Maybe Waffle
7c360dc117 Move/rename lazy::{OnceCell, Lazy} to cell::{OnceCell, LazyCell} 2022-06-16 19:53:59 +04:00
bors
6ec3993ef4 Auto merge of #97842 - notriddle:notriddle/tuple-docs, r=jsha,GuillaumeGomez
Improve the tuple and unit trait docs

* Reduce duplicate impls; show only the `(T,)` and include a sentence saying that there exists ones up to twelve of them.
* Show `Copy` and `Clone`.
* Show auto traits like `Send` and `Sync`, and blanket impls like `Any`.

Here's the new version:

* <https://notriddle.com/notriddle-rustdoc-test/std/primitive.tuple.html>
* <https://notriddle.com/notriddle-rustdoc-test/std/primitive.unit.html>
2022-06-16 11:13:30 +00:00
Yuki Okushi
b91c4d5b45 Rollup merge of #98059 - tmiasko:inline-const-eval-select, r=Amanieu
Inline `const_eval_select`

To avoid circular link time dependency between core and compiler
builtins when building with `-Zshare-generics`.

r? ```@Amanieu```
2022-06-16 07:24:41 +09:00
Alan Egerton
97bd49bf2d Clarify [T]::select_nth_unstable* return values
In cases where the nth element is not unique within the slice, it is not
correct to say that the values in the returned triplet include ones for
"all elements" less/greater than that at the given index: indeed one (or
more) such values would then laso contain values equal to that at the
given index.

The text proposed here clarifies exactly what is returned, but in so
doing it is also documenting an implementation detail that previously
wasn't detailed: namely that the return slices are slices into the
reordered slice.  I don't think this can be contentious, because the
lifetimes of those returned slices are bound to that of the original
(now reordered) slice—so there really isn't any other reasonable
implementation that could have this behaviour; but nevertheless it's
probably best if @rust-lang/libs-api give it a nod?

Fixes #97982
r? m-ou-se

@rustbot label +A-docs C-bug +T-libs-api
2022-06-14 21:57:57 +01:00
Michael Howell
2bbf44f655 rustdoc: change "variadic tuple" notation to look less like real syntax 2022-06-14 12:21:38 -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
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
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
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
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
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
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
Alan Egerton
7bbf914078 Clarify #[derive(PartialEq)] on enums
Fixes #97945
2022-06-10 16:26:00 +01: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
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
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
est31
97519bd202 Grammar fix in the compile_error documentation 2022-06-09 12:40:10 +02:00
Iago-lito
69e8e7e73b Stabilize NonZero* checked operations constness. 2022-06-09 09:17:06 +02:00
Iago-lito
5823d7b563 Partial stabilization of "nonzero_unchecked_ops". 2022-06-09 09:13:57 +02:00
Michael Howell
9f6dcceef0 Fix bootstrap attr 2022-06-08 20:06:54 -07:00
Michael Howell
85b0c2ffbb rustdoc: fixed messed-up rustdoc auto trait impls
Before:

    impl<T, U> UnwindSafe for (T, ...) where
        T: UnwindSafe,
        U: UnwindSafe,

After:

    impl<T> UnwindSafe for (T, ...) where
        T: UnwindSafe,
2022-06-08 19:51:54 -07:00
Michael Howell
6950f144cf rustdoc: show tuple impls as impl Trait for (T, ...)
This commit adds a new unstable attribute, `#[doc(tuple_varadic)]`, that
shows a 1-tuple as `(T, ...)` instead of just `(T,)`, and links to a section
in the tuple primitive docs that talks about these.
2022-06-08 19:26:51 -07:00
Michael Goulet
1577838151 Rollup merge of #97871 - ChayimFriedman2:vec-iterator-unimplemented, r=compiler-errors
Suggest using `iter()` or `into_iter()` for `Vec`

We cannot do that for `&Vec` because `#[rustc_on_unimplemented]` is limited (it does not clean generic instantiation for references, only for ADTs).

`@rustbot` label +A-diagnostics
2022-06-08 13:32:22 -07:00
Yoshua Wuyts
a4c455080c update docs for std::future::IntoFuture 2022-06-08 15:21:16 +02:00
Yuki Okushi
2b58e6314a Stabilize const_intrinsic_copy 2022-06-08 20:17:28 +09:00
Chayim Refael Friedman
456f1ffe12 Suggest using iter() or into_iter() for Vec
We cannot do that for `&Vec` because `#[rustc_on_unimplemented]` is limited (it does not clean generic instantiation for references, only for ADTs).
2022-06-08 11:09:08 +00:00
Gus Wynn
63d1c86230 [core] add Exclusive to sync 2022-06-07 13:10:50 -07:00
Michael Howell
7a93567005 docs: show Clone and Copy on () doc pages 2022-06-07 12:12:49 -07:00
Michael Howell
1e6a85789e rustdoc: show auto/blanket docs for tuple and unit 2022-06-07 11:25:00 -07:00
Michael Howell
9940ed0805 docs: clean up trait docs for tuples 2022-06-07 11:24:57 -07:00