Alex Crichton
0adb41d0eb
Register new snapshots
2013-10-17 10:12:23 -07:00
Daniel Micay
e1a26ad271
use element count in slices, not size in bytes
...
This allows the indexing bounds check or other comparisons against an
element length to avoid a multiplication by the size.
2013-10-15 16:23:28 -04:00
Alex Crichton
4cc925a5f4
Register new snapshots
...
Now that #9662 is merged, we should be much more easily bootstrappable on
windows now.
2013-10-04 11:24:18 -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
Alex Crichton
a8ba31dbf3
std: Remove usage of fmt!
2013-09-30 23:21:18 -07:00
bors
d09f569aac
auto merge of #9065 : thestinger/rust/iter, r=alexcrichton
...
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 00:26:07 -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
Daniel Micay
db4720bdfa
repr: update for removal of const
2013-09-08 23:17:19 -04:00
Daniel Micay
ec7cd77bd0
repr: write the mutability qualifier for slices
2013-09-08 23:14:46 -04:00
Daniel Micay
f87578d9fb
fix repr of strings/chars with quotes
...
Closes #8743
2013-09-07 15:31:48 -04:00
Florian Hahn
de39874801
Rename str::from_bytes to str::from_utf8, closes #8985
2013-09-05 14:17:24 +02:00
Daniel Micay
a6a993ee71
repr: add very basic support for functions
...
Closes #8917
2013-09-03 04:45:00 -04:00
bors
7ff102a685
auto merge of #8927 : thestinger/rust/repr, r=huonw
2013-09-02 02:05:45 -07:00
Daniel Micay
331d2d6d31
repr: handle tuple structs sanely
...
Closes #8919
2013-09-02 04:10:56 -04:00
Daniel Micay
cc1f0027c7
repr: add support for trait objects
...
Closes #8916
2013-09-02 02:50:14 -04:00
Daniel Micay
7a52154d78
repr: print functions as fn()
2013-09-02 00:19:34 -04:00
novalis
c4bb88364e
Fix #8898
2013-09-01 22:35:19 -04:00
Daniel Micay
6655b3c462
repr: remove trailing {} from unit-like structs
2013-08-31 03:54:15 -04:00
Daniel Micay
874611b348
repr: print the name of structs
2013-08-31 03:54:13 -04:00
bors
f94844c558
auto merge of #8820 : alexcrichton/rust/no-io-writer, r=brson
...
At the same time, this updates the TyVisitor to use a mutable self because it's
probably going to be mutating state as it goes along anyway.
2013-08-30 01:20:44 -07:00
Alex Crichton
97f61e7bbe
Remove @io::Writer from sys/repr/reflect
...
At the same time, this updates the TyVisitor to use a mutable self because it's
probably going to be mutating state as it goes along anyway.
2013-08-28 23:00:46 -07:00
Alex Crichton
e3662b1880
Remove offset_inbounds for an unsafe offset function
2013-08-27 23:22:52 -07:00
Daniel Micay
803f941867
reflect: rm unused visit_{var,var_integral,constr}
2013-08-27 16:31:48 -04:00
Daniel Micay
ac4f0df120
repr: include mutability qualifier in visit_ptr
2013-08-27 16:31:48 -04:00
Daniel Micay
c2bc59e086
repr: print integer/float suffixes
2013-08-27 16:31:45 -04:00
Daniel Micay
180e235d3d
fix performance regression from invalid IR
...
Monomorphize's normalization results in a 2% decrease in non-optimized
code size for libstd, so there's a negligible cost to removing it. This
also fixes several visit glue bugs because normalize wasn't considering
the differences in visit glue between types.
Closes #8720
2013-08-23 19:23:54 -04:00
Daniel Micay
0cb0ef2ca5
fix build with the new snapshot compiler
2013-08-12 17:37:46 -04:00
Niko Matsakis
df016dc4bf
Update type visitor to use &Visitor and not @Visitor
2013-08-11 14:01:23 -04:00
Daniel Micay
1008945528
remove obsolete foreach
keyword
...
this has been replaced by `for`
2013-08-03 22:48:02 -04:00
Daniel Micay
1fc4db2d08
migrate many for
loops to foreach
2013-08-01 05:34:55 -04:00
Daniel Micay
ef870d37a5
implement pointer arithmetic with GEP
...
Closes #8118 , #7136
~~~rust
extern mod extra;
use std::vec;
use std::ptr;
fn bench_from_elem(b: &mut extra::test::BenchHarness) {
do b.iter {
let v: ~[u8] = vec::from_elem(1024, 0u8);
}
}
fn bench_set_memory(b: &mut extra::test::BenchHarness) {
do b.iter {
let mut v: ~[u8] = vec::with_capacity(1024);
unsafe {
let vp = vec::raw::to_mut_ptr(v);
ptr::set_memory(vp, 0, 1024);
vec::raw::set_len(&mut v, 1024);
}
}
}
fn bench_vec_repeat(b: &mut extra::test::BenchHarness) {
do b.iter {
let v: ~[u8] = ~[0u8, ..1024];
}
}
~~~
Before:
test bench_from_elem ... bench: 415 ns/iter (+/- 17)
test bench_set_memory ... bench: 85 ns/iter (+/- 4)
test bench_vec_repeat ... bench: 83 ns/iter (+/- 3)
After:
test bench_from_elem ... bench: 84 ns/iter (+/- 2)
test bench_set_memory ... bench: 84 ns/iter (+/- 5)
test bench_vec_repeat ... bench: 84 ns/iter (+/- 3)
2013-07-30 02:50:31 -04:00
Alex Crichton
5aaaca0c6a
Consolidate raw representations of rust values
...
This moves the raw struct layout of closures, vectors, boxes, and strings into a
new `unstable::raw` module. This is meant to be a centralized location to find
information for the layout of these values.
As safe method, `repr`, is provided to convert a rust value to its raw
representation. Unsafe methods to convert back are not provided because they are
rarely used and too numerous to write an implementation for each (not much of a
common pattern).
2013-07-26 09:53:03 -07:00
Daniel Micay
ed67cdb73c
new snapshot
2013-07-22 01:09:48 -04:00
Daniel Micay
ce16644677
repr: add a test case for @mut inside another type
2013-07-18 00:15:20 -04:00
Daniel Micay
2988d3f5c6
fix repr of @mut vectors
2013-07-18 00:15:17 -04:00
Daniel Micay
0c7b220f20
fix repr of unique vectors with stage0 libstd
...
Closes #7860
2013-07-17 19:09:18 -04:00
Daniel Micay
0239a06a64
rm unused visit_str method from TyVisitor
2013-07-17 13:30:32 -04:00
Daniel Micay
e118555ce6
remove headers from unique vectors
2013-07-15 23:57:27 -04:00
Alex Crichton
6d4d2c9a33
Don't loop infinitely on 0-size structs in repr
...
Closes #7625
2013-07-10 00:07:03 -07:00
Daniel Micay
90f1db10fa
remove headers from exchange allocations
2013-07-08 04:54:41 -04:00
Alex Crichton
d3155faede
Specialize to_str_common for floats/integers in strconv
...
This allows the integral paths to avoid allocations on the heap
Closes #4424 , #4423
2013-06-30 09:19:25 -07:00
Alex Crichton
8fe6fc11de
Change char::escape_{default,unicode} to take callbacks instead of allocating
...
strings
2013-06-30 09:19:02 -07:00
Philipp Brüschweiler
469f394b25
Remove intrinsic module
...
To achieve this, the following changes were made:
* Move TyDesc, TyVisitor and Opaque to std::unstable::intrinsics
* Convert TyDesc, TyVisitor and Opaque to lang items instead of specially
handling the intrinsics module
* Removed TypeDesc, FreeGlue and get_type_desc() from sys
Fixes #3475 .
2013-06-23 12:49:16 +02:00
Graydon Hoare
d904c72af8
replace #[inline(always)] with #[inline]. r=burningtree.
2013-06-18 14:48:48 -07:00
Daniel Micay
6c547e42c8
rm vec::uniq_len
2013-06-15 22:16:21 -04:00
Huon Wilson
4b806b4d06
std: remove each_char* fns and methods from str, replaced by iterators.
2013-06-09 02:22:23 +10:00
Patrick Walton
5fb254695b
Remove all uses of pub impl
. rs=style
2013-06-01 09:18:27 -07:00
Alex Crichton
007651cd26
Require documentation by default for libstd
...
Adds documentation for various things that I understand.
Adds #[allow(missing_doc)] for lots of things that I don't understand.
2013-05-30 01:02:55 -05:00
Patrick Walton
0c820d4123
libstd: Rename libcore to libstd and libstd to libextra; update makefiles.
...
This only changes the directory names; it does not change the "real"
metadata names.
2013-05-22 21:57:05 -07:00