67 Commits

Author SHA1 Message Date
Salem Talha
cc61fc0994 Removed all instances of XXX in preparation for relaxing of FIXME rule 2014-01-26 14:42:53 -05:00
SiegeLord
25b107f1e3 Add LowerExp 'e' and UpperExp 'E' format traits/specifiers 2014-01-22 20:32:40 -05:00
Simon Sapin
05ae134ace [std::str] Rename from_utf8_owned_opt() to from_utf8_owned(), drop the old from_utf8_owned() behavior 2014-01-21 15:48:48 -08:00
Simon Sapin
b8c4149293 [std::str] Rename from_utf8_opt() to from_utf8(), drop the old from_utf8() behavior 2014-01-21 15:48:48 -08:00
Palmer Cox
3fd8c8b330 Rename iterators for consistency
Rename existing iterators to get rid of the Iterator suffix and to
give them names that better describe the things being iterated over.
2014-01-18 01:15:15 -05:00
Alex Crichton
295b46fc08 Tweak the interface of std::io
* Reexport io::mem and io::buffered structs directly under io, make mem/buffered
  private modules
* Remove with_mem_writer
* Remove DEFAULT_CAPACITY and use DEFAULT_BUF_SIZE (in io::buffered)
2014-01-17 10:00:47 -08:00
Alex Crichton
6df57ec2e2 Remove the io::Decorator trait
This is just an unnecessary trait that no one's ever going to parameterize over
and it's more useful to just define the methods directly on the types
themselves. The implementors of this type almost always don't want
inner_mut_ref() but they're forced to define it as well.
2014-01-08 23:42:28 -08:00
Alex Crichton
4bea679dbe Remove std::either 2014-01-03 10:25:23 -08:00
Luca Bruno
a9a7a427a1 std: uniform modules titles for doc
This commit uniforms the short title of modules provided by libstd,
in order to make their roles more explicit when glancing at the index.

Signed-off-by: Luca Bruno <lucab@debian.org>
2013-12-27 09:49:11 +01:00
Alex Crichton
f9b231cd08 Fixing more doc tests 2013-12-23 09:10:37 -08:00
Alex Crichton
9f1739a8e1 std: Fix all code examples 2013-12-23 09:10:36 -08:00
Huon Wilson
55534100ce std: fix spelling in docs. 2013-12-15 16:26:09 +11:00
Erik Price
5731ca3078 Make 'self lifetime illegal.
Also remove all instances of 'self within the codebase.

This fixes #10889.
2013-12-11 10:54:06 -08:00
Huon Wilson
b0426edc0a std::str: s/from_utf8_slice/from_utf8/, to make the basic case shorter. 2013-12-04 22:35:53 +11:00
Marvin Löbel
0d8ace823b Removed useless cmp::{min, max} reexports from the integer modules 2013-11-29 20:19:22 +01:00
Marvin Löbel
90f9eb3b1e Removed a few macro-expanding-to-module workarounds
Also documented a few issues
2013-11-29 17:33:36 +01:00
Alex Crichton
ab387a6838 Register new snapshots 2013-11-28 20:27:56 -08:00
Patrick Walton
1eca34de7d libstd: Remove all non-proc uses of do from libstd 2013-11-26 08:23:57 -08:00
Marvin Löbel
24b316a3b9 Removed unneccessary _iter suffixes from various APIs 2013-11-26 10:02:26 +01:00
Patrick Walton
1946265e1a libstd: Change all uses of &fn(A)->B over to |A|->B in libstd 2013-11-19 12:40:19 -08:00
Alex Crichton
49ee49296b Move std::rt::io to std::io 2013-11-11 20:44:07 -08:00
Alex Crichton
2fc337a7d6 Clarify which errors are format string errors
There were a few ambiguous error messages which look like they could have
cropped up from either the rust compiler for the format string parser. To
differentiate, the prefix 'invalid format string' is now added in front of all
format string errors.

cc #9970
2013-11-05 17:59:40 -08:00
reedlepee
92662a9f91 Removed unnecessary comments and white spaces as suggested 2013-10-23 01:10:50 +05:30
reedlepee
ad465441ba Removed Unnecessary comments and white spaces #4386 2013-10-23 01:10:50 +05:30
reedlepee
0ada7c7ffe Making fields in std and extra : private #4386 2013-10-23 01:10:50 +05:30
Brian Anderson
3675e42334 std: Move sys::log_str to repr::repr_to_str. Further work on #2240. 2013-10-21 11:59:23 -07:00
Huon Wilson
759b20da87 std::fmt: fix markdown peculiarity, unicodify some arrows, ` some trait names. 2013-10-19 23:37:50 +11:00
bors
8f2480420e auto merge of #9932 : alexcrichton/rust/better-fmt-errors, r=cmr
Instead of just saying "unterminated format string" and friends, instead print
information about what was expected and what was found.

Closes #9931
2013-10-19 01:31:21 -07:00
Alex Crichton
a447c3ca16 Try to improve format! error messages
Instead of just saying "unterminated format string" and friends, instead print
information about what was expected and what was found.

Closes #9931
2013-10-18 21:28:00 -07:00
Alex Crichton
7a8324d3e8 Document traits and Default about format! better
Closes #9865
Closes #9808
2013-10-18 15:55:28 -07:00
Alex Crichton
0adb41d0eb Register new snapshots 2013-10-17 10:12:23 -07:00
Alex Crichton
fc06f7922d Build a few extra features into format! parsing
* Allow named parameters to specify width/precision
* Intepret the format string '0$' as "width is the 0th argument" instead of
  thinking the lone '0' was the sign-aware-zero-padding flag. To get both you'd
  need to put '00$' which makes more sense if you want both to happen.

Closes #9669
2013-10-15 22:27:10 -07:00
Alex Crichton
a84c2999c9 Require module documentation with missing_doc
Closes #9824
2013-10-15 22:27:10 -07:00
Steven Fackler
b7fe83d573 Check enums in missing_doc lint
Closes #9671
2013-10-02 08:57:03 -07:00
Daniel Micay
c9d4ad07c4 remove the float type
It is simply defined as `f64` across every platform right now.

A use case hasn't been presented for a `float` type defined as the
highest precision floating point type implemented in hardware on the
platform. Performance-wise, using the smallest precision correct for the
use case greatly saves on cache space and allows for fitting more
numbers into SSE/AVX registers.

If there was a use case, this could be implemented as simply a type
alias or a struct thanks to `#[cfg(...)]`.

Closes #6592

The mailing list thread, for reference:

https://mail.mozilla.org/pipermail/rust-dev/2013-July/004632.html
2013-10-01 14:54:10 -04:00
bors
12404aaadd auto merge of #9644 : alexcrichton/rust/clarify, r=huonw
It was a little ambiguous before how explicitl positional parameters and
implicit positional parameters intermingled, and this clarifies how the two
intermingle. This also updates a little bit of documentation/code examples
elsewhere as well.
2013-10-01 06:26:31 -07:00
Alex Crichton
a8ba31dbf3 std: Remove usage of fmt! 2013-09-30 23:21:18 -07:00
Alex Crichton
23cb72b459 Clarify format! implicit positional references
It was a little ambiguous before how explicitl positional parameters and
implicit positional parameters intermingled, and this clarifies how the two
intermingle. This also updates a little bit of documentation/code examples
elsewhere as well.
2013-09-30 20:16:23 -07:00
Alex Crichton
3585c64d09 rustdoc: Change all code-blocks with a script
find src -name '*.rs' | xargs sed -i '' 's/~~~.*{\.rust}/```rust/g'
    find src -name '*.rs' | xargs sed -i '' 's/ ~~~$/ ```/g'
    find src -name '*.rs' | xargs sed -i '' 's/^~~~$/ ```/g'
2013-09-25 14:27:42 -07:00
Alex Crichton
88bc11e646 Document a few undocumented modules in libstd
Hopefull this will make our libstd docs appear a little more "full".
2013-09-17 20:50:23 -07:00
Alex Crichton
fd8c05ccc9 Document all of the format! related macros 2013-09-15 01:09:00 -07:00
Alex Crichton
cfe3db810b Reduce the amount of complexity in format!
This renames the syntax-extension file to format from ifmt, and it also reduces
the amount of complexity inside by defining all other macros in terms of
format_args!
2013-09-15 01:09:00 -07:00
bors
a6be8d353b auto merge of #9140 : alexcrichton/rust/issue-9119, r=huonw
Closes #9119
2013-09-12 11:56:00 -07:00
Alex Crichton
a018a5c343 Parse underscores in identifiers for format!
Closes #9119
2013-09-12 01:07:10 -07:00
Alex Crichton
9a5f95a82c Implement a format_args!() macro
The purpose of this macro is to further reduce the number of allocations which
occur when dealing with formatting strings. This macro will perform all of the
static analysis necessary to validate that a format string is safe, and then it
will wrap up the "format string" into an opaque struct which can then be passed
around.

Two safe functions are added (write/format) which take this opaque argument
structure, unwrap it, and then call the unsafe version of write/format (in an
unsafe block). Other than these two functions, it is not intended for anyone to
ever look inside this opaque struct.

The macro looks a bit odd, but mostly because of rvalue lifetimes this is the
only way for it to be safe that I know of.

Example use-cases of this are:

* third-party libraries can use the default formatting syntax without any
  forced allocations
* the fail!() macro can avoid allocating the format string
* the logging macros can avoid allocation any strings
2013-09-12 00:36:54 -07:00
Daniel Micay
6919cf5fe1 rename std::iterator to std::iter
The trait will keep the `Iterator` naming, but a more concise module
name makes using the free functions less verbose. The module will define
iterables in addition to iterators, as it deals with iteration in
general.
2013-09-09 03:21:46 -04:00
Florian Hahn
de39874801 Rename str::from_bytes to str::from_utf8, closes #8985 2013-09-05 14:17:24 +02:00
bors
2bd628eafa auto merge of #8944 : alexcrichton/rust/issue-8938, r=huonw
Otherwise extra stuff after a lone '}' character is simply ignored, which is
very bad.

Closes #8938
2013-09-04 22:25:42 -07:00
Alex Crichton
ba1f663bbd Raise errors on format strings with unmatched }
Otherwise extra stuff after a lone '}' character is simply ignored, which is
very bad.

Closes #8938
2013-09-03 23:02:59 -07:00
novalis
5977376b46 Test and document escaping on format!() 2013-09-03 23:39:58 -04:00