Commit Graph

7977 Commits

Author SHA1 Message Date
Esteban Küber d4bfae1319 Update message for !Sized types 2018-06-19 17:32:33 -07:00
Esteban Küber f1dee43887 Add link to book for Sized errors 2018-06-19 15:19:15 -07:00
Esteban Küber 776544f011 Add message to rustc_on_unimplemented attributes in core 2018-06-19 15:19:13 -07:00
bors 4f2936393e Auto merge of #51404 - clarcharr:never_hash, r=KodrAus
impl Hash for !

This was missing in some generic code I was writing and I figured that it would be worthwhile to add this. Blanket-requiring these traits to allow usage of errors in `HashSet`s and `HashMap`s isn't too unreasonable of a use case, and a prerequisite for allowing `!` as an error in such situations is this impl.
2018-06-17 22:25:34 +00:00
bors aec00f97e1 Auto merge of #51466 - joshlf:ref-split, r=dtolnay
Add Ref/RefMut map_split method

As proposed [here](https://internals.rust-lang.org/t/make-refcell-support-slice-splitting/7707).

TLDR: Add a `map_split` method that allows multiple `RefMut`s to exist simultaneously so long as they refer to non-overlapping regions of the original `RefCell`. This is useful for things like the slice `split_at_mut` method.
2018-06-17 07:49:25 +00:00
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
Clar Charr 570590f727 impl Hash for ! 2018-06-14 23:26:38 -04:00
Joshua Liebow-Feeser 2a999b4b52 Add Ref/RefMut map_split method 2018-06-13 11:35:39 -07: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