Commit Graph

13371 Commits

Author SHA1 Message Date
Brian Anderson
2a48aef0a8 Merge remote-tracking branch 'thestinger/hashmap' into deriving 2013-01-28 14:28:59 -08:00
Brian Anderson
c75cc0aa10 Merge remote-tracking branch 'codeblack08/treemap-ord' into deriving 2013-01-28 14:15:58 -08:00
Daniel Micay
8eaf0737b7 get rid of LinearMap's find_copy method 2013-01-28 16:06:09 -05:00
Niko Matsakis
e8f3690123 Change "// WARN" in tidy to "// NOTE" as requested by @catamorphism 2013-01-28 10:01:59 -08:00
Niko Matsakis
ef4c060594 Address @catamorphism's comments regarding docs 2013-01-28 10:01:59 -08:00
Niko Matsakis
4b15bfde81 loan: Track whether or not the current path owns the data being
lent.  We can be more liberal with respect to the scope of the loan
if we do not own the data being lent, which used to be impossible
but can now occur with `&mut`.

r=pcwalton
2013-01-28 10:01:59 -08:00
Niko Matsakis
b4acde3bf7 remove unused variable 2013-01-28 10:01:59 -08:00
Niko Matsakis
e6cadc4c03 remove hacks now that #3148 is fixed
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
2b67d88809 Rewrite the coercion code to be more readable, more sound, and to reborrow when
needed.

Regarding soundness: there was a subtle bug in how it was done before; see the
compile-fail test for an example.

Regarding reborrowing: reborrowing allows mut and const
slices/borrowed-pointers to be used with pure fns that expect immutable data.

r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
c07ae16de1 rename assign to coerce, remove some bad copies
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
05b6df49b8 Refactor to make inference code around unification more readable
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
923b3154c6 Do not try to encode/decode inference types, should not be necessary
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
19e015c44a Add to_str() definitions for some AST types
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
08bc19cbcd Remove bounds from type decl of smallintmap
r=brson
2013-01-28 10:01:55 -08:00
Niko Matsakis
a4ba11189d Extend region guarantor logic to handle autoref, which will
be necessary for reborrowing.

r=catamorphism
2013-01-28 10:00:41 -08:00
Niko Matsakis
8f14d43206 Make tidy actually work
r=catamorphism
2013-01-28 10:00:39 -08:00
Niko Matsakis
0004be9eca Detect "// WARN" in tidy and print out, well, a warning! Useful
for notating FIXME-style-situations that you want to be reminded
of before you commit.

r=catamorphism
2013-01-28 10:00:35 -08:00
Niko Matsakis
2e10ea58c3 Integrate vec patterns into borrow checker.
The tail portion of the pattern effectively borrows a vector,
but the borrow checker knew nothing about this.

r=catamorphism
2013-01-28 10:00:32 -08:00
Niko Matsakis
d4fd30c6ac Link the lifetimes of regions resulting from borrows of the
contents of other borrowed pointers to the lifetimes of the
borrowed value.  Fixes #3148.

r=catamorphism
2013-01-28 10:00:23 -08:00
Cody Schroeder
6a4d1855bf std: implement lexicographical Ord for TreeMap/TreeSet 2013-01-26 16:39:17 -08:00
Brian Anderson
83ca034d2e Merge remote-tracking branch 'brson/nocommupstream2' 2013-01-26 14:57:58 -08:00
Graydon Hoare
2372d2c6a8 register more-conservative linux snap 2013-01-26 14:11:34 -08:00
Tim Chevalier
bb183b93ea testsuite: Eliminate structural records from run-fail tests 2013-01-26 11:38:00 -08:00
Tim Chevalier
72b669df43 fuzzer: Remove structural records 2013-01-26 11:35:17 -08:00
Tim Chevalier
e910e601a6 cargo: remove structural records 2013-01-26 11:35:17 -08:00
Tim Chevalier
0743cec023 core: Remove structural records in library tests 2013-01-26 11:35:17 -08:00
Tim Chevalier
6d4907a742 testsuite: Eliminate uses of structural records from most run-pass tests
Except the pipes tests (that needs a snapshot)
2013-01-26 11:35:17 -08:00
Tim Chevalier
2c78169508 Merge pull request #4644 from martica/camel-case-option
Update more uses of Option, Some and None to camel case
2013-01-25 19:21:16 -08:00
Tim Chevalier
41adf9d8ef rustc: Make build_wrap_ret compile on Windows and unrevert ABI patch
This reverts commit 625405562c.
2013-01-25 18:57:01 -08:00
Tyler Bindon
c89afc3971 Fix Option camel case in a compile-fail test
The compile fails for another reason, that triggers before the the failure for non-camel cased option, some or none undefined errors.
2013-01-25 19:42:24 -07:00
Tyler Bindon
5a69cd75fb Fix Option camel case in commented portion of test 2013-01-25 19:42:24 -07:00
Tyler Bindon
633b40f75d Fix Option camel case in debug messages 2013-01-25 19:42:23 -07:00
Tyler Bindon
edc94f5c23 Fix Option camel case in xfailed/ignored tests 2013-01-25 19:42:23 -07:00
Tyler Bindon
3a5d2cdbf3 Fix Option camel case in comments 2013-01-25 19:42:23 -07:00
Tyler Bindon
7ff7489dc6 Fix Option camel case in error message 2013-01-25 19:42:23 -07:00
Brian Anderson
1ef83945c1 Merge remote-tracking branch 'brson/nocommupstream'
Conflicts:
	src/libcore/private.rs
	src/libcore/task/mod.rs
	src/libcore/task/spawn.rs
	src/libstd/net_tcp.rs
	src/libstd/uv_global_loop.rs
	src/libstd/uv_iotask.rs
2013-01-25 18:06:30 -08:00
Cody Schroeder
265b33c239 Declare std::arc::unwrap to be pub 2013-01-25 17:25:41 -08:00
Tim Chevalier
d753ad4ee4 testsuite: Fix Windows breakage harder in x86stdcall2 2013-01-25 16:58:04 -08:00
Graydon Hoare
d1f771ca34 test: fix x86stdcall test, r=burningtree. 2013-01-25 15:18:45 -08:00
Graydon Hoare
10eb620537 register snapshots 2013-01-25 15:06:07 -08:00
Tim Chevalier
d73077f82d Revert "Merge pull request #4633 from thestinger/treemap"
I was too hasty in merging -- this needs a snapshot.

This reverts commit 4a7e1ab374, reversing
changes made to e447521c1c.
2013-01-25 13:39:04 -08:00
Tim Chevalier
85a34c2898 Merge pull request #4625 from thestinger/container
more little container improvements
2013-01-25 11:57:51 -08:00
Daniel Micay
ca8f09a39e use mut function argument syntax in priority_queue 2013-01-25 13:28:43 -05:00
Daniel Micay
aff3db26aa use mutable function argument syntax in treemap 2013-01-25 10:55:18 -05:00
Brian Anderson
19aa88cd64 Stop using oldcomm in uv_global_loop tests 2013-01-24 23:55:11 -08:00
Tim Chevalier
e447521c1c std: Mop up Mac/Linux breakage 2013-01-24 22:02:09 -08:00
Tim Chevalier
e3daab7051 rustc: Address an XXX in middle::mode 2013-01-24 21:12:44 -08:00
Tim Chevalier
cff4f1476e rustc: Less copy 2013-01-24 20:42:21 -08:00
Tim Chevalier
2d33e308ac core: Mop up Windows breakage 2013-01-24 20:39:09 -08:00
Daniel Micay
e4337a9def remove remaining is_not_empty functions/methods 2013-01-24 23:24:57 -05:00
Tim Chevalier
d191e89d9e std: Fix broken Windows function 2013-01-24 20:12:07 -08:00
Daniel Micay
ec3f6e1932 implement Mutable trait for vec 2013-01-24 23:10:14 -05:00
Daniel Micay
d95c9cbe38 replace ConstVector trait with the Container trait 2013-01-24 23:02:44 -05:00
Tim Chevalier
b73d926a7e Merge pull request #4623 from thestinger/map
clean up LinearMap implementation
2013-01-24 19:17:23 -08:00
Daniel Micay
5c14b91bad clean up LinearMap implementation 2013-01-24 22:04:16 -05:00
Tim Chevalier
c3f4f654eb comments: Convert XXXes to FIXMEs 2013-01-24 18:49:51 -08:00
Tim Chevalier
9898485d4f Merge pull request #4613 from erickt/incoming
convert most of libcore and libstd to structs, work around tzset race
2013-01-24 17:24:45 -08:00
Tim Chevalier
f19e16881e syntax/rustc: Less copy 2013-01-24 16:45:20 -08:00
Erick Tryzelaar
11fd2beef9 Convert dlist records into structs 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
339618a7f9 convert io wrapper records into structs 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
9b17e7a777 Fix another typo 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
5085eb3c28 Convert pipes::Buffer into a struct 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
feab095d65 Convert core::pipes::{Packet,Chan_,Port_} into structs 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
90734a0d33 Convert extfmt::rt::Conv into a struct 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
79a9b23f4a Fix a typo 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
3c24419c19 time tests are racing on tzset, so merge the tests together.
This attempts to fix issue #3327.
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
e84576b888 convert most of libstd over to structs 2013-01-24 16:24:31 -08:00
Erick Tryzelaar
c15facb5c0 Remove "unsafe" from run::start_program 2013-01-24 16:24:30 -08:00
Erick Tryzelaar
e22d2bc4bc core: convert io::Res over to the Drop trait 2013-01-24 16:24:30 -08:00
Erick Tryzelaar
e4d4a1499b convert most of libcore records into structs 2013-01-24 16:24:30 -08:00
Erick Tryzelaar
6e2ae2c2c1 remove support for records from auto_encode 2013-01-24 16:24:30 -08:00
Tim Chevalier
5ff6beed60 rustc: One Less Bad Copy 2013-01-24 15:24:01 -08:00
John Clements
cb504f5404 unit test cases now pass, added a few to the interner 2013-01-24 14:20:57 -08:00
Patrick Walton
ad25e208ee librustc: Allow &mut to be loaned; allow self to be loaned; make &mut loanable to &. r=nmatsakis 2013-01-24 13:52:22 -08:00
Patrick Walton
bbbb80559c librustc: Disallow &mut loans from overlapping with any other loans 2013-01-24 13:52:21 -08:00
Patrick Walton
163b97b7bb librustc: Make C functions unsafe 2013-01-24 13:52:21 -08:00
Tim Chevalier
e43cff6657 Merge pull request #4616 from thestinger/priority_queue
remove is_not_empty method from PriorityQueue
2013-01-24 12:16:03 -08:00
Tim Chevalier
86b8bf37bb testsuite: Capitalize error message, unbreak build 2013-01-24 12:14:26 -08:00
Daniel Micay
d912d53ea9 remove is_not_empty method from PriorityQueue 2013-01-24 14:46:09 -05:00
Tim Chevalier
f3ec278e46 Merge pull request #4609 from sonwow/keyword-super
Make `super` a keyword
2013-01-24 11:17:52 -08:00
Tim Chevalier
25f9fa0359 Merge pull request #4608 from ILyoan/entry_android
export entry point for android
2013-01-24 11:16:05 -08:00
Tim Chevalier
ce954d117f Merge pull request #4611 from ILyoan/i4482_more
Remove unnecessary code
2013-01-24 11:15:13 -08:00
Tim Chevalier
8b2e7fc529 Merge pull request #4614 from thestinger/map
remove the old LinearMap constructor
2013-01-24 11:07:39 -08:00
Tim Chevalier
5b64c796a4 syntax/rustc: Improve error message for misuse of for loop
Print out a clearer error message when a `for` gets
used with the wrong type of iterator. Also fix spans on `for` loop
bodies, and suppress some more derived errors.

r=brson

Closes #3651
2013-01-24 11:04:54 -08:00
Daniel Micay
dbfe21edda document LinearMap::new 2013-01-24 13:36:55 -05:00
Daniel Micay
acde90dc1c remove old LinearMap constructor 2013-01-24 13:36:04 -05:00
ILyoan
ce85837557 remove unnecessary code 2013-01-24 19:03:49 +09:00
Youngsoo Son
4b2aa286d8 Make super a keyword 2013-01-24 16:07:04 +09:00
ILyoan
718a0fcdc1 export entry point for android 2013-01-24 15:07:14 +09:00
Graydon Hoare
07d0af151a core: fix windows breakage from 982cf90, r=burningtree. 2013-01-23 21:57:05 -08:00
Tim Chevalier
625405562c Revert "Merge pull request #4590 from crabtw/abi"
This reverts commit e4e5d986fa, reversing
changes made to ab8d77474c.
2013-01-23 20:38:20 -08:00
Tim Chevalier
a202dcccca Merge pull request #4594 from thestinger/map
more work on the map trait and TreeMap/LinearMap
2013-01-23 20:10:47 -08:00
Brian Anderson
0e29e21281 Revert back to the correct libuv revision 2013-01-23 19:23:31 -08:00
Tim Chevalier
982cf90dc6 Add a T_SIGNED type to uint template and eliminate step_down variant
Handle negative steps properly in range_step, fix order of arguments
in tests, and such.
2013-01-23 18:57:57 -08:00
Huon Wilson
1a6e1e2801 libcore: Correct behaviour of range_step for uint, tests for range* functions.
Splits the range_step function into the two directions (up, low -> high,
and down, high -> low) for the uint types, since there is no way to have
`step < 0` for a backwards range.
2013-01-23 18:56:41 -08:00
Huon Wilson
83e3c82d63 libcore: Add range_step and range_rev functions.
Closes #1817
2013-01-23 18:56:41 -08:00
Daniel Micay
bba5520d62 fix tests 2013-01-23 21:46:33 -05:00
Tim Chevalier
e4e5d986fa Merge pull request #4590 from crabtw/abi
add ABIInfo trait and separate x86-64 ABI implementation from foreign trans
2013-01-23 18:27:37 -08:00
Graydon Hoare
ab8d77474c test: fix benchmark unsafe blocks, r=burningtree. 2013-01-23 18:02:22 -08:00
John Clements
b635f1e63a fix trailing whitepace 2013-01-23 17:42:05 -08:00
Brian Anderson
bc0c5bb447 core: Stop using oldcomm 2013-01-23 17:35:35 -08:00
Brian Anderson
cc9ab2c033 Remove old comm-based weak task interface 2013-01-23 17:35:34 -08:00
Brian Anderson
a3e087cefa core: Remove private::chan_from_global_ptr. #3915 2013-01-23 17:35:34 -08:00
Brian Anderson
b9608fe423 std: Convert uv_global_loop to use pipes 2013-01-23 17:35:34 -08:00
Brian Anderson
fb9299346a core: Convert getenv/setenv to use a mutex
This much simpler implementation uses a global mutex
and eliminates the kernel environment channel.
2013-01-23 17:35:34 -08:00
Brian Anderson
8852279a9e core: Add new weak task API 2013-01-23 17:35:31 -08:00
Jyun-Yan You
b72d4d70a8 add ABIInfo trait and separate x86-64 ABI implementation from foreign trans
ABIInfo provides a method to translate the type of foreign function.
The foreign trans uses the method to get ABI-specific type and
uses the result to generate LLVM instructions for wrapper and shim functions.
2013-01-24 09:31:28 +08:00
John Clements
8716005581 cleaning up, adding tests 2013-01-23 17:31:12 -08:00
Daniel Micay
dbd65577ad fix core-map.rs benchmark 2013-01-23 19:51:49 -05:00
Graydon Hoare
721c174b6c test: fix issue 2526 'unsafe' block-keyword, r=burningtree. 2013-01-23 16:28:10 -08:00
Graydon Hoare
cb1f957f71 rustc: fix const enums to be packed, r=burningtree. 2013-01-23 16:25:57 -08:00
Patrick Walton
4f88ed36a1 librustc: Remove obsolete FIXME in item collection. rs=comments-only 2013-01-23 15:17:13 -08:00
Patrick Walton
d9c842847d libsyntax: Fix parsing of pub unsafe fn inside extern blocks. rs=bugfix 2013-01-23 15:14:12 -08:00
Daniel Micay
7f0fa143bc switch LinearMap to current constructor convention 2013-01-23 18:01:24 -05:00
Tim Chevalier
ab13beb05a Merge pull request #4587 from sanxiyn/divide-by-zero
Handle divide by zero in constant evaluator
2013-01-23 14:56:07 -08:00
Patrick Walton
154488df19 libsyntax: Implement assert as a macro (called fail_unless! on a transitionary basis to avoid conflicting with the keyword right now). r=brson 2013-01-23 14:46:24 -08:00
Patrick Walton
54b2cad8b3 libsyntax: Remove fn() unsafe { ... }. r=graydon 2013-01-23 14:41:08 -08:00
Tim Chevalier
10e8ae852d Merge pull request #4597 from Dretch/atvec-constructors
Oops - add the missing pubs!
2013-01-23 14:37:47 -08:00
gareth
ba2a3e8234 Oops - add the missing pubs! 2013-01-23 22:30:56 +00:00
Daniel Micay
591eefd740 improve hashmap/treemap documentation 2013-01-23 16:47:27 -05:00
Daniel Micay
988ce7180d rm unnecessary usage of 'unsafe' from hashmap 2013-01-23 16:39:09 -05:00
Tim Chevalier
d77f8d5554 Long lines 2013-01-23 13:34:22 -08:00
Daniel Micay
8bf9bae303 remove cautionary wording in the hashmap docstring
it's pretty solid, at least relative to most of the other modules
2013-01-23 16:29:38 -05:00
John Clements
0b958e74ac renaming to adhere to conventions 2013-01-23 11:46:19 -08:00
Patrick Walton
6dbfb5da0b libcore: Use LLVM intrinsics for floor; add a new Perlin noise benchmark. r=brson 2013-01-23 11:37:32 -08:00
Daniel Micay
dbeef1d657 remove the LinearMap get_copy method
This isn't simpler (or faster) than just doing the copy in the caller,
and it doesn't work for types that can be cloned but not copied.
2013-01-23 14:25:06 -05:00
Daniel Micay
45c9f6a099 add find method to the core::container::Map trait 2013-01-23 14:25:06 -05:00
Daniel Micay
ee0a8c68ab rename hashmap find_ref/get_ref -> find/get 2013-01-23 14:25:06 -05:00
Daniel Micay
203fcbd0f3 rename hashmap find/get -> find_copy/get_copy 2013-01-23 14:25:06 -05:00
Daniel Micay
bc96fe9c49 get rid of the std::map::Map LinearMap impl
This legacy trait needs to be dropped in order to migrate to
core::container::Map, which doesn't require @ and Copy, and will make
proper use of borrowed pointers.
2013-01-23 14:25:06 -05:00
Daniel Micay
b7ef28c33a rename send_map to hashmap
This makes the module much more discoverable, and is in line with the
'treemap' naming.
2013-01-23 14:25:01 -05:00
Patrick Walton
778aec998b libsyntax: Implement the + syntax for multiple trait bounds. r=tjc 2013-01-23 11:15:10 -08:00
Tim Chevalier
995ccc0d82 Merge pull request #4596 from Trinick/tomutrename
core: Rename to_mut and from_mut to cast_to_mut and cast_from_mut
2013-01-23 10:56:08 -08:00
Trinick
9dc8e96c5f core: Rename to_mut and from_mut to cast_to_mut and cast_from_mut 2013-01-23 10:09:45 +00:00
Tim Chevalier
54344c2468 testsuite: Add tests for mutable function arguments 2013-01-22 23:34:35 -08:00
Tim Chevalier
83ddb55e8f syntax: Pretty-print mut qualifiers on args 2013-01-22 23:34:35 -08:00
Tim Chevalier
a7eaa1f5e4 syntax: Allow closure args to be mutable 2013-01-22 23:34:34 -08:00
Seo Sanghyeon
800b8a759d Implement mut in arguments 2013-01-22 23:34:34 -08:00
Seo Sanghyeon
d10b5c725b Add is_mutbl field to def_arg 2013-01-22 23:34:34 -08:00
Seo Sanghyeon
4dd29dee57 Parse mut in arguments 2013-01-22 23:34:33 -08:00
Seo Sanghyeon
9a5d617092 Add is_mutbl field to arg 2013-01-22 23:34:33 -08:00
Tim Chevalier
dfa97c21a5 Merge pull request #4586 from thestinger/treemap
drop is_not_empty from TreeSet/TreeMap
2013-01-22 23:08:18 -08:00
Seo Sanghyeon
3ed39ce26f Handle divide by zero in constant evaluator 2013-01-23 15:07:00 +09:00
Graydon Hoare
93e969e356 std: un-ignore strptime test; fix bug introduced by 1a226f instead. 2013-01-22 21:42:24 -08:00
Graydon Hoare
2c870e4074 Merge pull request #4585 from thestinger/map
migrate LinearMap<T, ()> to LinearSet<T>
2013-01-22 19:52:39 -08:00
Daniel Micay
7eb8642aed drop is_not_empty from TreeSet/TreeMap 2013-01-22 22:36:29 -05:00
Daniel Micay
9cdcd9bff9 migrate gather_loans.rs to LinearSet 2013-01-22 22:10:04 -05:00
Daniel Micay
342cb602db migrate coherence.rs to LinearSet 2013-01-22 22:10:00 -05:00
Tim Chevalier
e31ebeadc1 std: Ignore time::tests::test_strptime, it's failing for some reason
I'll file an issue.
2013-01-22 19:09:21 -08:00
Daniel Micay
8cff5c22c3 migrate task/spawn.rs to LinearSet 2013-01-22 21:28:28 -05:00