Commit Graph

11463 Commits

Author SHA1 Message Date
Graydon Hoare
536cb90a21 Migrate core::send_map to random, keyed hashes w/ hash::Hash trait. 2012-08-30 19:05:54 -07:00
Graydon Hoare
3462bb6a46 Fix some more test breakage. 2012-08-30 19:05:54 -07:00
Patrick Walton
f74014b0e7 test: Fix compile-fail tests 2012-08-30 17:13:35 -07:00
Patrick Walton
4846affedb rustc: "extern mod { ... }" should be written "extern { ... }" instead 2012-08-30 17:10:07 -07:00
Graydon Hoare
c3ac0f8fd9 Fix auto_serialize test. 2012-08-30 16:27:31 -07:00
Graydon Hoare
11871b8baa Fix json test. 2012-08-30 16:27:31 -07:00
Graydon Hoare
54a8d69c4f Change str : Eq to use memcmp. 2012-08-30 16:27:31 -07:00
Patrick Walton
7fec8419f3 test: Add a test for unused constants in foreign modules 2012-08-30 16:10:50 -07:00
Patrick Walton
1f056eda8e rustc: Make the compiler no longer ICE on unused foreign constants 2012-08-30 16:08:58 -07:00
Brian Anderson
65b05a6ce8 Bump version to 0.4 2012-08-30 14:05:59 -07:00
Graydon Hoare
bb8a510113 Add an impl path::WindowsPath : Eq. 2012-08-30 13:22:31 -07:00
Graydon Hoare
2d31c2afc4 Fix another Eq missing case. 2012-08-30 13:10:36 -07:00
Graydon Hoare
a9619306a5 Start moving core::hash to support a Hash trait. Add to_bytes::IterBytes trait. 2012-08-30 12:38:28 -07:00
Patrick Walton
ab53819a2c libstd: Fix another std test 2012-08-30 12:25:48 -07:00
Patrick Walton
5c721bd810 libstd: More test fixes 2012-08-30 12:15:53 -07:00
Patrick Walton
470a301467 libcore: Fix test issues harder 2012-08-30 11:02:13 -07:00
Patrick Walton
27576af73e libcore: Fix test issues 2012-08-30 10:42:48 -07:00
Patrick Walton
9518fc79ea cargo: Fix some lack of knowledge of basic algebraic identities 2012-08-30 10:39:28 -07:00
Patrick Walton
45e46f5fc0 libcore: Add missing unit.rs 2012-08-30 10:14:54 -07:00
Patrick Walton
a1c11cab2d rustc: Make <=, >=, and > use traits as well 2012-08-29 19:23:15 -07:00
Patrick Walton
70d3633c0b libstd: Fix some build breakage 2012-08-29 18:29:21 -07:00
Patrick Walton
59bdd8bde6 libcore: Fix build breakage 2012-08-29 18:27:26 -07:00
Patrick Walton
96534365c2 rustc: Make < and = into traits 2012-08-29 18:25:22 -07:00
Brian Anderson
94720fcea7 std: More camel casing 2012-08-29 17:44:29 -07:00
Brian Anderson
d8b34b2af8 Fix breakage 2012-08-29 16:56:04 -07:00
Brian Anderson
c0c8d3aa8f core: Demode int/uint mods 2012-08-29 16:23:36 -07:00
Brian Anderson
ee2ce036cc Camel case more std types 2012-08-29 16:09:50 -07:00
Brian Anderson
aab4d6b8d7 std: Camel case some constructors 2012-08-29 15:34:38 -07:00
Brian Anderson
8aca44ee0c core: Don't normalize paths by default. Add a normalize method 2012-08-29 14:28:37 -07:00
Brian Anderson
fd12188c07 core: Export sys::Closure 2012-08-29 14:05:27 -07:00
Brian Anderson
6e20ffeb8d Add sys::Closure type 2012-08-29 14:04:22 -07:00
Jed Davis
3e4b55807d Add vec::truncate, for efficiently shortening a vector. 2012-08-29 13:46:49 -07:00
Graydon Hoare
5eef15df12 Rename resolve3 -> resolve. 2012-08-29 13:26:52 -07:00
Graydon Hoare
6d22a805d7 Replace core::path with contents of core::path2. Back to one path module. 2012-08-29 13:26:51 -07:00
Tim Chevalier
cb8ecd7984 Allow extern mods to be anonymous
extern mod {
  f();
}

is now allowed, and puts f in the enclosing scope. (Requires a
link_name attribute to be really useful...)
2012-08-29 12:22:05 -07:00
Graydon Hoare
cdcf5a7580 Merge pull request #3299 from jld/mz-forceinline
Fix MZ_FORCEINLINE define to work with GCC 4.7.1.
2012-08-29 10:31:17 -07:00
Niko Matsakis
75201cdc04 vtable.rs: adjust formatting, correct build error 2012-08-29 06:07:17 -07:00
Niko Matsakis
e9ac7489b5 Refactor representation of borrowing so that it is tracked by fn_ctxt and not infer 2012-08-29 05:27:43 -07:00
Jed Davis
b043349833 Fix MZ_FORCEINLINE define to work with GCC 4.7.1.
Using just __always_inline__ without inline results in several instances
of "error: always_inline function might not be inlinable".
2012-08-29 01:18:00 -07:00
Erick Tryzelaar
e398a72c42 libcore: fix a typo exporting Err. 2012-08-28 20:16:21 -07:00
Tim Chevalier
06675caa42 Comment the default case in typeck::check::vtable::lookup_vtable copiously
Try to save the next person who looks at this code the heartbreak that I
went through.
2012-08-28 19:51:11 -07:00
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
Ben Blum
cf1d2a7fef vim - camel-case the non builtin types 2012-08-26 20:45:04 -04:00
Brian Anderson
8337fa1a54 Camel case the option type 2012-08-26 15:56:16 -07:00
Brian Anderson
d9a6a63653 Fix build breakage 2012-08-26 13:51:10 -07:00
Patrick Walton
77b8144295 libcore: Implement result::get_ref.
This can be more efficient than unwrapping for large structural
types.
2012-08-26 11:50:21 -07:00
Patrick Walton
62be878ed1 rustc: Use memmove in unsafe::reinterpret_cast (issue #3025).
This was causing a bunch of structural copies, which when inlined
was leading to enormous register pressure. Often this is seen in
code which makes use of result::unwrap.
2012-08-26 11:25:53 -07:00
Patrick Walton
ff9151fa55 rustc: Use memset when zeroing allocas out (issue #3025).
Previously, LLVM was generating a ton of byte-by-byte copies,
leading to huge numbers of vregs and bloating the code. Now, using
memset, the code becomes a nice series of SSE moves instead.
2012-08-26 10:50:06 -07:00
Patrick Walton
db71ff3eb6 libcore: Add some methods to make working with string slices easier 2012-08-25 23:13:50 -07:00
Patrick Walton
80429dd7bd rustc: Add some more debugging to vtable 2012-08-25 23:13:50 -07:00
Brian Anderson
0de379fdf0 Merge pull request #3282 from killerswan/modes5
Removing more deprecated modes
2012-08-25 18:56:07 -07:00
Patrick Walton
ed1ab9a598 libstd: Don't make task-local GC data when creating TCP streams.
This exposed an ICE in a test; it's commented out for now.
2012-08-25 18:43:38 -07:00
Patrick Walton
7d86429415 libcore: Add an implementation of to_str for &str.
It duplicates the string.
2012-08-25 18:43:38 -07:00
Brian Anderson
09df8f1abf Fix more unused variable warnings 2012-08-25 18:38:21 -07:00
Brian Anderson
0cece20ea5 Fix some unused variable warnings 2012-08-25 18:19:54 -07:00
Tim Chevalier
7fb5f41bac Update test for new struct field syntax (fixes build breakage) 2012-08-25 17:54:17 -07:00
Tim Chevalier
6d3d4b9040 Merge pull request #3278 from erickt/incoming
A couple minor cleanups
2012-08-25 17:22:01 -07:00
Patrick Walton
d77acf7d07 libsyntax: Accept ',' to separate struct fields. Closes #3263. 2012-08-25 16:06:35 -07:00
Kevin Cantu
4f326dd650 Remove deprecated modes from SHA1 and MD4 in libstd 2012-08-25 15:28:57 -07:00
Kevin Cantu
b26084475c Remove deprecated modes from libstd/timer.rs 2012-08-25 15:28:57 -07:00
Patrick Walton
8ef4551904 rustc: Implement foreign constants.
This is needed for a lot of Apple libraries, as Apple tends to put a lot of
globals in dynamic libraries.
2012-08-25 15:09:33 -07:00
Erick Tryzelaar
dab3339971 libstd: Suppress warning about unused variable in net_tcp. 2012-08-25 12:22:44 -07:00
Erick Tryzelaar
f2f0ac9fe0 libstd: serialization should use &strs. 2012-08-25 12:22:44 -07:00
Tim Chevalier
bb5c07922f Add test case for #2356 2012-08-25 09:15:32 -07:00
Tim Chevalier
33ba097069 Add backquotes to error message 2012-08-25 09:15:26 -07:00
Vincent Belliard
bdbedb9d35 implements issue #2356 2012-08-25 17:01:52 +02:00
Ben Blum
6277046fa0 Add either::unwrap_{left,right} 2012-08-25 03:07:30 -04:00
Ben Blum
4cfb92f459 Use region variance to remove a bunch of unsafety in sync/arc (#2282) 2012-08-25 03:07:30 -04:00
Ben Blum
8d00603d78 Use less move_it in pipes and future (all but one use) 2012-08-25 03:07:30 -04:00
Ben Blum
6cf2f89452 Implement option::unwrap safely...! 2012-08-25 03:07:30 -04:00
Tim Chevalier
bed37a1dc9 Reset src/llvm to what it was (not sure what happened here) 2012-08-25 00:04:33 -07:00
Michael Sullivan
1ce7902a41 Add a Buildable interface for constructing general sequences. Work on #2921. 2012-08-24 22:56:05 -07:00
Michael Sullivan
c87e9a5815 Get rid of the unseemly reinterpret_casts in build_sized implementations. Closes #3272. 2012-08-24 22:56:05 -07:00
Michael Sullivan
b2aeb31451 Register snapshots. 2012-08-24 22:56:05 -07:00
Tim Chevalier
5e22fb9c7f Remove match check 2012-08-24 22:28:12 -07:00
Tim Chevalier
c7a3d0eb58 Remove one last match check, in send_map 2012-08-24 21:35:35 -07:00
Tim Chevalier
0dad78e03d Eliminate match checks in trans and typeck 2012-08-24 20:45:30 -07:00
Paul Stansifer
18180fd5da "earley_parser" -> "macro_parser" Let's be less confusing. 2012-08-24 18:20:17 -07:00
Paul Stansifer
e54acbf848 Document the macro parser a little more. 2012-08-24 18:20:17 -07:00
Michael Sullivan
90812c143d Rework method lookup to properly handle self types for non impl matches. Closes #3268. Closes #3274. 2012-08-24 17:57:41 -07:00
Michael Sullivan
6a56212649 A bunch of code refactoring in method matching. 2012-08-24 17:57:41 -07:00
Michael Sullivan
cf62433f43 Comments only: fix a comment in method resolution. 2012-08-24 17:57:41 -07:00
Ben Blum
01866fae4e Document task shutdown protocol and justify its concurrency safety. Close #2696. Close bblum's internship. 2012-08-24 19:59:03 -04:00
Graydon Hoare
5ebea76394 Fix a curious failure not seen during testing. 2012-08-24 16:39:16 -07:00
Graydon Hoare
23deed12ce Merge pull request #3269 from killerswan/modes3
Remove deprecated modes from libstd/time.rs
2012-08-24 16:08:38 -07:00
Graydon Hoare
c284b8b1dc Start using core::path2::Path in a lot of places. 2012-08-24 15:51:16 -07:00
Niko Matsakis
a8f1bee457 fix some unused pattern binding warnings 2012-08-24 15:37:21 -07:00
Ben Blum
5ba7434cb1 Avoid lifecycle_lock traffic in call_on_rust_stack. (close #3270) 2012-08-24 18:28:26 -04:00
Michael Sullivan
e55c5ceac2 Infer purity for || style closures. Closes #3023. 2012-08-24 14:21:27 -07:00
Michael Sullivan
b5dd01eb2a Add a bunch more unsafe blocks to prepare for the new semantics of unsafe/closure interactions. 2012-08-24 14:21:26 -07:00
Michael Sullivan
2c96a43cf1 Get rid of the unsafe hacks in resolve3. Closes #3267. 2012-08-24 14:21:26 -07:00
Elliott Slaughter
7706262a73 rustc: Add flag for enabling GC. 2012-08-24 14:01:27 -07:00
Elliott Slaughter
30768d3609 rustc: Don't emit metadata for default and GC box addrspaces. 2012-08-24 14:01:27 -07:00
Elliott Slaughter
2189f21d30 llvm: Update LLVM for addrspaces. 2012-08-24 14:01:27 -07:00
Elliott Slaughter
e68db3ad3c rustc: Fix for updated macro syntax. 2012-08-24 14:01:26 -07:00
Elliott Slaughter
a7a74c79fa rustc: Emit index of tydescs by addrspace. 2012-08-24 14:01:26 -07:00
Elliott Slaughter
c2e99ba826 rustc: Root resources with addrspaces. 2012-08-24 14:01:26 -07:00
Elliott Slaughter
c8daf2ac16 llvm: Update LLVM for liveness fixes. 2012-08-24 14:01:18 -07:00
Ben Blum
d09fd6561f Add a compile-fail test for #3255 2012-08-24 16:43:03 -04:00
Ben Blum
37bcd67a09 Enforce copyability in bind_by_value match arms (fix #3255) 2012-08-24 16:43:03 -04:00
Niko Matsakis
e47d2f6060 extend liveness to treat bindings more like other variables
This results in a lot of warnings in rustc.  I left them in because
many are bugs and we should fix our code, but Graydon asked that
I not touch every file in the codebase.
2012-08-24 12:55:08 -07:00
Paul Stansifer
aa024acae3 Use a faked-up function as a key, because functions aren't identical cross-crate in Windows. 2012-08-24 12:20:06 -07:00
Kevin Cantu
2dc9be7a14 Remove deprecated modes from libstd/time.rs
I've changed the unique string arguments to slices, and internally use
references to tm enums.  These changes are self-contained and so likely
don't step on any of @graydon's feet for a change!
2012-08-24 12:18:32 -07:00
Michael Sullivan
0f996f70a6 Remove purity from fn_decl and move it out to containing AST elements. 2012-08-23 19:40:01 -07:00
Ben Blum
34886ed488 Add a test case for helpful errors when copying into closures (#2942) 2012-08-23 22:20:34 -04:00
Ben Blum
673d0d83cf Less confusing error message when copying into heap closures (close #2942) 2012-08-23 22:07:56 -04:00
Niko Matsakis
d320848bf7 wrap long line 2012-08-23 18:56:56 -07:00
Niko Matsakis
a08f3a7d4d More complete fix to #3162 (borrowck bug related to access to rec fields) 2012-08-23 18:54:08 -07:00
Patrick Walton
83e7c869bd libcore: Add from_buf_len_nocopy 2012-08-23 18:10:16 -07:00
Ben Blum
dcbeebc801 Make vec::zip not require T:copy (close #3254) 2012-08-23 21:09:57 -04:00
Ben Blum
79266c614d remove a print in msgsend-ring-rw-arcs 2012-08-23 21:09:57 -04:00
Ben Blum
f7f909a8cf vim - fix indent rules, hilight format strings, some keywords 2012-08-23 21:09:57 -04:00
Niko Matsakis
5ccf8175a8 don't consider use of @fn to be region-param'd 2012-08-23 17:55:04 -07:00
Erick Tryzelaar
bf0ea66dac libcore: update bytes/str reader to work with regions.
This optimizes away a copy.
2012-08-23 17:42:50 -07:00
Tim Chevalier
6b6bea9531 Add boolean constants as part of const_eval
Doesn't exactly eliminate a match check, but simplifies the logic a bit
2012-08-23 17:22:08 -07:00
Tim Chevalier
80d129aa45 Parenthesize unary move exprs in prettyprinter
Closes #3220
2012-08-23 16:59:05 -07:00
Niko Matsakis
5eea7d6e61 don't infer region paramaterization for ids in a bound context 2012-08-23 16:22:23 -07:00
Tim Chevalier
89222646f4 Remove match checks in rustdoc 2012-08-23 15:46:59 -07:00
Tim Chevalier
9f591319dd Rename str::bytes to str::to_bytes
Closes #3245
2012-08-23 15:46:10 -07:00
Tim Chevalier
e9622f09aa Remove match check from test cases 2012-08-23 15:12:02 -07:00
Ben Blum
01a5845db5 fix atomic intrinsic test cases 2012-08-23 17:19:35 -04:00
Ben Blum
caceac06ce Remove old-moded atomic intrinsics (#3200) 2012-08-23 16:54:25 -04:00
Ben Blum
c47342e7c2 Convert pipes to new atomic intrinsics 2012-08-23 16:54:25 -04:00
Michael Sullivan
dc107898b2 Fix logging code to not sign extend chars being printed in hex. 2012-08-23 12:48:08 -07:00
Niko Matsakis
3cf74564b8 update liveness to camel-cased conventions, silence warnings 2012-08-23 12:38:18 -07:00
Paul Stansifer
129c4b694b Give a special error message when [de]serializing fails because the interner isn't in TLS yet. 2012-08-23 11:47:35 -07:00
Paul Stansifer
89bbaff84f m1!{...} is now forbidden. Use m1!(...) instead. 2012-08-23 11:14:15 -07:00
Paul Stansifer
11b640d990 Pretty-print macros with () instead of {}. 2012-08-23 11:14:15 -07:00
Paul Stansifer
77e83d83a9 Change calls of proto! to use parens. 2012-08-23 11:14:15 -07:00
Paul Stansifer
c74a442e86 Eliminate some extraneous curly brackets inside invocations of macro_rules!. 2012-08-23 11:14:14 -07:00
Paul Stansifer
38891b91bf Update invocation syntax for macro_rules! 2012-08-23 11:14:14 -07:00
Paul Stansifer
29f32b4a72 m1!{...} -> m1!(...) 2012-08-23 11:14:14 -07:00
Michael Sullivan
226fd87199 Make a bunch more of the iteration functions/methods marked pure. Closes #3253. 2012-08-23 10:22:33 -07:00
Michael Sullivan
0f0a9775ba Some error message cleanup in check.rs. 2012-08-23 10:21:35 -07:00
Ben Blum
5d5cfcc005 Merge pull request #3258 from erickt/serialization
Fixing serialization no-implicit-copies warnings, and other misc cleanup
2012-08-23 09:37:21 -07:00
Niko Matsakis
511e7626ae Infer variance of types with respect to the region parameter.
A similar approach could be used for type parameters.

Fixes #2282.
2012-08-23 06:30:43 -07:00
Niko Matsakis
8185ede1fa convert send_map to use explicit self 2012-08-22 21:14:32 -07:00
Tim Chevalier
c8ce32e7f4 Represent "item families" in the decoder as an enum
This eliminates some match checks. Also get rid of other match checks
in metadata code.
2012-08-22 20:32:09 -07:00
Niko Matsakis
b3b1c3bf4d correct linux snapshots (sorry) 2012-08-22 20:21:03 -07:00
Niko Matsakis
822b2bb2c4 register new snapshot 2012-08-22 20:00:15 -07:00
Ben Blum
fe2566777d Use swap_remove in pipes::select(). Close #3219. 2012-08-22 22:20:42 -04:00
Ben Blum
20773f33f5 Add vec::swap_remove (#3219) 2012-08-22 22:20:42 -04:00
Erick Tryzelaar
d8988fe220 libstd: fix serialization no-implicit-copies warnings 2012-08-22 19:10:29 -07:00
Erick Tryzelaar
007e47d710 libstd: switch ebml's wr_tagged_str to use str::byte_slice 2012-08-22 19:10:28 -07:00
Erick Tryzelaar
cfa71a135b rustc: add all the pretty printer modes to error message 2012-08-22 19:10:28 -07:00
Brian Anderson
4ef1d9d5b5 rustc: Remove typestate source 2012-08-22 18:33:19 -07:00
Ben Blum
95bc9d4aef export unwrap_arc functions in core/std 2012-08-22 21:16:35 -04:00
Ben Blum
9f0b3e3164 remove a debug print statement moving out of enums 2012-08-22 21:16:34 -04:00
Tim Chevalier
f61bbe2709 Dead code elimination 2012-08-22 17:52:27 -07:00
Ben Blum
49c1bd7e86 WIP: Add an xfailed test for bind-by-move (#2329) 2012-08-22 20:40:25 -04:00
Ben Blum
37962288ec Compile moving out of enums (#2329) 2012-08-22 20:40:25 -04:00
Ben Blum
e5fb58e6c0 Add compile-fail tests for unsound moving out of enums (#2329) 2012-08-22 20:40:25 -04:00
Ben Blum
5b25fc918a Parse and typecheck moving out of enums (#2329) 2012-08-22 20:40:25 -04:00
Tim Chevalier
1b804ce343 Merge find_linkage_attrs with find_linkage_metas
This gets rid of a gratuitous `match check`.
2012-08-22 16:43:23 -07:00
Tim Chevalier
0a5f88a240 Change the log level to be an enum rather than an int
This allows for eliminating a match check.
2012-08-22 16:14:39 -07:00
Tim Chevalier
73ffc7e700 Remove match check in send_map 2012-08-22 15:24:33 -07:00
Tim Chevalier
6f77fcbd07 Comments only: update issue number for FIXME 2012-08-22 15:24:33 -07:00
Brian Anderson
48a4bca066 Merge pull request #3251 from fsouza/to_digit_fix
libcore: fix doc for char::to_digit
2012-08-22 15:13:59 -07:00
Brian Anderson
91c652b1ca Merge pull request #3244 from dbp/osbug
core: removing repeated code in os.rs homedir() test
2012-08-22 15:12:53 -07:00
Brian Anderson
aab37fa811 Merge pull request #3240 from Dretch/bitvfixes
Bitvfixes
2012-08-22 15:11:58 -07:00
Paul Stansifer
1153b5dcc8 intern identifiers 2012-08-22 14:59:25 -07:00
Paul Stansifer
7317bf8792 pre-intern some fixed names so they can be used as constants 2012-08-22 14:59:24 -07:00
Paul Stansifer
9a7890d73a Centralize ident interner generation. 2012-08-22 14:59:24 -07:00
Michael Sullivan
744fea1a4f Track the type of self properly. Closes #3247. 2012-08-22 13:18:29 -07:00
Tim Chevalier
7284969292 Eliminate many match checks in rustc 2012-08-22 12:25:08 -07:00
Ben Blum
0e620ac030 Remove one last default argument mode from core::os 2012-08-22 14:10:56 -04:00
Ben Blum
d2e2d97602 Merge pull request #3231 from killerswan/modes1
Remove deprecated modes from os.rs
2012-08-22 10:37:45 -07:00
Ben Blum
dbba49f902 Merge pull request #3229 from Vincent-Belliard/master
add syntax highlighting file for kate editor
2012-08-22 10:34:49 -07:00
Michael Sullivan
e94c5420f4 #[ignore(cfg(windows))] for a test I added to arena that involves failure. 2012-08-22 10:29:23 -07:00
Francisco Souza
493117dcda libcore: fix doc for char::to_digit
Closes #3249.
2012-08-22 13:51:45 -03:00
Niko Matsakis
907f5b4672 ignore should_fail tests on windows 2012-08-21 20:49:35 -07:00
Niko Matsakis
ce3cc46ce6 Fix generation of generic methods with explicit self
There used to be two distinct code paths.  Now there is one.
2012-08-21 20:15:22 -07:00
Niko Matsakis
b5411f765c add tests to manage, fix test breakage I inadvertently introduced 2012-08-21 20:15:22 -07:00
Ben Blum
9b489f6fff Don't refute "()" in let-bindings (fixes #3104). 2012-08-21 21:05:01 -04:00
Michael Sullivan
73a03824e8 Remove a level of indirection from std::arena. 2012-08-21 17:03:00 -07:00
Michael Sullivan
f24e0e7b13 Have std::arena segregate POD data and non-POD data into different chunks. 2012-08-21 17:03:00 -07:00
Michael Sullivan
5f32e18011 Make std::arena run destructors. Closes #2831. 2012-08-21 17:03:00 -07:00
Michael Sullivan
98d0aae9a1 Fix some map related build failures. 2012-08-21 17:03:00 -07:00
Ben Blum
7fe1005fd1 Add msgsend-ring-{rw,mutex}-arcs bench tests 2012-08-21 19:40:47 -04:00
Daniel Patterson
6083409f17 core: removing repeated code in os.rs homedir() test 2012-08-21 19:26:32 -04:00
Niko Matsakis
236f833007 remove tab character 2012-08-21 16:08:18 -07:00
Niko Matsakis
bc5eb95222 implement a map testing benchmark
This involved some other changes:
- add a managed<T> wrapper that makes send_map usable from @-data
- implement map<K,V> for managed<send_map>

Unit tests are coming.
2012-08-21 16:07:53 -07:00
Niko Matsakis
182814ef81 remove some FIXMEd code as the relevant issue is fixed 2012-08-21 16:07:53 -07:00
Patrick Walton
9440f8e9b8 libcore: Implement a dup2 2012-08-21 16:01:00 -07:00
Daniel Patterson
8b8e0c2a45 core: switching os::tmpdir() to always return a directory, by defaulting to Windows dir on windows, as per .NET 2012-08-21 15:51:36 -07:00
Daniel Patterson
9bb2963b7e core: adding test for os::tmpdir() 2012-08-21 15:51:36 -07:00
Daniel Patterson
3f1f6bf9e3 core: adding os::tmpdir() that returns a system temporary directory if it can find one, and none otherwise. 2012-08-21 15:51:36 -07:00
Ben Blum
47cca22d54 Bypass lifecycle_lock in inhibit_kill/allow_kill for 3% to 5% speedup. Close #3213. 2012-08-21 18:03:41 -04:00
Ben Blum
0229bc4def Remove fixmes about exporting. Close #2648, close #3119. 2012-08-21 15:30:53 -04:00
Ben Blum
932f239a9c respect distinct anonymous regions in unsafe::transmute_* 2012-08-21 15:30:53 -04:00
Ben Blum
f5332769d5 Convert atomic intrinsics away from old argument modes (partial #3200) 2012-08-21 15:30:53 -04:00
Gareth Daniel Smith
69d66a702e fix a bug in bitv where the undefined bits in small/big bitv values could cause operations to return incorrect results. 2012-08-21 19:42:16 +01:00
Gareth Daniel Smith
5ccd299b15 fix a logic bug in small_bitv.set 2012-08-21 19:41:29 +01:00
Niko Matsakis
9423302c82 remove trailing whitespace 2012-08-21 11:24:41 -07:00
Niko Matsakis
652b312122 more sound treatment of fn& regions; change all & to be distinct 2012-08-21 10:28:34 -07:00
Vincent Belliard
6c36dc8660 fix kate syntax highlighting file 2012-08-21 16:27:17 +02:00
Niko Matsakis
8ee79c79aa new region inference, seperate infer into modules, improve error msgs
Fixes #2806
Fixes #3197
Fixes #3138
2012-08-20 22:00:06 -07:00
Ben Blum
3b09c3deaa Document arc::unwrap. Close #3123. 2012-08-20 22:31:17 -04:00
Michael Sullivan
71ec545614 Try to do some resolution of vtables earlier, in a fairly ad-hoc way. Closes #3156. 2012-08-20 19:00:27 -07:00
Ben Blum
bd736a0f9b oops, remove #[cfg(stage1)]s from arc::unwrap functions+tests 2012-08-20 22:00:06 -04:00
Ben Blum
1aa50bba7c Add unwrap for std::arc ARC variants 2012-08-20 21:51:39 -04:00
Ben Blum
05accaa167 implement arc::unwrap and add exclusive_unwrap tests 2012-08-20 21:51:39 -04:00
Ben Blum
842db0b645 register new snapshots 2012-08-20 21:51:26 -04:00
Daniel Patterson
62ea688e50 core: adding option::or, a function to return the leftmost of two some() values or none if both are none 2012-08-20 21:29:41 -04:00
Ben Blum
c321cdbac6 Disallow deconstructing destructing structs (fixes #3147) 2012-08-20 20:05:00 -04:00
Ben Blum
849d5649ef remove fixme in check::alt 2012-08-20 18:25:05 -04:00
Ben Blum
aa3df17445 Re-allow pattern-matching structs (#3215) 2012-08-20 18:22:11 -04:00
Kevin Cantu
77ef394d72 Remove deprecated modes from os.rs 2012-08-20 14:11:37 -07:00
Graydon Hoare
08441fca76 Add PosixPath to path2. Add path2 to core build. Add dot/dotdot-normalizing. 2012-08-20 13:59:47 -07:00
Vincent Belliard
076dab92f7 add syntax highlighting file for kate editor 2012-08-20 22:51:02 +02:00
Michael Sullivan
a14485b7fd Do vtable resolution for *all* method calls, not just statically resolved ones... Closes #3221. 2012-08-20 13:36:15 -07:00
Michael Sullivan
1300be58d7 xfail crate-method-reexport-grrrrrrr.rs, which has been burning the build for days 2012-08-20 13:22:51 -07:00
Graydon Hoare
3e52a0acde Initial sketch of path2 module, starting with WindowsPath. 2012-08-17 19:12:08 -07:00
Patrick Walton
19b8598c09 rustc: Implement "priv" for simple items.
Inherited privacy doesn't work yet. This probably requires a snapshot since
it won't be backwards compatible. Additionally, two errors are printed instead
of one. For this reason the test is XFAIL'd.
2012-08-17 17:56:47 -07:00
Niko Matsakis
fcb055ef7e forgotten tests for #3217, #2977, #3067 2012-08-17 17:31:03 -07:00
Niko Matsakis
4b1d83ca64 fix deprecated-mode lint warning to consider dtors 2012-08-17 17:31:03 -07:00
Michael Sullivan
457e78cd53 Make by-val explicit self actually work. Closes #2585. 2012-08-17 17:14:32 -07:00
Michael Sullivan
2b457c2654 Pretty print explicit self types. Work on #2585. 2012-08-17 17:14:32 -07:00
Michael Sullivan
a65366d548 Parse explicit self in more places. Work on #2585. 2012-08-17 17:14:32 -07:00
Patrick Walton
0845579130 test: Fix unused variable warning in repeat-to-run-dtor-twice.rs.
Hopefully puts out burning tinderbox.
2012-08-17 17:11:25 -07:00
Patrick Walton
6b1a9af173 rustc: Remove all the code dealing with named implementations in resolve3 2012-08-17 17:09:53 -07:00
Patrick Walton
26aaf08ff4 rustc: Remove the impl map 2012-08-17 16:53:07 -07:00
Patrick Walton
10c997a746 rustc: Get rid of the impl_map in the encoder 2012-08-17 16:38:07 -07:00
Patrick Walton
1ed94a5674 rustc: Prevent destructors from being run twice with the repeated vector syntax 2012-08-17 16:12:07 -07:00
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
Patrick Walton
69daeffddb rustc: Remove a bunch of unused metadata tags from common 2012-08-17 15:25:40 -07:00
Patrick Walton
f79006937a rustc: Remove tag_paths and all of the associated encoding 2012-08-17 15:23:44 -07:00
Niko Matsakis
ea549e7a71 make borrowck more conservative around rvalues.
this will require more temporaries, but is probably less magical.
also, it means that borrowck matches trans better, so fewer crashes.
bonus.

Finally, stop warning about implicit copies when we are actually borrowing.

Also, one test (vec-res-add) stopped failing due to #2587, and hence I
added an xfail-test.

Fixes #3217, #2977, #3067
2012-08-17 15:14:13 -07:00
Patrick Walton
8f01343f01 rustc: Remove resolve_path 2012-08-17 15:07:14 -07:00
Patrick Walton
75d3e3c755 rustc: Remove a user of tag_paths.
This commit breaks the item-printing functionality. It will return in a faster
form.
2012-08-17 14:55:52 -07:00
Lindsey Kuper
eb834fdb81 Stop parsing iface. 2012-08-17 14:32:34 -07:00
Lindsey Kuper
0ace896d1f Remove a match check 2012-08-17 14:32:34 -07:00
Lindsey Kuper
2b3c86cb02 More and better debug messages for method typechecking 2012-08-17 14:32:34 -07:00
Patrick Walton
6f441e8fde rustc: Remove lookup_defs; unused. 2012-08-17 14:31:39 -07:00
Patrick Walton
578b7266f2 rustc: Encode reexports in the metadata and don't have each_path search tag_paths 2012-08-17 12:42:45 -07:00
Eric Holk
7bae3449ce Move select macro into another file, so it can be including in multiple tests.
Fixing long lines.
2012-08-17 12:39:51 -07:00
Eric Holk
9260b02daa Track spans better in the protocol compiler so we can get better error messages. 2012-08-17 12:39:51 -07:00
Ben Blum
89c2a9f4cf Forbid pattern-matching structs until the next snapshot (#3215) 2012-08-17 15:34:06 -04:00
Ben Blum
09cf5c1de4 Work around #3215/#3217 use-after-free in typeck::check::alt 2012-08-17 15:07:09 -04:00
Brian Anderson
5026ea0446 rustc: upcall_alloc_c_stack doesn't exist 2012-08-17 11:43:58 -07:00
Lindsey Kuper
280dfd2d29 Default methods with self-calls make it as far as trans. 2012-08-17 11:04:53 -07:00
Lindsey Kuper
3a5c7f52cc Change node_id to def_id in self_info. 2012-08-17 11:04:53 -07:00
Brian Anderson
3ab4b014cf Remove the class keyword 2012-08-17 10:13:45 -07:00
Patrick Walton
6d7b143036 libstd: Add a function to borrow a cell 2012-08-16 19:37:33 -07:00
Ben Blum
0e3825d38c Add option::get_ref 2012-08-16 21:07:55 -04:00
Ben Blum
a076c287de Fix issue-506.rs by adding a void-returning stub in the runtime (close #2957) 2012-08-16 21:07:55 -04:00
Ben Blum
f188d92dfe reduce stress constants in std::timer::tests 2012-08-16 21:07:55 -04:00
Eric Holk
5f57588887 Update the rock-paper-scissors example in the tutorial, and rename some types in core::pipes 2012-08-16 17:50:36 -07:00
Patrick Walton
b592d57311 libsyntax: Make include_bin! generate fixed-length vectors.
This is so that we don't generate 170,000-line LLVM functions in Servo.
2012-08-16 17:20:08 -07:00
Eric Holk
ca0607051a Fix compile errors in tutorial tests. 2012-08-16 16:46:20 -07:00
Eric Holk
8bbe70c207 Allocate less on empty reads in procsrv 2012-08-16 16:46:20 -07:00
Eric Holk
b2452896d1 Don't use move, because it is less safe than the unsafe move_it macro. 2012-08-16 16:46:20 -07:00
Eric Holk
942649a260 Make wait_many work on selectable types instead.
This should avoid allocation in many select paths.
2012-08-16 16:46:20 -07:00
Eric Holk
924e787119 Add std::comm with DuplexStream 2012-08-16 16:46:19 -07:00
Eric Holk
91622d0310 Make test suite terminate. 2012-08-16 16:26:08 -07:00
Brian Anderson
4e91f299a8 Merge pull request #3209 from mpenet/emacs-melpa
emacs rust-mode melpa readme update + improved autoloads
2012-08-16 16:10:49 -07:00
Patrick Walton
be4f9753e4 vim: "ref" and "static" are now keywords; highlight them as such 2012-08-16 15:44:07 -07:00
Graydon Hoare
64de480d46 Another attempt on class-attribute-1.rs. 2012-08-16 15:23:31 -07:00
Patrick Walton
2489baf82e libsyntax: Fix parsing of "loop unsafe".
It was getting misparsed as a label.
2012-08-16 15:19:47 -07:00
Graydon Hoare
b8845f0e25 Fix sub-breakage due to the changed error message. 2012-08-16 14:48:48 -07:00
Graydon Hoare
b28a22005b xfail-fast issue 3012-2 2012-08-16 14:44:34 -07:00
Graydon Hoare
1bac541e26 Attempt to get issue 3012 test working on win32. 2012-08-16 14:30:14 -07:00
Graydon Hoare
89fb03ae17 Xfail a struct-test I can't figure out how to make work. 2012-08-16 14:26:35 -07:00
Graydon Hoare
0492c75c43 s/class/struct/ in a failing test. 2012-08-16 14:26:10 -07:00
Graydon Hoare
45e7b89279 s/class/struct/ in an error message. 2012-08-16 14:25:53 -07:00
Max Penet
d0c57c39d2 add auto-mode-alist to autoloads 2012-08-16 10:06:18 +02:00
Max Penet
527c21c10e fix indentation 2012-08-16 08:34:48 +02:00
Max Penet
9b66be0137 add instructions for install from MELPA 2012-08-16 08:12:08 +02:00
Patrick Walton
bf0d4cc035 rustc: Allow external structs to be constructed. Closes #3012.
Embarrassing.
2012-08-15 21:03:40 -07:00
Tim Chevalier
ee2f0dd638 Test case for #3012 2012-08-15 18:34:41 -07:00
Patrick Walton
0d7bef4d48 libsyntax: Fix wrong pretty printing of private fields 2012-08-15 17:48:47 -07:00
Brian Anderson
9c6890f488 Convert more core types to camel case 2012-08-15 17:46:05 -07:00
Brian Anderson
af43613795 Long lines 2012-08-15 17:32:19 -07:00
Patrick Walton
a78030fbaa libsyntax: Parse tuple and unit structs 2012-08-15 17:11:13 -07:00
Brian Anderson
913f7bdae7 Modify pipec to not emit calls to some and none 2012-08-15 16:53:41 -07:00
Patrick Walton
e1b11aaf4b test: Fix parsing problem in map-types.rs 2012-08-15 16:51:51 -07:00
Patrick Walton
6319c8fbc4 rustc: Fix long lines and trailing whitespace 2012-08-15 16:25:42 -07:00
Patrick Walton
3038968f28 rustc: Perform some AST surgery to separate out class fields from methods 2012-08-15 16:20:35 -07:00
Patrick Walton
353c632c2d libsyntax: Parse nested enums 2012-08-15 16:20:34 -07:00
Patrick Walton
bdb206f285 rustc: Parse labeled loop, break, and again 2012-08-15 16:20:34 -07:00
Patrick Walton
d54db12155 rustc: Implement automatic reference for method receivers 2012-08-15 16:20:33 -07:00
Patrick Walton
fe9d07dda6 rustc: "as Trait" can now be written "as @Trait".
There is also code for ~Trait and &Trait, but these are currently (incorrectly)
synonyms for "as @Trait" and "as &Trait".
2012-08-15 16:20:31 -07:00
Brian Anderson
fd0f616ceb pipes: Rename the pipec-generated buffer to __Buffer
Conforms to camel case convention and hides it away so it doesn't conflict
with user code
2012-08-15 15:09:39 -07:00
Tim Chevalier
c0140f5c34 Reject empty matches on inhabited types
Closes #3096
2012-08-15 14:57:45 -07:00
Brian Anderson
a83414b6e8 lint: Allow leading underscores on camel case types 2012-08-15 14:54:33 -07:00
Brian Anderson
74c69e1053 Convert more core types to camel case 2012-08-15 14:14:20 -07:00
Eric Holk
8be0f665bc De-mode pipes 2012-08-15 13:58:08 -07:00
Tim Chevalier
51d98d9c7b Expunge match checks 2012-08-15 12:38:32 -07:00
Tim Chevalier
b0f289397c In tidy, screen out emacs backup files properly 2012-08-15 12:38:32 -07:00
Eric Holk
1e96099918 Add trace_macros! 2012-08-15 11:45:32 -07:00
Ben Blum
00ef5418d4 Change TLS key type to stack closure 2012-08-15 14:38:38 -04:00
Ben Blum
a57d3e0c15 Fix :broadcast_heavy in condvars. 2012-08-15 14:11:39 -04:00
Ben Blum
5f64d5df33 sync+arc - comments and attributes only 2012-08-15 13:55:43 -04:00
Ben Blum
f29f308c1c Enable multiple condvars on a single mutex_arc/rw_arc. 2012-08-15 13:22:50 -04:00
Ben Blum
d1fc7368c8 Enable multiple condvars on a single mutex/rwlock. 2012-08-15 13:22:50 -04:00
Ben Blum
f6f9333d5c Add cfail test arc-rw-state-shouldnt-escape 2012-08-15 13:22:50 -04:00
Ben Blum
fa8fc4b2b5 Add 1shot pipe chan_one/port_one type aliases and convert std::sync to use them 2012-08-15 13:22:50 -04:00
Ben Blum
a63f85ce8c add some inlines to shared mutable state 2012-08-15 13:22:50 -04:00
Tim Chevalier
6d68658b9a Make autoserialize not generate alt checks 2012-08-14 22:13:25 -07:00
Brian Anderson
9f01acacf9 xfail-fast issue-2472 2012-08-14 22:05:26 -07:00
Brian Anderson
83b42c806f Add test for #2472 2012-08-14 21:17:01 -07:00