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