Commit Graph

42 Commits

Author SHA1 Message Date
Patrick Walton 9ea6b3a32e rustc: Remove a few allocations from metadata. Shaves a few milliseconds off compilation of hello world. 2012-08-17 15:54:18 -07:00
Brian Anderson 74c69e1053 Convert more core types to camel case 2012-08-15 14:14:20 -07:00
Tim Chevalier ccd36439f7 Make Num::from_int a static method 2012-08-14 20:03:31 -07:00
Brian Anderson 5394e34aa4 core: Camel case some lesser-used modules 2012-08-13 18:59:48 -07:00
Brian Anderson 6a0720b439 Convert impls to new syntax 2012-08-08 18:19:24 -07:00
Brian Anderson ecaf9e39c9 Convert alt to match. Stop parsing alt 2012-08-06 15:36:30 -07:00
Brian Anderson 025d86624d Switch alts to use arrows 2012-08-05 22:08:09 -07:00
Graydon Hoare b14a6aca9f Cleanups in the int and uint templates. 2012-08-02 18:06:33 -07:00
Niko Matsakis 97452c0ca1 Remove modes from map API and replace with regions.
API is (for now) mostly by value, there are options to use it by
reference if you like.  Hash and equality functions must be pure
and by reference (forward looking to the day when something
like send_map becomes the standard map).
2012-08-02 15:53:28 -07:00
Brian Anderson b355936b4d Convert ret to return 2012-08-01 19:16:06 -07:00
Brian Anderson 2407373fa4 core: Make #fmt pure 2012-07-27 15:11:22 -07:00
Patrick Walton 1dd8acd56a core: Mark a bunch of numeric functions as pure 2012-07-26 14:43:44 -07:00
Niko Matsakis f061560ce4 range() is pure 2012-07-25 05:45:52 -07:00
Graydon Hoare a63e0e47f0 Update some str functions to slices, merge as_buf and unpack_slice. 2012-07-24 12:35:52 -07:00
Paul Stansifer 1c472564e3 Add 5.timesi() |idx| { ... } 2012-07-24 11:44:58 -07:00
Patrick Walton db020ab63c rustc: Implement and enforce instance coherence 2012-07-17 15:46:43 -07:00
Michael Sullivan 92743dc2a6 Move the world over to using the new style string literals and types. Closes #2907. 2012-07-14 01:03:43 -07:00
Ben Striegel d162fa26ba A new times method on numeric types
This method is intended to elegantly subsume two common iteration functions.
The first is `iter::range`, which is used identically to the method introduced
in this commit, but currently works only on uints. The second is a common case
of `{int, i8, uint, etc.}::range`, in the case where the inductive variable is
ignored. Compare the usage of the three:
```
for iter::range(100u) {
    // do whatever
}

for int::range(0, 100) |_i| {
    // do whatever
}

for 100.times {
    // do whatever
}
```
I feel that the latter reads much more nicely than the first two approaches,
and unlike the first two the new method allows the user to ignore the specific
type of the number (ineed, if we're throwing away the inductive variable, who
cares what type it is?). A minor benefit is that this new method will be
somewhat familiar to users of Ruby, from which we borrow the name "times".
2012-07-05 19:44:20 -07:00
Gareth Daniel Smith be0141666d convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498 2012-07-04 19:18:13 -07:00
Brian Anderson d1fc2b5995 Convert to new closure syntax 2012-07-01 19:19:32 -07:00
Brian Anderson a3382b6f26 Eliminate usages of old sugared call syntax 2012-06-30 16:01:49 -07:00
Michael Sullivan 98e161f00e Switch the compiler over to using ~[] notation instead of []/~. Closes #2759. 2012-06-29 17:41:45 -07:00
Michael Sullivan 329eca6044 Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725. 2012-06-25 20:00:46 -07:00
Brian Anderson 7e6cbf7431 Remove redundant 'extension' mods from numeric mods 2012-06-25 14:25:48 -07:00
Ben Striegel 43a48ca5bb Automatically export methods on core numeric types
Each numeric type now contains an extensions module that is automatically
exported. At the moment each extensions module contains only the impl for the
`num::num` iface. Other impls soon to follow (hopefully).
2012-06-25 14:25:48 -07:00
Brian Anderson fad307d7b4 core: Convert declarations to not use the trailing 'unsafe' notation 2012-06-25 12:48:39 -07:00
Graydon Hoare 312faf31df Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this. 2012-06-21 16:44:10 -07:00
Patrick Walton e38eaed978 Add a Num typeclass 2012-06-14 10:55:49 -07:00
Erick Tryzelaar 48e877a435 Rewrite int/uint helper functions to use refs
This lets us pass them to generic functions.
2012-06-12 18:10:19 -07:00
Ben Striegel d14d4155de Allow multiple num impls to be imported at once
If we import num::num, it gets reexported implicitly and causes collisions if
you try to import (for example) int::num and i8::num at the same time.
2012-06-09 01:36:26 -04:00
Brian Anderson 45f2926144 core: Inline unsigned range function 2012-06-08 18:49:50 -07:00
Brian Anderson 95b9d538b8 Use #[cfg(unix)] and #[cfg(windows)] everywhere 2012-06-07 22:28:00 -07:00
Patrick Walton e158ce8a9d Add neg() to the num iface 2012-06-07 18:27:10 -07:00
Patrick Walton 3d7400f3ac Add a Num typeclass 2012-06-07 16:08:38 -07:00
Tim Chevalier a6c92f0a17 Revert "Revert "Merge pull request #2516 from mozilla/incoming" due to failures"
This reverts commit 9fae95860de510f6874810cf43efb83f101246ef.
2012-06-06 15:08:24 -07:00
Graydon Hoare 7803488a43 Implement stack-only variants of int/uint str conversion and output. 2012-06-04 18:06:59 -07:00
Brian Anderson 2d0e7cd272 core: Don't allow radix 1 in uint::to_str 2012-06-04 15:22:40 -07:00
Brian Anderson 6e0085210c core: Make uint::to_str faster 2012-06-04 14:30:57 -07:00
Brian Anderson 432c6cbde9 core: Make range follow the for loop protocol 2012-05-26 02:28:00 -07:00
Brian Anderson feb8d60dc7 core: Ignore more tests 2012-05-16 16:58:02 -07:00
Brian Anderson cb6ed42717 core: Generalize uint-string conversions to all uint types
Issue #2239
2012-05-15 22:50:35 -07:00
Brian Anderson 903cb0e3a5 core: Factor out uint/u8/16/32/64 mods into uint-template 2012-04-16 12:31:34 -07:00