summary refs log tree commit diff
path: root/src/libstd/reflect.rs
AgeCommit message (Collapse)AuthorLines
2013-11-26libstd: Remove all non-`proc` uses of `do` from libstdPatrick Walton-6/+2
2013-11-19libstd: Change all uses of `&fn(A)->B` over to `|A|->B` in libstdPatrick Walton-1/+1
2013-11-18libstd: Change all `~fn()`s to `proc`s in the standard library.Patrick Walton-2/+2
This makes `Cell`s no longer necessary in most cases.
2013-11-06Register new snapshotsAlex Crichton-7/+0
2013-11-04libsyntax/librustc: Allow calling variadic foreign functions.Luqman Aden-0/+7
2013-10-29Adjust reflection for the possibility of discriminants larger than int.Jed Davis-5/+5
Not only can discriminants be smaller than int now, but they can be larger than int on 32-bit targets. This has obvious implications for the reflection interface. Without this change, things fail with LLVM assertions when we try to "extend" i64 to i32.
2013-10-23Removed Unnecessary comments and white spaces #4386reedlepee-1/+0
2013-10-23Making fields in std and extra : private #4386reedlepee-1/+2
2013-10-17std: Move size/align functions to std::mem. #2240Brian Anderson-3/+3
2013-10-04Register new snapshotsAlex Crichton-8/+0
Now that #9662 is merged, we should be much more easily bootstrappable on windows now.
2013-10-01remove the `float` typeDaniel Micay-0/+1
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-09-23librustc: Remove `@fn` managed closures from the language.Patrick Walton-3/+5
2013-09-02repr: handle tuple structs sanelyDaniel Micay-6/+9
Closes #8919
2013-09-02repr: add support for trait objectsDaniel Micay-2/+2
Closes #8916
2013-08-31repr: print the name of structsDaniel Micay-8/+5
2013-08-28Remove @io::Writer from sys/repr/reflectAlex Crichton-64/+64
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-27reflect: rm unused visit_{var,var_integral,constr}Daniel Micay-15/+0
2013-07-26Consolidate raw representations of rust valuesAlex Crichton-2/+2
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-22new snapshotDaniel Micay-13/+0
2013-07-17rm unused visit_str method from TyVisitorDaniel Micay-0/+1
2013-07-15remove headers from unique vectorsDaniel Micay-0/+8
2013-07-08remove headers from exchange allocationsDaniel Micay-0/+8
2013-06-23Remove intrinsic modulePhilipp Brüschweiler-2/+4
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-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-5/+5
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-9/+9
2013-05-30Require documentation by default for libstdAlex Crichton-0/+2
Adds documentation for various things that I understand. Adds #[allow(missing_doc)] for lots of things that I don't understand.
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+500
This only changes the directory names; it does not change the "real" metadata names.