Lenny222
106dcf7b92
spin-off rustdocs tuple code to libstd
2012-01-17 10:51:43 -08:00
Tim Chevalier
c3bc8fada8
Allow omission of the '.' after nullary tag patterns
...
This commit allows patterns like:
alt x { some(_) { ... } none { } }
without the '.' after none. The parser suspends judgment about
whether a bare ident is a tag or a new bound variable; instead,
the resolver disambiguates.
This means that any code after resolution that pattern-matches on
patterns needs to call pat_util::normalize_pat, which consults
an environment to do this disambiguation.
In addition, local variables are no longer allowed to shadow
tag names, so this required changing some code (e.g. renaming
variables named "mut", and renaming ast::sub to subtract).
The parser currently accepts patterns with and without the '.'.
Once the compiler and libraries are changed, it will no longer
accept the '.'.
2012-01-17 10:08:16 -08:00
Marijn Haverbeke
e046360e69
Add an std::md4 module
2012-01-17 12:02:04 +01:00
Brian Anderson
26551e5481
libstd: Remove util::void
2012-01-14 02:51:08 -08:00
Brian Anderson
a3f5c66484
libstd: Remove util::orb. Redundant with core::bool
2012-01-14 02:48:16 -08:00
Marijn Haverbeke
7150643588
Remove workaround for issue #1494
...
We have a snapshot that includes the fix.
2012-01-13 21:38:29 +01:00
Niko Matsakis
8685a1f7c4
distinguish "any closure" and "stack closure" (block)
2012-01-13 09:31:40 -08:00
Niko Matsakis
3f3bfeec27
make "native fn" the type for bare functions, remove fn exprs
2012-01-13 06:27:35 -08:00
Niko Matsakis
455f8b0d45
deprecate fn exprs and the fn() type, preferring fn@ and native fn
2012-01-13 06:27:34 -08:00
Brian Anderson
2c70b2fb7e
libstd: Remove a bogus link_name attribute
2012-01-11 20:01:55 -08:00
Brian Anderson
6e1f9ad1f1
rustc: Don't allow empty link_name when nolink attribute is present
...
Closes #1326
2012-01-11 19:45:18 -08:00
Marijn Haverbeke
4c9c1cd199
Fix dependency bug iface-did-of-impl resolving
...
By simply not resolving that def id until the typeck pass.
Closes #1494
2012-01-11 21:40:13 +01:00
Marijn Haverbeke
34d7f05292
Major clean-up of std::io
...
Use ifaces instead of objs, stop wrapping everything in two (or three)
layers of no-value-added indirection, and remove some of the more
pointless/outdated idioms from the code.
2012-01-11 21:00:11 +01:00
Marijn Haverbeke
807592e99f
Switch run_program over to ifaces
2012-01-11 20:33:44 +01:00
Marijn Haverbeke
4f76db43e6
Convert std::sha1 and std::rand over to ifaces
2012-01-11 20:33:44 +01:00
Marijn Haverbeke
26610dbbc8
Convert std::deque over to an iface
2012-01-11 20:33:44 +01:00
Marijn Haverbeke
15744210e7
Implement std::map as an iface/impl instead of an obj
2012-01-11 20:33:44 +01:00
Graydon Hoare
f6ecbe88ca
Fix rpath bug.
2012-01-09 16:12:47 -08:00
Brian Anderson
fbad0204e4
Merge pull request #1470 from grahame/grahame
...
add new read_chars method, fix bug in read_char
2012-01-09 10:35:48 -08:00
Marijn Haverbeke
f30c5ea686
Remove leftover comm.rs in std
...
(The actual comm module lives in core.)
2012-01-09 14:53:13 +01:00
Grahame Bowland
ba694775f5
add tests for io::readchars and io::readchar
...
Additionally reformat so that 'make check' passes.
2012-01-09 20:49:17 +08:00
Brian Anderson
c5564c9bae
Declare MIT license in crate attributes, not BSD
...
The Rust License is actually the MIT license, not BSD
2012-01-08 16:22:55 -08:00
Grahame Bowland
bcc25634e6
add new read_chars method, fix bug in read_char
...
having a read_chars method is convenient and more efficient.
the old read_char method had a bug due to re-use of the 'w' width
variable as a loop counter and so was broken for wide characters,
this patch fixes that.
2012-01-09 00:37:03 +08:00
Niko Matsakis
98f5109cde
simplify task impl
2012-01-06 22:40:31 -08:00
Brian Anderson
4b2f37253a
std: Untabify
2012-01-06 16:37:04 -08:00
Brian Anderson
74c825e385
std: Add fs::homedir
...
Returns the home directory of the user as appropriate for the platform.
Issue #1359
2012-01-06 16:33:17 -08:00
Erick Tryzelaar
6cfc196d42
libstd: rename c_vec::size to len.
2012-01-06 08:12:18 -08:00
Erick Tryzelaar
3e68803891
libcore: add [u8] helper functions to vec.
2012-01-06 07:47:14 -08:00
Erick Tryzelaar
eade7844a3
libstd: switch map to use libcore's hash functions.
2012-01-06 07:47:14 -08:00
Stefan Plantikow
c8467977c4
Merge branch 'master' into kmath
...
Conflicts:
src/libcore/float.rs
2012-01-05 17:20:13 +01:00
Stefan Plantikow
1f10ee365c
Moved generic float::min, max to core::math and cleaned up some imports
2012-01-05 17:11:34 +01:00
Stefan Plantikow
494ad4e601
Merge branch 'master' into kmath
2012-01-05 16:25:51 +01:00
Marijn Haverbeke
60ae1590af
Switch to new param kind bound syntax
...
And remove support for the old syntax
2012-01-05 15:50:02 +01:00
Marijn Haverbeke
02505d8aa1
Express some list primitives in a way that doesn't copy
...
It was somewhat embarassing that list::len copied its elements.
2012-01-05 09:18:19 +01:00
Stefan Plantikow
6284190ef9
Merge branch 'master' into kmath
...
Conflicts:
src/libcore/cmath.rs
2012-01-05 02:07:12 +01:00
Lenny222
d1ffe5034b
"str": rename "str_from_cstr" to "from_cstr" (analogous to the other "from_*")
2012-01-04 09:33:07 +01:00
Niko Matsakis
72a3667eb3
Allow tail expressions even in no_value blocks. Type checker
...
will guarantee they have unit type.
2012-01-03 13:13:52 -08:00
Brian Anderson
513a263e81
Merge pull request #1392 from Lenny222/list
...
list: add "is_not_empty" requirement to "head" and "tail" (analogous to "vec")
2012-01-03 12:18:53 -08:00
Marijn Haverbeke
15be2fc73a
Add 'copy' bounds to functions that were faultily accepted without
...
Issue #1390
2012-01-02 15:31:58 +01:00
User Jyyou
a59c4b1b47
freebsd support
2012-01-01 20:18:55 -08:00
Stefan Plantikow
d124c6eda2
removes std::mtypes
2011-12-31 03:45:17 +01:00
Lenny222
d07c6e8a0e
list: use predicate to enforce non-empty requirement
2011-12-29 21:24:03 +01:00
Erick Tryzelaar
b6cecdd4de
libstd: add bytes_reader and bytes_writer
...
This parallels nicely with string_reader and string_writer, but
working with raw byte strings. I'm not quite sure if the return
type for bytes_writer.get_bytes should be [u8] or [mutable u8]
though, so I'm arbitrarily picking mutable for now.
2011-12-28 11:19:41 -08:00
Erick Tryzelaar
1f0757c684
libstd: Allow io writer to write mutable arrays
2011-12-28 11:19:41 -08:00
Erick Tryzelaar
af41564747
libstd: add a method to generate random bytestrings.
2011-12-28 11:19:41 -08:00
Graydon Hoare
900bc1298d
Merge pull request #1377 from Lenny222/icu
...
std::unicode::icu: add "is*" functions + unit test
2011-12-24 11:54:07 -08:00
Graydon Hoare
f0dfbe7b1b
Register new snapshots, purge log_err and log_full in favour of log(...).
2011-12-22 17:53:53 -08:00
Graydon Hoare
389329ef1e
Merge all 3 log syntaxes, tidy up residual misuses.
2011-12-22 16:14:00 -08:00
Erick Tryzelaar
43a6bd110e
Whitespace cleanup.
2011-12-22 15:05:59 -08:00
Graydon Hoare
8b580954fe
Register snapshots and switch logging over to use of log_full or #error / #debug.
2011-12-22 14:42:52 -08:00
Lenny222
d812d06bc8
std::unicode: add functions, unit test
2011-12-22 22:58:38 +01:00
Lenny222
341e4151d6
json: to_str() also for "null"
2011-12-22 08:46:50 +01:00
Lenny222
6f5a0a3b3b
json: add "null"
2011-12-22 08:46:49 +01:00
Graydon Hoare
a24c19e867
Add companion-module core.rs that exports log levels and option/some/none everywhere.
2011-12-20 12:41:44 -08:00
Stefan Plantikow
b957916e06
removed math leftovers from std
2011-12-20 18:07:36 +01:00
Graydon Hoare
abbd86f1e6
Merge pull request #1334 from boggle/kmath
...
preparing for removing math from std
2011-12-19 11:58:19 -08:00
Erick Tryzelaar
8e9be037d1
Simplify getopts::find_opt.
2011-12-19 07:27:16 -08:00
Stefan Plantikow
fa27724a4b
std: getopts now uses result::t ( fixes #1289 )
2011-12-18 18:55:39 -08:00
Stefan Plantikow
e1a9668ab2
preparing for removing math from std
2011-12-19 03:19:37 +01:00
Brian Anderson
39c8f0cb4a
libstd: Long lines
2011-12-17 17:02:07 -08:00
Brian Anderson
00be346089
libstd: Add 'xterm-256-color' to list of color-enabled terminals
2011-12-17 16:44:27 -08:00
Brian Anderson
1477fb3f2b
libstd: Temporarily use #[link_name = ""]
2011-12-16 15:29:59 -08:00
Graham Fawcett
7ddd353ef6
implement #[nolink]; deprecate #[link_name = ""]; note in stdlib to remove empty link_name.
...
Can't remove them from stdlib until the snapshotted compiler supports #[nolink].
2011-12-16 15:29:59 -08:00
Elly Jones
89e880d613
std: file_is_dir -> path_is_dir, add path_exists
2011-12-16 17:37:21 -05:00
Graydon Hoare
dbfa1b5689
Merge pull request #1317 from boggle/fix1315
...
fix to #1315 + small additions to std::either and result
2011-12-16 13:01:47 -08:00
Stefan Plantikow
7d786318a1
std: declared fns as pure where sensible
2011-12-16 18:18:34 +01:00
Niko Matsakis
b5e5043d5d
reorder block() argument to bitv::process()
2011-12-16 08:01:05 -08:00
Niko Matsakis
2833ca478c
reorder args to the various vec, option fns so blk comes last
2011-12-16 07:17:23 -08:00
Marijn Haverbeke
4f826d81f6
Make 1.f parse as a field access on the integer 1
...
A dot is only considered part of a number when not followed by a letter
Closes #1306
2011-12-16 11:46:57 +01:00
Graydon Hoare
dde5860380
Remove some duplicated unused parts of std now that they're present in core.
2011-12-14 18:04:45 -08:00
Stefan Plantikow
af8e471908
Fixed type resolution error in math tests
2011-12-14 14:54:16 -08:00
Stefan Plantikow
6d0901cb4d
std: export math_f* as math::f* submods and use tailcalls in std::math
2011-12-14 14:54:16 -08:00
Graydon Hoare
fa9ad984fb
Copy first batch of material from libstd to libcore.
2011-12-13 16:34:50 -08:00
Patrick Walton
cd0e57d2d4
stdlib: Fix spelling errors in documentation of libstd/str.rs
2011-12-13 14:53:14 -08:00
Erick Tryzelaar
e3a066bde8
Swap arg order for option::{may,maybe}
...
This lets us write the block syntax sugar:
option::may(x) { |y| … }
2011-12-09 10:22:24 -08:00
Brian Anderson
4f17131855
Add crate_type attributes to rustc, std, core
2011-12-08 21:09:48 -08:00
Niko Matsakis
0fc4403442
use util::rational to work around bug w/ floats on win
2011-12-07 17:05:58 -08:00
Niko Matsakis
1ff8994fce
Purge old map impl: more collisions, not clear it is safe on 64bit
2011-12-07 17:05:58 -08:00
Niko Matsakis
4b704ac69b
improve comments
2011-12-07 17:05:58 -08:00
Niko Matsakis
ed0e13f1d8
fix old map impl, add logging
2011-12-07 17:05:58 -08:00
Niko Matsakis
30a2361e68
add some debugging logs
2011-12-07 17:05:58 -08:00
Niko Matsakis
13a3288f3f
dec size in remove
2011-12-07 17:05:58 -08:00
Niko Matsakis
ddfe82a466
make rehashing more efficient by not re-allocating entries
2011-12-07 17:05:58 -08:00
Niko Matsakis
729345cb97
implement a chained hashmap
2011-12-07 17:05:58 -08:00
Marijn Haverbeke
3d0610b072
Check for literals that are out of range for their type
2011-12-07 21:53:05 +01:00
Marijn Haverbeke
e3eca9174b
Change literal representation to not truncate
...
Also shuffles around the organization of numeric literals and types,
separating by int/uint/float instead of machine-vs-non-machine types.
This simplifies some code.
Closes #974
Closes #1252
2011-12-07 21:08:28 +01:00
Niko Matsakis
6c95e400d8
repair more hash functions
2011-12-07 07:35:25 -08:00
Marijn Haverbeke
03a6e54212
Disallow binding by-mut-ref and by-move arguments
...
Fix bug in bound by-copy arguments.
Closes #1261
2011-12-07 15:28:57 +01:00
Niko Matsakis
66355607da
hack for now: map uint hashes into a u32, which helps x86_64 perf.
2011-12-06 19:55:46 -08:00
Brian Anderson
89efb7d981
libstd: Update docs
2011-12-06 13:58:54 -08:00
Graydon Hoare
447414f007
Establish 'core' library separate from 'std'.
2011-12-06 12:13:04 -08:00