Commit Graph

275 Commits

Author SHA1 Message Date
Sean McArthur
e0945937c4 libcore: add Debug implementations to most missing types 2016-03-20 10:04:55 -07:00
Steve Klabnik
096409cf8c End stdlib module summaries with a full stop.
Fixes #9447
2016-03-04 17:37:11 -05:00
Steve Klabnik
5b91fc02f0 Rollup merge of #31965 - miqid:doc, r=steveklabnik
Hello.

Quite a few of the links in the `core` module concerning redirection to additional primitive type documentation are broken. I noticed in #30214 that there seemed to be a consensus with linking across to `std` module documentation from the `core` module. This is what I've done with the `core` modules for primitive types.

If the changes here are good to go forward with, I'll happily tend to adding more documentation links for the extension traits in the aforementioned issue if need be.

r? @steveklabnik
2016-03-01 13:39:41 -05:00
Michael Huynh
dc97f84be4 Fix broken links for core primitives
Redirects existing links for more details on primitive types in the
`core` module to the ones that exist in the `std` module.
2016-03-01 20:44:48 +08:00
Alex Crichton
b643782a10 std: Stabilize APIs for the 1.8 release
This commit is the result of the FCPs ending for the 1.8 release cycle for both
the libs and the lang suteams. The full list of changes are:

Stabilized

* `braced_empty_structs`
* `augmented_assignments`
* `str::encode_utf16` - renamed from `utf16_units`
* `str::EncodeUtf16` - renamed from `Utf16Units`
* `Ref::map`
* `RefMut::map`
* `ptr::drop_in_place`
* `time::Instant`
* `time::SystemTime`
* `{Instant,SystemTime}::now`
* `{Instant,SystemTime}::duration_since` - renamed from `duration_from_earlier`
* `{Instant,SystemTime}::elapsed`
* Various `Add`/`Sub` impls for `Time` and `SystemTime`
* `SystemTimeError`
* `SystemTimeError::duration`
* Various impls for `SystemTimeError`
* `UNIX_EPOCH`
* `ops::{Add,Sub,Mul,Div,Rem,BitAnd,BitOr,BitXor,Shl,Shr}Assign`

Deprecated

* Scoped TLS (the `scoped_thread_local!` macro)
* `Ref::filter_map`
* `RefMut::filter_map`
* `RwLockReadGuard::map`
* `RwLockWriteGuard::map`
* `Condvar::wait_timeout_with`

Closes #27714
Closes #27715
Closes #27746
Closes #27748
Closes #27908
Closes #29866
2016-02-29 09:05:33 -08:00
Amanieu d'Antras
7ae4ee80d1 Implement read_volatile and write_volatile 2016-02-18 20:18:36 +00:00
Steve Klabnik
b499e5a089 Remove incorrect documentation
Fixes #31599
2016-02-14 08:21:32 -05:00
Ulrik Sverdrup
70650f849f Document that Unique<T> and Shared<T> are non-null 2016-02-06 16:22:17 +01:00
Alex Crichton
cd1848a1a6 Register new snapshots
Lots of cruft to remove!
2015-12-21 09:26:21 -08:00
Vadim Petrochenkov
7e2ffc7090 Add missing annotations and some tests 2015-11-18 01:24:21 +03:00
Vadim Petrochenkov
2ef07f0519 Remove stability annotations from trait impl items
Remove `stable` stability annotations from inherent impls
2015-11-06 00:13:46 +03:00
bors
ee88e04e77 Auto merge of #29480 - apasel422:coerce-unique, r=alexcrichton
Closes rust-lang/rfcs#1343.
2015-10-31 01:58:51 +00:00
Andrew Paseltiner
04266daf77 Implement CoerceUnsized for Unique
Closes rust-lang/rfcs#1343.
2015-10-30 16:38:29 -04:00
Alexis Beingessner
e72c226bed expose drop_in_place as ptr::drop_in_place 2015-10-30 10:54:25 -04:00
John Hodge
f9b8c49cdb Switch to 'const unsafe fn' ordering (rust-lang/rust#29107) 2015-10-25 12:03:07 +08:00
bors
3e139dc615 Auto merge of #29192 - phil-opp:unsafe-const-fns, r=alexcrichton
similar to #29085
2015-10-21 06:03:39 +00:00
Philipp Oppermann
3ed79944e8 Make Unique::new const function 2015-10-20 19:56:45 +02:00
Huon Wilson
94e9a073b0 Point core::ptr::Shared to tracking issue #27730. 2015-10-20 11:49:08 +11:00
Andrew Paseltiner
d6bd8d8491 Add Shared pointer and have {Arc, Rc} use it
This change has two consequences:

1. It makes `Arc<T>` and `Rc<T>` covariant in `T`.

2. It causes the compiler to reject code that was unsound with respect
to dropck. See compile-fail/issue-29106.rs for an example of code that
no longer compiles. Because of this, this is a [breaking-change].

Fixes #29037.
Fixes #29106.
2015-10-16 18:35:31 -04:00
Andrew Paseltiner
1162b3752c Correct spelling in docs 2015-10-13 09:44:11 -04:00
Ulrik Sverdrup
4dee42fe58 core: Update the safety docs for core::ptr::write
Updated to reflect that not dropping a value is safe (but discouraged).
2015-10-11 13:40:47 +02:00
Manish Goregaokar
5f66c701b1 Make function pointers implement traits for up to 12 parameters
(12 was chosen to be consistent with what we do for tuples)

Fixes #28559
2015-09-21 14:21:30 +05:30
Vadim Petrochenkov
bc7c4304ab Implement more traits for function pointers 2015-09-13 18:11:10 +03:00
Manish Goregaokar
cac4a1c5c8 Rollup merge of #28188 - Manishearth:elide-core, r=alexcrichton
Makes things more greppable.

This change was made automatically by clippy + bash scripts, though I will run test passes, please review carefully.
2015-09-04 01:40:02 +05:30
Manish Goregaokar
a520568ae7 Elide lifetimes in libcore 2015-09-03 17:46:35 +05:30
Vadim Petrochenkov
3903ea96f5 Make null() and null_mut() const functions 2015-09-03 09:03:52 +03:00
Alex Crichton
b7dcf272d9 core: Fill out issues for unstable features 2015-08-15 18:09:16 -07:00
Alex Crichton
8d90d3f368 Remove all unstable deprecated functionality
This commit removes all unstable and deprecated functions in the standard
library. A release was recently cut (1.3) which makes this a good time for some
spring cleaning of the deprecated functions.
2015-08-12 14:55:17 -07:00
Tobias Bucher
22ec5f4af7 Replace many uses of mem::transmute with more specific functions
The replacements are functions that usually use a single `mem::transmute` in
their body and restrict input and output via more concrete types than `T` and
`U`. Worth noting are the `transmute` functions for slices and the `from_utf8*`
family for mutable slices. Additionally, `mem::transmute` was often used for
casting raw pointers, when you can already cast raw pointers just fine with
`as`.
2015-08-09 22:05:22 +02:00
Alex Crichton
5af6cf9fa4 std: Remove the curious inner module
This isn't actually necessary any more with the advent of `$crate` and changes
in the compiler to expand macros to `::core::$foo` in the context of a
`#![no_std]` crate.

The libcore inner module was also trimmed down a bit to the bare bones.
2015-07-29 14:18:24 -07:00
Alex Crichton
b3aa1a6d4a std: Deprecate a number of unstable features
Many of these have long since reached their stage of being obsolete, so this
commit starts the removal process for all of them. The unstable features that
were deprecated are:

* cmp_partial
* fs_time
* hash_default
* int_slice
* iter_min_max
* iter_reset_fuse
* iter_to_vec
* map_in_place
* move_from
* owned_ascii_ext
* page_size
* read_and_zero
* scan_state
* slice_chars
* slice_position_elem
* subslice_offset
2015-07-27 16:38:25 -07:00
Brian Anderson
8497c428e5 std: Create separate docs for the primitives
Having the primitive and module docs derived from the same source
causes problems, primarily that they can't contain hyperlinks
cross-referencing each other.

This crates dedicated private modules in `std` to document the
primitive types, then for all primitives that have a corresponding
module, puts hyperlinks in moth the primitive docs and the module docs
cross-linking each other.

This should help clear up confusion when readers find themselves on
the wrong page.
2015-07-20 13:18:06 -07:00
Brian Anderson
44dd247cd5 doc: Clean up primitive short descriptions
This makes the primitive descriptions on the front page read properly
as descriptions of types and not of the associated modules.
2015-07-20 13:17:41 -07:00
Ms2ger
532235be27 Use Box::into_raw rather than the deprecated boxed::into_raw in tests and documentation. 2015-06-26 22:29:40 +02:00
Alexis Beingessner
e132f0bc8e add note for future type-system adventurers 2015-06-19 15:03:39 -07:00
Alex Crichton
ce1a965cf5 Fallout in tests and docs from feature renamings 2015-06-17 09:07:16 -07:00
Alex Crichton
c14d86fd3f core: Split apart the global core feature
This commit shards the broad `core` feature of the libcore library into finer
grained features. This split groups together similar APIs and enables tracking
each API separately, giving a better sense of where each feature is within the
stabilization process.

A few minor APIs were deprecated along the way:

* Iterator::reverse_in_place
* marker::NoCopy
2015-06-17 09:06:59 -07:00
Steve Klabnik
2c75256c15 Exise 'unsafe pointer' in favor of 'raw pointer'
Using two terms for one thing is confusing, these are called 'raw pointers' today.
2015-06-09 16:49:24 -04:00
Alex Crichton
b164f66172 rollup merge of #24610: nagisa/offset-docs 2015-04-29 15:45:34 -07:00
Tamir Duberstein
69abc12b00 Register new snapshots 2015-04-28 17:23:45 -07:00
Simonas Kazlauskas
82b43568a6 Clarify offset rules a bit 2015-04-28 20:56:52 +03:00
Steve Klabnik
71156035cc Rollup merge of #24435 - killercup:patch-9, r=steveklabnik
The link works on the `std/ptr/index.html` docs page, but not the `std/primitive.pointer.html` page. Instead of leaving it half-broken, it is removed.

I tried fixing this in #24432, but @alexcrichton mentioned that this doc string was used in two places (with different base paths unfortunately).

r? @alexcrichton
2015-04-15 17:26:07 -04:00
Pascal Hertleif
cbe9a1a6f4 Remove Incorrect Link from std::ptr::null Docs
The link works on the std::ptr docs page, but not the primitive.ptr.html page.
Instead of leaving it half-broken, it is removed.
2015-04-14 23:22:37 +02:00
Andrew Paseltiner
6fa16d6a47 pluralize doc comment verbs and add missing periods 2015-04-13 13:57:51 -04:00
bors
c897ac04e2 Auto merge of #24177 - alexcrichton:rustdoc, r=aturon
This commit series starts out with more official test harness support for rustdoc tests, and then each commit afterwards adds a test (where appropriate). Each commit should also test and finish independently of all others (they're all pretty separable).

I've uploaded a [copy of the documentation](http://people.mozilla.org/~acrichton/doc/std/) generated after all these commits were applied, and a double check on issues being closed would be greatly appreciated! I'll also browse the docs a bit and make sure nothing regressed too horribly.
2015-04-10 16:18:44 +00:00
Richo Healey
a329a61b9b alloc: impl fmt::Pointer for Rc, Arc and Box
Closes #24091
2015-04-07 22:50:36 -07:00
Alex Crichton
9ad133b4a1 rustdoc: Add a primitive page for raw pointers
Closes #15318
2015-04-07 17:54:33 -07:00
Alex Crichton
d4a2c94180 std: Clean out #[deprecated] APIs
This commit cleans out a large amount of deprecated APIs from the standard
library and some of the facade crates as well, updating all users in the
compiler and in tests as it goes along.
2015-03-31 15:49:57 -07:00
Alex Crichton
acd48a2b3e std: Standardize (input, output) param orderings
This functions swaps the order of arguments to a few functions that previously
took (output, input) parameters, but now take (input, output) parameters (in
that order).

The affected functions are:

* ptr::copy
* ptr::copy_nonoverlapping
* slice::bytes::copy_memory
* intrinsics::copy
* intrinsics::copy_nonoverlapping

Closes #22890
[breaking-change]
2015-03-30 14:08:40 -07:00
Felix S. Klock II
601eca3b53 Added instability markers to POST_DROP_* consts, and related opt-in's.
(Reviewed rest of code; did not see other `pub` items that needed such
treatment.)

Driveby: fix typo in comment in ptr.rs.
2015-03-26 14:08:55 +01:00