Commit Graph

12433 Commits

Author SHA1 Message Date
Tim Chevalier a70e37b214 In ty::impl_traits, treat structs properly
Treat structs just like impls: use their associated list of
trait refs to get the list of traits that one of them implements.
I don't understand what was happening before, but it was wrong.

Closes #2936
2012-08-28 19:51:11 -07:00
Niko Matsakis a19dce6c16 correct name of SendMap trait 2012-08-28 19:10:44 -07:00
Ben Striegel a605fd0cad CamelCasify lots of std 2012-08-28 18:52:44 -07:00
Graydon Hoare ecb646477b Add lint modes for uses of @ and ~ pointers, in general. 2012-08-28 18:25:41 -07:00
Graydon Hoare b769e29680 Compress metadata section. Seems a minor speed win, major space win. 2012-08-28 14:50:39 -07:00
Brian Anderson 31bbcf0267 Import Result, Ok, and Err by default. Closes #3287 2012-08-28 14:49:49 -07:00
Brian Anderson cfbc7cbdc7 Convert core::pipes to camel case 2012-08-28 14:33:18 -07:00
Niko Matsakis e9b7ce6f57 refactor send_map impl to be based on structs 2012-08-28 12:00:42 -07:00
Elliott Slaughter 0031617f30 rustc: Add cfg(gc) and cfg(nogc).
Needed in libcore to determine whether core::gc is being compiled with
GC on or not, which then affects various safety checks to avoid
collecting memory the GC is itself using.
2012-08-28 11:05:32 -07:00
Brian Anderson adf9fa229f Fix a test that mysteriously resolves correctly when not check-fasting 2012-08-28 10:58:16 -07:00
Jed Davis c5528198ab De-abstract std::sort:qsort3, which uses only the trait-based lt/eq.
quick_sort3 was converted from fn parameters to traits in d9cdddeb, but
was still passing around closures over core::cmp::{eq,lt} internally,
and LLVM doesn't and/or can't pick up that they're effectively constant.

Reduces time spent to sort a large random ~[uint] by 16% in my testing.
2012-08-28 06:37:06 -07:00
Niko Matsakis 206edf66c9 make rand code use slices 2012-08-27 19:56:42 -07:00
Niko Matsakis 0a01d82f6f preliminary work on making future's sendable
also various improvements to the ptr casting fns:
- rename assimilate() to to_unsafe_ptr() (fixes #3110)
- introduce `unsafe::copy_lifetime()` to copy the lifetime from one ptr to another
2012-08-27 19:56:16 -07:00
Patrick Walton ff513b1bcd libcore: Replace a bunch of "== None" with ".is_none()".
Generally, "== None" calls into the shape glue, and it's also more useful.
2012-08-27 17:49:35 -07:00
Patrick Walton f2dcd7663a libcore: Use is_none() in pipes 2012-08-27 17:43:15 -07:00
Patrick Walton 303e105677 libcore: Fix equality for pointers... again 2012-08-27 17:42:47 -07:00
Patrick Walton 32b13ce2ce libcore: Fix signature of the impl for *T 2012-08-27 17:37:41 -07:00
Patrick Walton daf10a2a6c libcore: Fix a use of the shape glue in TLS 2012-08-27 17:37:31 -07:00
Patrick Walton 9c04454e7b libcore: Implement equality for pointers 2012-08-27 17:33:22 -07:00
Patrick Walton 5792244d03 rustc: Implement equality for option types 2012-08-27 17:24:50 -07:00
Brian Anderson 161a82e433 Camel case various core constructors 2012-08-27 17:22:18 -07:00
Kevin Cantu 4ba9fdd362 Remove deprecated modes from libstd/getopts.rs 2012-08-27 17:17:10 -07:00
Patrick Walton 0e5a0e1da5 libcore: Implement equality and ordering on vectors 2012-08-27 17:16:41 -07:00
Graydon Hoare 88e0476bd0 Add some counters to metadata. 2012-08-27 16:59:30 -07:00
Graydon Hoare 9fafb63d5e Turn off the verbose-mode of ebml. 2012-08-27 16:59:30 -07:00
Patrick Walton 060609cd56 libcore: Implement Eq for string types 2012-08-27 16:57:20 -07:00
Patrick Walton 381a628c4c libcore: Fix build harder 2012-08-27 15:44:44 -07:00
Brian Anderson 1cd97ee47d Mark intrinsic::tydesc with #[allow(non_camel_case_types)] 2012-08-27 15:06:46 -07:00
Patrick Walton 180202fa4d libcore: Fix core test 2012-08-27 15:04:47 -07:00
Brian Anderson 0c6e470a25 Convert core::result to camel case 2012-08-27 14:37:04 -07:00
Patrick Walton 3a1582012e libcore: Implement ord and eq language items 2012-08-27 14:27:43 -07:00
Patrick Walton 2bb056f4ab rustc: Avoid an allocation on every GEPi 2012-08-27 14:27:42 -07:00
Niko Matsakis 8453097dd5 remove ipv4 match which looks like it was... purposeless 2012-08-27 14:10:55 -07:00
Niko Matsakis 6d788198d7 fix a few remaining unused pattern binding warnings 2012-08-27 14:10:55 -07:00
Erick Tryzelaar 3e6ddf72ba rustc: make sure to import shr. 2012-08-27 14:10:55 -07:00
Erick Tryzelaar ad19609dbc rustc: Fix typo in variant name 2012-08-27 14:10:55 -07:00
Erick Tryzelaar c83ab4bcb8 rustc: import vstore_uniq 2012-08-27 14:10:55 -07:00
Erick Tryzelaar 65bd46c8a5 rustc: more pattern cleanup 2012-08-27 14:10:54 -07:00
Erick Tryzelaar 5ce5ee86bc rustc: fix the unused pattern vars warnings. 2012-08-27 14:10:54 -07:00
Erick Tryzelaar 1dc92d44be libcore: fix indention. 2012-08-27 14:10:54 -07:00
Graydon Hoare 5d56da1678 Convert over some residual uses of #oldmacros. 2012-08-27 13:54:12 -07:00
Elliott Slaughter 38fee9526a rustc: When landing pads are off, avoid skipping cleanup code.
This forces various things to be created (e.g. drop glue), and also
happens to be necessary for GC liveness to recognize cleanups as
roots.
2012-08-27 12:48:35 -07:00
Elliott Slaughter 5593add3a8 rustc: Break cyclical dependence between emit_tydescs and gen_shape_tables.
Force all tydescs to be emitted before emit_tydescs to avoid linker
failures.
2012-08-27 12:48:35 -07:00
Niko Matsakis 785c524d3e change to 4-space indents everywhere 2012-08-27 11:54:22 -07:00
Ben Blum a831726b94 Fix region-related unsafety in arc::get's signature 2012-08-27 14:03:23 -04:00
Ben Blum 330311658f fix bench test for arc::arc camelcase 2012-08-26 22:15:10 -04:00
Ben Blum 61249da53a convert std::arc tests to use camel case ARCs 2012-08-26 21:51:18 -04:00
Ben Blum 09ae370c62 convert std::arc types to camelcase 2012-08-26 21:28:36 -04:00
Ben Blum 5dadee1ee7 minor core/std cleanup 2012-08-26 21:17:39 -04:00
Ben Blum edd6d9ea37 convert std::sync types to camelcase 2012-08-26 21:17:36 -04:00