3714 Commits

Author SHA1 Message Date
Patrick Walton
216e85fadf libcore: Move the numeric operations out of Num. r=brson
Sadly I could not use trait inheritance due to a type parameter substitution
bug.
2013-02-14 08:14:01 -08:00
Nick Desaulniers
4445b38df2 Remove die!, raplace invocations with fail! Issue pt 3 2013-02-13 17:01:32 -08:00
bors
c51ecc3223 auto merge of : pcwalton/rust/pretty-print-new-impl-syntax, r=pcwalton
r? @brson
2013-02-13 15:49:01 -08:00
Patrick Walton
754718c910 libsyntax: Pretty print using the new impl syntax. r=brson 2013-02-13 15:23:48 -08:00
bors
d5bf3b85d1 auto merge of : bstrie/rust/rimov3, r=pcwalton
This patch finishes removing inner vector mutability from the vast majority of the compiler. Exceptions:

* core::dvec: ideally this entire type will be able to be replaced by `~[]`, but Niko asked me to hold off on removing Dvecs until he makes some fixes to borrowed pointers. 
* liveness: liveness.rs is an impenetrable neutron star of deprecated semantics.
* compile-fail: I'm not sure if a lot of these tests are testing inner mutability or mutability in general. I figure that RIMOVing this folder should wait until this syntax is removed from the parser.

I also took this chance to remove many of the inner-mutability-related functions from core::vec, or as many uses of those functions as possible where still necessary. consume_mut and append_mut have been axed. cast_to_mut and cast_from_mut are still needed in a few places.
2013-02-13 15:09:07 -08:00
Graydon Hoare
e5aa399e0d rustc and std: teach about #[bench], modernize to use quote_expr! some. 2013-02-13 11:46:25 -08:00
Ben Striegel
e6c82c0375 RIMOV core::vec
Also remove as many uses as possible of vec::cast_to_mut and
cast_from_mut
2013-02-13 12:48:24 -05:00
Patrick Walton
e07623d70b librustc: Make monomorphic newtype structs work cross-crate 2013-02-13 09:47:20 -08:00
bors
6016214101 auto merge of : luqmana/rust/core_os_errors, r=graydon
Rewrote the last pull request () to not require on llvm for core.

Also fixes .
2013-02-12 21:27:22 -08:00
bors
27b3e01377 auto merge of : nikomatsakis/rust/issue-4856, r=nikomatsakis
and then adjust code to match. rs=unsound (will review post-landing)

rs=unsound
2013-02-12 20:40:19 -08:00
Niko Matsakis
ab2534974c Adjust borrow checker algorithm to address unsoundness,
and then adjust code to match. rs=unsound (will review post-landing)
2013-02-12 20:10:50 -08:00
bors
6727c6fb56 auto merge of : bjz/rust/incoming, r=catamorphism 2013-02-12 16:22:58 -08:00
bors
21a0d52a85 auto merge of : brson/rust/debuginfo, r=brson
Update of 
2013-02-12 13:30:07 -08:00
Graydon Hoare
1d82d8dd5d Revert "librustc: Make monomorphic newtype structs work cross-crate"
This reverts commit a8f039a085c7d7622899b7a4d1bebfe2d7621165.
2013-02-12 09:02:17 -08:00
Luqman Aden
70185fdcc2 rt: remove last_os_error and adjust tests. 2013-02-11 23:49:49 -05:00
Patrick Walton
a8f039a085 librustc: Make monomorphic newtype structs work cross-crate 2013-02-11 20:09:11 -08:00
Mikko Perttunen
ca030b4fc8 Update copyright years 2013-02-11 21:02:36 +02:00
Mikko Perttunen
d48bc263b5 Add test for using line! in a macro 2013-02-11 20:26:40 +02:00
Brendan Zabarauskas
48b2141b83 Add NumCast trait for generic numeric type casts 2013-02-11 12:33:05 +11:00
bors
9d7014e55c auto merge of : sethpink/rust/incoming, r=catamorphism
Fix for issue .
2013-02-09 18:37:02 -08:00
bors
d6442e97a5 auto merge of : thestinger/rust/oldmap, r=catamorphism 2013-02-09 15:02:51 -08:00
bors
d90abd5879 auto merge of : nikomatsakis/rust/issue-4821-bad-kind-computation, r=catamorphism
...ear

values to be copied.  Rewrite kind computation so that instead of directly
computing the kind it computes what kinds of values are present in the type,
and then derive kinds based on that. I find this easier to think about.

Fixes .

r? @catamorphism
2013-02-09 10:20:55 -08:00
Brian Leibig
6bfbdadd3b Add debug info tests 2013-02-09 13:09:19 -05:00
Seth Pink
8ebdb3d0ab Issue fix 2013-02-09 23:00:55 +10:00
Daniel Micay
a32c5c73ee oldmap: get rid of legacy _ref suffixes 2013-02-08 19:12:51 -05:00
Niko Matsakis
a380df809c Fix subtle error in caching during kind computation that could cause linear
values to be copied.  Rewrite kind computation so that instead of directly
computing the kind it computes what kinds of values are present in the type,
and then derive kinds based on that. I find this easier to think about.

Fixes .
2013-02-08 07:20:39 -08:00
bors
9b4fa844d8 auto merge of : thestinger/rust/iterator, r=graydon
This adds a `BaseIter` impl to `PriorityQueue`, `TreeMap`, `LinearMap` and `SmallIntMap`, and introduces a `ReverseIter` trait + implementations for `TreeMap`, `TreeSet` and `SmallIntMap`.
2013-02-07 21:37:59 -08:00
Daniel Micay
83270d2d79 rm each method from the Map trait
the map types should implement BaseIter instead
2013-02-07 22:04:35 -05:00
Jed Davis
e89d9853a6 Fix vector indexing in consts so it works with the enum vector const fix. 2013-02-07 18:31:12 -08:00
Jed Davis
de8dc02634 Make tuple-like structs containing enums work as constants. 2013-02-07 18:31:12 -08:00
Jed Davis
30aae3d910 Fix const enum type issues for structs. 2013-02-07 18:31:12 -08:00
Jed Davis
bbb1202528 Add a test for vstore, which already works 2013-02-07 18:31:08 -08:00
Jed Davis
29b99669dc Fix pointer consts to work with enums 2013-02-07 18:28:31 -08:00
Jed Davis
9ad616a102 Make vectors of enums work as constants 2013-02-07 18:28:11 -08:00
Jed Davis
6cdc283415 Also need to pad out "C-like" enum consts (paths as well as calls). 2013-02-07 17:57:02 -08:00
Jed Davis
877fc8d891 Pad out enum consts to the expected size; makes enums in tuples work.
This is wasted space if the const is just an enum, but optimizing that
case without breaking everything else is an issue that can be addressed
separately.
2013-02-07 17:57:02 -08:00
bors
2bc9655bc1 auto merge of : alexcrichton/rust/fix-unused-imports, r=graydon
The first commit message has most of the comments, but this pull request basically fixes a lot of issues surrounding the `unused_imports` warning/deny attribute.

Before this patch there were these problems:

1. Unused imports from `prelude.rs` were warned about with dummy spans, leading to a large number of confusing warnings.
2. Unused imports from `intrinsic.rs` were warned about with the file `<intrinsic>` which couldn't be forced to go away
3. Methods used from imported traites (like `io::WriterUtil`) resulted in an unused warning of the import even though it was used.
4. If one `use` statement imported N modules, M of which weren't used, M warning statements were issued.
5. If a glob import statement was used, each public export of the target module which wasn't used had a warning issued.

This patch deals with all these cases by doing:

1. Ignore unused imports from `prelude.rs` (indicated by a dummy span of 0)
2. Ignore unused imports from `intrinsic.rs` (test on the imported module name, is there a better way?)
3. Track when imported modules are used as candidates for methods, and just assume they're used. This may not end up being the actual case, but in theory not warning about an unused thing is worse than warning about a used thing.
4. Only issue one warning statement
5. Only issue one warning statement.

This is the first time I've edited the compiler itself, and I tried to keep up with the style around, but I may have missed something here or there...
2013-02-07 15:20:16 -08:00
Brian Anderson
6e9298ab88 Merge pull request from brson/exchange
Some work on freestanding Rust: foreign calls, exchange allocator
2013-02-07 13:46:10 -08:00
bors
a2817953d0 auto merge of : sanxiyn/rust/pretty-exact, r=graydon 2013-02-07 12:17:32 -08:00
Seo Sanghyeon
683e7a45a6 Change pretty-exact to pp-exact 2013-02-08 02:56:49 +09:00
bors
37a610a7d9 auto merge of : bjz/rust/incoming, r=pcwalton
This is useful for comparing more complex types that include floats.
2013-02-07 08:32:09 -08:00
Brendan Zabarauskas
7651100ec1 Fix broken tests 2013-02-08 02:41:23 +11:00
Niko Matsakis
a32498d846 Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
correct handling of moves for struct-record update.

Part of .  Fixes , , .
2013-02-07 05:53:30 -08:00
bors
d9a61f2a19 auto merge of : lifthrasiir/rust/float-literal, r=graydon
See  for details.
2013-02-07 00:14:14 -08:00
Patrick Walton
8280c81513 Merge pull request from catamorphism/issue-4523-testcase
auto: testsuite: Add test for 
2013-02-06 22:49:26 -08:00
Brian Anderson
e91040c704 Make foreign calls work outside of tasks. 2013-02-06 14:27:34 -08:00
Kang Seonghoon
2600bcc05d got rid of last empty lines 2013-02-06 17:43:14 +09:00
Kang Seonghoon
01cc9ecafe libsyntax: no binary/hex float literals 2013-02-06 16:49:24 +09:00
Patrick Walton
801f3225b2 oldmap: use &K instead of K in find and get
This reverts commit a4250a96fdf61142a9c8dbb6d37ae8435c99e396.

This is not the cause of the nonexhaustive-match failure.
2013-02-05 19:41:45 -08:00
Tim Chevalier
fd7b732e58 testsuite: Add test for 2013-02-05 17:30:35 -08:00