Commit graph

7970 commits

Author SHA1 Message Date
bors
61ba018093 Auto merge of #51562 - SimonSapin:transparent, r=cramertj
Stabilize #[repr(transparent)]

Tracking issue FCP: https://github.com/rust-lang/rust/issues/43036#issuecomment-394094318
Reference PR: https://github.com/rust-lang-nursery/reference/pull/353
2018-06-16 10:59:40 +00:00
Josef Reinhard Brandl
2177378e34 Improve core::task::TaskObj 2018-06-13 09:32:59 +02:00
kennytm
8ae188959b
Replace core::iter::AlwaysOk<T> by Result<T, !> 2018-06-13 06:54:31 +08:00
bors
56d9bfdf77 Auto merge of #51505 - cuviper:these-go-to-11, r=estebank
Regenerate character tables for Unicode 11

None
2018-06-12 07:08:09 +00:00
Simon Sapin
e2aef92c19 Stabilize #[repr(transparent)]
Tracking issue FCP: https://github.com/rust-lang/rust/issues/43036#issuecomment-394094318
Reference PR: https://github.com/rust-lang-nursery/reference/pull/353
2018-06-12 06:49:07 +02:00
bors
4367e41ea2 Auto merge of #51241 - glandium:globalalloc, r=sfackler,SimonSapin
Stabilize GlobalAlloc and #[global_allocator]

This PR implements the changes discussed in https://github.com/rust-lang/rust/issues/49668#issuecomment-393263510

Fixes #49668
Fixes #27389

This does not change the default global allocator: #36963
2018-06-12 00:36:21 +00:00
Simon Sapin
7f0d54d988 More alloc docs tweaks 2018-06-11 13:48:57 -07:00
Simon Sapin
9dcb64f346 Alloc docs teaks 2018-06-11 13:48:57 -07:00
Simon Sapin
bbaff036e7 Stablize the GlobalAlloc trait
Fixes https://github.com/rust-lang/rust/issues/49668
2018-06-11 13:48:39 -07:00
Simon Sapin
77606f20c9 Stabilize alloc::Layout (with only some of its methods) 2018-06-11 13:48:33 -07:00
Simon Sapin
75e17da873 Mark as permanently-unstable some implementation details 2018-06-11 13:48:27 -07:00
Simon Sapin
951bc28fd0 Stablize the alloc module without changing stability of its contents. 2018-06-11 13:48:25 -07:00
Simon Sapin
e9fd063edb Document memory allocation APIs
Add some docs where they were missing,
attempt to fix them where they were out of date.
2018-06-11 13:47:28 -07:00
Simon Sapin
8c30c51686 Remove deprecated heap modules
The heap.rs file was already unused.
2018-06-11 13:47:27 -07:00
Mike Hommey
f6ab74b8e7 Remove alloc::Opaque and use *mut u8 as pointer type for GlobalAlloc 2018-06-11 13:47:23 -07:00
bors
1d4dbf488a Auto merge of #51442 - tinaun:more-future-impls, r=cramertj
[futures] add a few blanket impls to std

these were defined in the futures crate, but with the core definitions moving to std these would need to move too.
2018-06-11 20:14:39 +00:00
Josh Stone
f81e34b825 Regenerate character tables for Unicode 11 2018-06-11 10:54:30 -07:00
bors
a32e979ba5 Auto merge of #51423 - RalfJung:from_raw_parts, r=sfackler
Improve docs for slice::from_raw_parts

Explain why the pointer must be non-null and aligned.

Cc @hsivonen
2018-06-11 03:48:23 +00:00
bors
cabb679bf1 Auto merge of #51474 - llogiq:from-docs, r=TimNN
add some docs to `From` conversions

This adds a helpful document to the bool → int* conversions as well as to the lossless integer conversions.

One of #51430 down, some more to go.
2018-06-10 18:00:12 +00:00
bors
c5a129e809 Auto merge of #51200 - tmccombs:stable-iter-repeat-with, r=Centril,kennytm
Stabilize iterator_repeat_with

Fixes #48169
2018-06-10 15:48:14 +00:00
Andre Bogus
553a44a5cc add some docs to conversions 2018-06-10 13:16:34 +02:00
bors
b4d836c98b Auto merge of #51320 - tmccombs:step-by, r=SimonSapin
Stabilize Iterator::step_by

Fixes #27741
2018-06-10 01:45:42 +00:00
bors
0b491a17b9 Auto merge of #51441 - bstrie:sizeof128, r=dtolnay
Document size_of for 128-bit integers

We might want to consider separately documenting the alignment of
primitives, rather than just their size, since 128-bit integers, unlike
all other primitives, have an alignment that is not identical to their
size (size_of is 16, align_of is 8)
2018-06-09 15:41:44 +00:00
Ralf Jung
426f06f8fe Be more precise about why references need to be non-null and aligned 2018-06-09 10:40:51 +02:00
tinaun
fb507cadf3 add inherent methods to Poll 2018-06-09 00:38:11 -04:00
Mark Rousskov
b1a6db2833
Rollup merge of #51396 - SimonSapin:option-nonzero-layout, r=SimonSapin
Make the size of Option<NonZero*> a documented guarantee.

Closes #49137, the tracking issue for `NonZero*`, as this was the last remaining open question.

Note that `ptr::NonNull<T>` already documents a similar guarantee.
2018-06-08 17:21:04 -06:00
tinaun
6e5c18e8dc add a few blanket future impls to std 2018-06-08 17:56:59 -04:00
bstrie
9a8fa2cf92 Document size_of for 128-bit integers
We might want to consider separately documenting the alignment of
primitives, rather than just their size, since 128-bit integers, unlike
all other primitives, have an alignment that is not identical to their
size (size_of is 16, align_of is 8)
2018-06-08 19:20:28 +00:00
Ralf Jung
579099ab57 Improve docs for slice::from_raw_parts 2018-06-07 23:53:30 +02:00
bors
19d0b539aa Auto merge of #51263 - cramertj:futures-in-core, r=aturon
Add Future and task system to the standard library

This adds preliminary versions of the `std::future` and `std::task` modules in order to unblock development of async/await (https://github.com/rust-lang/rust/issues/50547). These shouldn't be considered as final forms of these libraries-- design questions about the libraries should be left on https://github.com/rust-lang/rfcs/pull/2418. Once that RFC (or a successor) is merged, these APIs will be adjusted as necessary.

r? @aturon
2018-06-06 19:42:19 +00:00
Taylor Cramer
a6055c8859 Add Future and task system to the standard library 2018-06-06 10:41:52 -07:00
bors
cb8ab33ed2 Auto merge of #51333 - GuillaumeGomez:reexport-fmt-alignment, r=SimonSapin
Reexport fmt::Alignment into std

Follow-up of #51078.
2018-06-06 17:01:56 +00:00
Simon Sapin
5c7ca77b17 Make the size of Option<NonZero*> a documented guarantee.
Closes #49137, the tracking issue for `NonZero*`,
as this was the last remaining open question.

Note that `ptr::NonNull<T>` already documents a similar guarantee.
2018-06-06 13:58:09 +02:00
Sebastian Dröge
eb3a73484b Move slice::exact_chunks directly above exact_chunks_mut for more consistent docs order
See https://github.com/rust-lang/rust/issues/47115#issuecomment-392532855
2018-06-04 09:03:21 +03:00
Mark Simulacrum
c3eff19aba
Rollup merge of #51326 - sdroege:slice-iter-cleanup, r=dtolnay
Various minor slice iterator cleanups

See individual commits
2018-06-03 18:18:06 -06:00
Mark Simulacrum
b35c60e95e
Rollup merge of #51299 - faern:const-int-ops, r=oli-obk
const fn integer operations

A follow up to #51171
Fixes #51267

Makes a lot of the integer methods (`swap_bytes`, `count_ones` etc) `const fn`s. See #51267 for a discussion about why this is wanted and the solution used.
2018-06-03 18:18:03 -06:00
Guillaume Gomez
804984836e Reexport fmt::Alignment into std 2018-06-03 17:04:48 +02:00
Sebastian Dröge
10cf7bb328 Implement TrustedLen for Windows and the 4 Chunks iterators 2018-06-03 17:38:49 +03:00
Sebastian Dröge
325c676677 Remove mention of Slice/SliceMut traits from IterMut documentation
These don't exist anymore.
2018-06-03 17:34:23 +03:00
Sebastian Dröge
adaf8e6abf Move TrustedLen and FusedIterator impl of Iter/IterMut into macro 2018-06-03 17:33:49 +03:00
Jorge Aparicio
430ad76900 undo payload in core::panic! changes 2018-06-03 13:46:19 +02:00
Jorge Aparicio
eb19361416 document that panic_impl never passes the FFI boundary 2018-06-03 13:46:19 +02:00
Jorge Aparicio
b442348d53 remove unused struct NoPayload 2018-06-03 13:46:19 +02:00
Jorge Aparicio
63f18e108a s/panic_fmt/panic_impl/g in docs 2018-06-03 13:46:19 +02:00
Jorge Aparicio
e44ad61a2d implement #[panic_implementation] 2018-06-03 13:46:19 +02:00
Thayne McCombs
72e17b81fa Stabilize Iterator::step_by
Fixes #27741
2018-06-02 20:42:42 -06:00
Mark Simulacrum
5bbe1ebe00
Rollup merge of #51306 - kennytm:impl-default-for-mut-str, r=SimonSapin
impl Default for &mut str

Rationale: There is already `impl Default for &mut [T]`.

Note: This impl is insta-stable.
2018-06-02 19:55:08 -06:00
Mark Simulacrum
4ce7ef5f59
Rollup merge of #51226 - gnzlbg:nonzero_align, r=SimonSapin
Make Layout's align a NonZeroUsize

This PR makes the `Layout`'s align field a `NonZeroUsize` since it cannot ever be zero, not even while building a `Layout`. It also contains some drive-by minor cleanups over the docs and the code, like updating the documented error types, or using the `size()` and `align()` methods instead of accessing the fields directly (the latter was required for the `NonZeroUsize` change anyways).

r? @SimonSapin

cc @Amanieu
2018-06-02 19:55:06 -06:00
Thayne McCombs
87941b079a Stabilize iterator_repeat_with
Fixes #48169
2018-06-02 15:52:09 -06:00
Mark Simulacrum
5a575b542d
Rollup merge of #51147 - tmccombs:sliceindex, r=SimonSapin
Stabilize SliceIndex trait.

CC #35729

According to recommendations in
https://github.com/rust-lang/rust/issues/35729#issuecomment-377784884
2018-06-02 13:14:25 -06:00