Commit Graph

118 Commits

Author SHA1 Message Date
Tim Chevalier
3b8f1fa2b6 core: Remove structural records from the rest of core, except pipes
That will, sadly, require one more snapshot.
2013-02-07 22:48:57 -08:00
Niko Matsakis
a32498d846 Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
correct handling of moves for struct-record update.

Part of #3678.  Fixes #2828, #3904, #4719.
2013-02-07 05:53:30 -08:00
Tim Chevalier
2dcb3ed745 Merge 2013-02-05 10:33:28 -08:00
Marvin Löbel
a612e49a21 Converted the floating point types to the new string conversion functions.
Also fixed all conflicting calls of the old functions in the rest of the codebase.

The set of string conversion functions for each float type now consists of those items:
- to_str(), converts to number in base 10
- to_str_hex(), converts to number in base 16
- to_str_radix(), converts to number in given radix
- to_str_exact(), converts to number in base 10 with a exact number of trailing digits
- to_str_digits(), converts to number in base 10 with a maximum number of trailing digits
- implementations for to_str::ToStr and num::ToStrRadix
- from_str(), parses a string as number in base 10 including decimal exponent and special values
- from_str_hex(), parses a string as a number in base 16 including binary exponent and special values
- from_str_radix(), parses a string as a number in a given base excluding any exponent and special values
- implementations for from_str::FromStr and num::FromStrRadix
2013-02-03 15:37:24 -08:00
Marvin Löbel
eb19462104 Converted libcore/uint-template.rs to the new string functions.
- Moved ToStr implementation of unsigned integers to uint-template.rs.
- Marked the `str()` function as deprecated.
- Forwarded all conversion functions to `core::num::to_str_common()`
  and `core::num::from_str_common()`.
- Fixed most places in the codebase where `to_str()` is being used.
- Added uint-template to_str and from_str overflow tests.
2013-02-03 15:37:24 -08:00
Nick Desaulniers
aee7929469 Replace most invocations of fail keyword with die! macro 2013-01-31 20:12:49 -08:00
Tim Chevalier
a9587b8fcd core: Remove transitional code 2013-01-31 19:35:57 -08:00
Tim Chevalier
c5461e46ae core: Allow legacy records in in a few modules
Because of macros, #[allow(structural_records]] in
extfmt, gc, os, pipes, and run. Will need a snapshot.
2013-01-28 19:41:56 -08:00
Erick Tryzelaar
90734a0d33 Convert extfmt::rt::Conv into a struct 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
79a9b23f4a Fix a typo 2013-01-24 16:24:31 -08:00
Graydon Hoare
9b8c04e236 core: ignore recent should_fail tests on windows 2013-01-09 09:26:59 -08:00
Patrick Walton
2db3abddcd librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37 Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
This reverts commit a8d37af247.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247 librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 19:27:57 -08:00
Andrew Paseltiner
1d4c5d90bd fmt: add unit tests 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
73649f36e8 fmt: derive Eq for all types 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
0429493363 fmt: fix formatting and style 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
428abb3d97 fmt: simplify parse_fmt_string 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
9e5a4166d5 fmt: simplify parse_conversion 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
af298deff7 fmt: simplify parse_parameter 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
4550cb0562 fmt: simplify parse_precision 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
9c383deaa6 fmt: simplify parse_count 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
f4bc9e6d57 fmt: simplify parse_flags 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
51b141e3e4 fmt: simplify parse_type 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
0a17ab2a9c fmt: replace parse_* structural records with struct Parsed<T> 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
1a2a8975bc fmt: replace Conv record with struct Conv 2013-01-07 17:22:01 -05:00
Patrick Walton
57c599914a librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon 2012-12-27 10:02:54 -08:00
Brian Anderson
d809e89c26 Replace some Eq impls with deriving_eq 2012-12-13 16:14:28 -08:00
Graydon Hoare
00c856c0b1 Update license, add license boilerplate to most files. Remainder will follow. 2012-12-03 17:12:14 -08:00
Brian Anderson
8179e268ef Register snapshots 2012-11-28 12:33:00 -08:00
Graydon Hoare
34b7db3bbc Merge pull request #4001 from jesse99/features/docs
Features/docs
2012-11-19 16:10:31 -08:00
Patrick Walton
318e534895 rustc: Implement explicit self for Eq and Ord. r=graydon 2012-11-19 15:33:11 -08:00
Jesse Jones
e5c9a8a479 Fixed lint problems 2012-11-18 17:05:04 -08:00
Jesse Jones
d107e586ea Documented fmt! expression syntax.
Closes #3280
2012-11-18 11:00:39 -08:00
Patrick Walton
0fc952372a rustc: Support irrefutable patterns in function arguments. r=nmatsakis 2012-11-07 19:29:30 -08:00
Tim Chevalier
a006608276 Remove stage0 stuff that was awaiting snapshot
and re-register snapshots

Just removing unneeded code, no review
2012-11-03 14:04:32 -07:00
Tim Chevalier
4876eb708c Fix #1996 (pending snapshot)
Change int to uint in some extfmt code. Remove the #[cfg(stage0)] code
after a snapshot.
2012-11-02 12:01:38 -07:00
Erick Tryzelaar
fe41ccec64 Rename str::to_unique to str::to_owned. 2012-10-18 11:04:59 -07:00
Tim Chevalier
30a62793fa Make moves explicit in core tests 2012-10-12 20:43:37 -07:00
Tim Chevalier
777baeb298 Remove code that was waiting for a snapshot
extfmt is now demoded
2012-10-04 16:48:56 -07:00
Graydon Hoare
6ffce1a1c3 De-export extfmt. Part of #3583. 2012-10-04 13:50:02 -07:00
Tim Chevalier
f78cdcb636 Removing explicit uses of + mode
This removes most explicit uses of the + argument mode. Pending a
snapshot, I had to remove the forbid(deprecated_modes) pragma from
a bunch of files. I'll put it back!

+ mode still has to be used in a few places for functions that get
moved (see task.rs)

The changes outside core and std are due to the to_bytes trait and
making the compiler (with legacy modes on) agree with the libraries
(with legacy modes off) about modes.
2012-10-02 14:31:39 -07:00
Tim Chevalier
72ae42627b Call 'new' instead of 'old' extfmt code, preparing for snapshot 2012-10-01 15:12:09 -07:00
Tim Chevalier
2f4ee89119 Demode extfmt
Needs a snapshot before this can be completed, because I changed
the mode for conv_poly.
2012-09-28 13:47:45 -07:00
Niko Matsakis
67a8e7128a Demode vec::push (and convert to method) 2012-09-26 18:02:07 -07:00
Brian Anderson
afd91f8a56 Register snapshots. Remove redundant Eq impls, Makefile hacks 2012-09-23 23:01:49 -07:00
Brian Anderson
298ab6f459 Revert "core: De-export at_vec and extfmt"
This reverts commit 6267d8a94a.
2012-09-21 19:04:06 -07:00
Brian Anderson
6267d8a94a core: De-export at_vec and extfmt 2012-09-21 18:49:22 -07:00
Patrick Walton
d48396c986 libcore: De-mode str 2012-09-21 18:37:06 -07:00
Graydon Hoare
dffe188991 Install new pub/priv/export rules as defaults, old rules accessible under #[legacy_exports]; 2012-09-21 18:11:43 -07:00