Commit graph

276 commits

Author SHA1 Message Date
Vadim Petrochenkov
5cdfd8401b Review fixes 2015-11-18 01:24:22 +03:00
Vadim Petrochenkov
7e2ffc7090 Add missing annotations and some tests 2015-11-18 01:24:21 +03:00
Steve Klabnik
e4a0b48027 Make note about traits that can be derived
in their API docs

Fixes #29711
2015-11-16 18:50:40 -05:00
Erik Davidson
83c3125383 Fix the manual implementation example for the Debug trait so it matches the given output 2015-11-12 15:03:36 -06:00
Alex Crichton
ff49733274 std: Stabilize library APIs for 1.5
This commit stabilizes and deprecates library APIs whose FCP has closed in the
last cycle, specifically:

Stabilized APIs:

* `fs::canonicalize`
* `Path::{metadata, symlink_metadata, canonicalize, read_link, read_dir, exists,
   is_file, is_dir}` - all moved to inherent methods from the `PathExt` trait.
* `Formatter::fill`
* `Formatter::width`
* `Formatter::precision`
* `Formatter::sign_plus`
* `Formatter::sign_minus`
* `Formatter::alternate`
* `Formatter::sign_aware_zero_pad`
* `string::ParseError`
* `Utf8Error::valid_up_to`
* `Iterator::{cmp, partial_cmp, eq, ne, lt, le, gt, ge}`
* `<[T]>::split_{first,last}{,_mut}`
* `Condvar::wait_timeout` - note that `wait_timeout_ms` is not yet deprecated
  but will be once 1.5 is released.
* `str::{R,}MatchIndices`
* `str::{r,}match_indices`
* `char::from_u32_unchecked`
* `VecDeque::insert`
* `VecDeque::shrink_to_fit`
* `VecDeque::as_slices`
* `VecDeque::as_mut_slices`
* `VecDeque::swap_remove_front` - (renamed from `swap_front_remove`)
* `VecDeque::swap_remove_back` - (renamed from `swap_back_remove`)
* `Vec::resize`
* `str::slice_mut_unchecked`
* `FileTypeExt`
* `FileTypeExt::{is_block_device, is_char_device, is_fifo, is_socket}`
* `BinaryHeap::from` - `from_vec` deprecated in favor of this
* `BinaryHeap::into_vec` - plus a `Into` impl
* `BinaryHeap::into_sorted_vec`

Deprecated APIs

* `slice::ref_slice`
* `slice::mut_ref_slice`
* `iter::{range_inclusive, RangeInclusive}`
* `std::dynamic_lib`

Closes #27706
Closes #27725
cc #27726 (align not stabilized yet)
Closes #27734
Closes #27737
Closes #27742
Closes #27743
Closes #27772
Closes #27774
Closes #27777
Closes #27781
cc #27788 (a few remaining methods though)
Closes #27790
Closes #27793
Closes #27796
Closes #27810
cc #28147 (not all parts stabilized)
2015-10-25 09:36:32 -07:00
Andrew Paseltiner
1162b3752c Correct spelling in docs 2015-10-13 09:44:11 -04:00
Michael Pankov
11a7773a3a Fix comment gone astray 2015-10-08 01:08:33 +03:00
Michael Pankov
17033a62b4 rustfmt part of libcore/fmt
Rest is blocked by https://github.com/nrc/rustfmt/issues/413
2015-10-08 01:02:45 +03:00
bors
bfb26033af Auto merge of #28662 - semmaz:fmt-debug, r=alexcrichton
fixes #26920
2015-10-02 22:49:37 +00:00
Simon Mazur
0294098d8f Implement size_hint for EscapeUnicode 2015-10-01 20:33:43 +03:00
Ted Mielczarek
49fa11c5a5 Fix module links from core::fmt::* to go to std::fmt 2015-09-30 13:24:39 -04:00
Ted Mielczarek
73bd0ba91e Fix module links in std::fmt and the Rust book's documentation chapter.
The links in the rustdoc for several places in fmt were trying to link to
the std::fmt module but actually linking to std, which was confusing.
While trying to figure out why I noticed that the documentation chapter of
the Rust book has examples that show this same bug (although it doesn't seem
widespread in practice).
2015-09-30 12:33:38 -04:00
Simon Mazur
d2d08721be Implement size_hint for EscapeDefault 2015-09-30 18:05:09 +03:00
Simon Mazur
24b5d3afd7 Improve speed of fmt::Debug for str and char
fixes #26920
2015-09-29 15:24:04 +03:00
Steven Fackler
e5ee13f139 Add accessors for Formatter flags
cc #27726
2015-09-23 23:35:12 -07:00
Chris Wong
2305dc093a Add a blanket impl for &mut std::fmt::Write
There is already a corresponding impl for `std::io::Write`. This change
will make the two traits more consistent.
2015-09-13 11:42:42 +12:00
Alex Crichton
b7dcf272d9 core: Fill out issues for unstable features 2015-08-15 18:09:16 -07:00
Dylan McKay
7ebc5e5134 Reduce libcore/liballoc's dependence on pointer sizes 2015-08-15 19:19:13 +12: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
5cccf3cd25 syntax: Implement #![no_core]
This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of
the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The
`#![no_std]` attribute now injects `extern crate core` at the top of the crate
as well as the libcore prelude into all modules (in the same manner as the
standard library's prelude). The `#![no_core]` attribute disables both std and
core injection.

[rfc]: https://github.com/rust-lang/rfcs/pull/1184
2015-08-03 17:23:01 -07:00
Steve Klabnik
a368adf8e5 Rollup merge of #27326 - steveklabnik:doc_show_use, r=Gankro
In spirit with https://internals.rust-lang.org/t/should-we-keep-including-obvious-imports-in-code-examples/2217, show the feature flags we're using in examples.

(also one instance of 'use')
2015-07-29 10:30:34 -04:00
diaphore
aa8950427e Fix escaping of characters in Debug for OsStr
Fixes #27211

Fix Debug for {char, str} in core::fmt
2015-07-27 19:57:28 +02:00
Steve Klabnik
ba5fcb726f Show appropriate feature flags in docs 2015-07-27 12:28:13 -04:00
bors
18557500cb Auto merge of #27026 - nagisa:overflowing-unsigned, r=pnkfelix
This commit fixes the negate_unsigned feature gate to appropriately
account for inferred variables.

This is technically a [breaking-change], but I’d consider it a bug fix.

cc @brson for your relnotes.

Fixes https://github.com/rust-lang/rust/issues/24676
Fixes #26840 
Fixes https://github.com/rust-lang/rust/issues/25206
2015-07-20 16:38:33 +00:00
arthurprs
ebf9e1aaf6 optimize integer formatting 2015-07-18 20:06:40 -03:00
Simonas Kazlauskas
0c9e3dc75c Fix negate_unsigned feature gate check
This commit fixes the negate_unsigned feature gate to appropriately
account for infered variables.

This is technically a [breaking-change].
2015-07-14 21:48:43 +03:00
Steven Fackler
b0ab164b80 Add trailing , for 1-tuples 2015-07-10 11:03:52 -08:00
Steven Fackler
0bcbd16931 Change tuple Debug impls to use builders 2015-07-08 23:38:42 -07:00
Steve Klabnik
6c52903891 Make mention of alternate flags in std::fmt traits
https://www.reddit.com/r/rust/comments/3ceaui/psa_produces_prettyprinted_debug_output/
2015-07-08 12:40:54 -04:00
Steve Klabnik
3a6cd649b4 Significantly improve formatter trait docs
Each formatting trait now has an example of implementation, as well as a
fuller description of what it's supposed to output.

It also contains a link to the module-level documentation which

Fixes #25765
2015-07-06 17:26:59 -04:00
bors
1fc0f68548 Auto merge of #26698 - alexcrichton:char-fmt, r=huonw
This recently regressed in #24689, and this updates the `Display` implementation
to take formatting flags into account.

Closes #26625
2015-07-01 03:35:46 +00:00
Alex Crichton
98566ea951 std: Fix formatting flags for chars
This recently regressed in #24689, and this updates the `Display` implementation
to take formatting flags into account.

Closes #26625
2015-06-30 19:26:03 -07:00
Ulrik Sverdrup
516941b74f fmt: Update docs and mention :#? pretty-printing 2015-06-30 14:37:06 +02: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
Wei-Ming Yang
7f25185138 Update mod.rs
`FormatError` is not exist anymore.
2015-06-14 11:32:04 +08:00
Simon Sapin
63da18b269 Have std::fmt::Formatter implement std::fmt::Write. 2015-06-10 22:06:18 +02:00
Simon Sapin
15b028c585 Add a write_char method to std::fmt::Formatter.
This is the logical next step after #24661, but I’m less sure about this one.
2015-06-10 20:34:22 +02:00
Steve Klabnik
977d40fbfa Improve Debug documentation 2015-05-28 15:25:35 -04:00
Steven Fackler
e161d5cf73 Stabilize debug builders for 1.2.0 2015-05-19 21:57:39 -07:00
Steven Fackler
e87b353d65 Fix debug builder examples examples 2015-05-18 20:57:11 -07:00
Steven Fackler
fb526cf3a1 Fix finish docs 2015-05-17 18:09:35 -07:00
Steven Fackler
bd85983d05 Make debug builders take &mut self, add entries method
[breaking-change]
2015-05-17 17:33:29 -07:00
Kang Seonghoon
5aa9f38285 core: made the core formatter to use a new flt2dec.
As a side effect `core::fmt::float` is gone now. This also slightly
changes the float output, so this is:

[breaking-change]
2015-05-06 14:21:41 +09:00
P1start
57d8289754 Make UnsafeCell, RefCell, Mutex, and RwLock accept DSTs
This + DST coercions (#24619) would allow code like `Rc<RefCell<Box<Trait>>>` to
be simplified to `Rc<RefCell<Trait>>`.
2015-05-02 10:03:35 +12:00
Tamir Duberstein
69abc12b00 Register new snapshots 2015-04-28 17:23:45 -07:00
Alex Crichton
a1dd5ac787 rollup merge of #24636: alexcrichton/remove-deprecated
Conflicts:
	src/libcore/result.rs
2015-04-21 15:28:53 -07:00
Alex Crichton
eeb94886ad std: Remove deprecated/unstable num functionality
This commit removes all the old casting/generic traits from `std::num` that are
no longer in use by the standard library. This additionally removes the old
`strconv` module which has not seen much use in quite a long time. All generic
functionality has been supplanted with traits in the `num` crate and the
`strconv` module is supplanted with the [rust-strconv crate][rust-strconv].

[rust-strconv]: https://github.com/lifthrasiir/rust-strconv

This is a breaking change due to the removal of these deprecated crates, and the
alternative crates are listed above.

[breaking-change]
2015-04-21 11:37:43 -07:00
Simon Sapin
16181e686a Pick a feature name for write_char 2015-04-21 18:16:08 +02:00
Simon Sapin
19cc9435d9 write_char is unlikely to make it for 1.0, it’ll be 1.1 2015-04-21 18:06:00 +02:00