Commit Graph

13760 Commits

Author SHA1 Message Date
Daniel Micay
66d5030763 implement BaseIter for SmallIntMap 2013-02-07 22:04:38 -05:00
Daniel Micay
e018244777 make Option's map and map_default use a lifetime 2013-02-07 22:04:38 -05:00
Daniel Micay
f6e0df6563 implement BaseIter for TreeMap 2013-02-07 22:04:37 -05: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
Tim Chevalier
9123c58526 core: Remove transitional code 2013-02-07 18:26:43 -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
Jed Davis
52cf61fd3b Fix const enums better: let them have the same alignment as an "opaque enum". 2013-02-07 17:57:02 -08:00
Daniel Micay
d903231f1e add a BaseIter implementation for PriorityQueue 2013-02-07 20:18:15 -05:00
Patrick Walton
472797b04a librustc: Lots of de-muting. rs=demuting 2013-02-07 16:17:39 -08:00
Viktor Dahl
fae8fc94dc Added a few missing 'pub's 2013-02-08 00:57:31 +01:00
bors
2bc9655bc1 auto merge of #4803 : 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
Viktor Dahl
b8943474dc Moved experimental compiler flags to -Z (#4740) 2013-02-08 00:18:23 +01:00
bors
4272765830 auto merge of #4791 : jbclements/rust/demodeing-and-deGCing, r=jbclements,brson
r?

It looks to me like the string_reader and tt_reader structs are
GC pointers only because they predate the modern borrow system.
This commit leaves the type names string_reader and tt_reader alone
(they still refer to GC-ed pointers), but internally the functions
now use borrowed pointers to refer to these structures. My guess
would be that it's possible to move this change outward and not
use the GCed pointers at all, but that change looks like it could be
a larger one. Actually, I'm delighted at how quick this change was.
2013-02-07 13:58:32 -08:00
Brian Anderson
6e9298ab88 Merge pull request #4619 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 #4832 : 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 #4831 : 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 #3678.  Fixes #2828, #3904, #4719.
2013-02-07 05:53:30 -08:00
bors
82d7396333 auto merge of #4823 : pcwalton/rust/enum-variant-discriminants, r=graydon
r? @graydon
2013-02-07 04:02:51 -08:00
Brendan Zabarauskas
17a14fe0e9 Merge branch 'incoming' of https://github.com/mozilla/rust into incoming 2013-02-07 22:55:23 +11:00
Brendan Zabarauskas
e4c7d8ec87 Add type parameter for epsilon value 2013-02-07 22:54:52 +11:00
bors
d9a61f2a19 auto merge of #4816 : lifthrasiir/rust/float-literal, r=graydon
See #4804 for details.
2013-02-07 00:14:14 -08:00
bors
951ad11d68 auto merge of #4815 : thestinger/rust/treemap, r=pcwalton
5283a8b reworks the TreeMap lazy iterator to use `&mut` again, which closes #4763. It gets the performance of the set methods back in the same ballpark that it was pre-INHTWAMA which is nice. These can be turned back into methods eventually.

e5b6334 removes the transitional smallintmap attributes which closes #4737.
2013-02-06 22:57:08 -08:00
Patrick Walton
8280c81513 Merge pull request #4811 from catamorphism/issue-4523-testcase
auto: testsuite: Add test for #4523
2013-02-06 22:49:26 -08:00
bors
2df473dc69 auto merge of #4801 : z0w0/rust/randomtrait, r=graydon
Also adds Rng::gen() for generically generating any type that implements the Rand trait. There's no way to generate things with a length (for e.g. strings or vectors), because I can't think of an elegant way to do that. Maybe have a RandLen trait that inherits Rand?

This can be used for a quickcheck mechanism I'm working on.
2013-02-06 21:04:37 -08:00
Matthew McPherrin
64fedfbc4e Fix sample program to compile in modern rust 2013-02-06 23:42:55 -05:00
bors
f13ea4121e auto merge of #4795 : catamorphism/rust/less-copy, r=catamorphism 2013-02-06 17:06:15 -08:00
Patrick Walton
cf6c3d96fb librustc: Attempt to put out burning tree by fixing translation of unary negation in boolean constants. rs=burningtree 2013-02-06 15:38:23 -08:00
Brendan Zabarauskas
b081f59495 Convert fuzzy_epsilon constant to upper case and make public 2013-02-07 10:25:41 +11:00
Patrick Walton
6d13c90256 librustc: Stop loading enum variant discriminants from memory 2013-02-06 15:08:33 -08:00
Daniel Micay
dab2f2fac0 remove old snapshot workaround from smallintmap 2013-02-06 17:37:56 -05:00
Daniel Micay
bdfb930f34 treemap: make map_next and set_next public 2013-02-06 17:37:56 -05:00
Daniel Micay
1694168783 update treemap FIXME 2013-02-06 17:37:56 -05:00
Daniel Micay
37e998696f get rid of implicit vec copies in treemap iterator
Each call to next() was doing a copy rather than a move. There's
currently no way for this to be a method that uses &mut self, so it has
to be a free function. Closes #4763.
2013-02-06 17:37:56 -05:00
Daniel Micay
5b6c26b4e4 treemap: get rid of some implicit vector copies 2013-02-06 17:37:56 -05:00
Daniel Micay
b91a51daca remove issue #3148 workarounds (no longer needed) 2013-02-06 17:37:56 -05:00
Patrick Walton
b34f871dda librustc: Change i1 to i8 for bools. Attempts to put out burning tree. rs=burningtree 2013-02-06 14:28:02 -08:00
Brian Anderson
e43c5bdc6b Rewrite the exchange allocator to work without an active scheduler. #4457 2013-02-06 14:27:36 -08:00
Brian Anderson
e91040c704 Make foreign calls work outside of tasks. #4451 2013-02-06 14:27:34 -08:00
Tim Chevalier
739e5ba369 rustc: Less copy 2013-02-06 12:09:11 -08:00
Brian Anderson
a8c8bfc7b5 rt: Add rust_try_get_current_task 2013-02-06 11:56:32 -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 a4250a96fd.

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 #4523 2013-02-05 17:30:35 -08:00
Graydon Hoare
a4250a96fd Revert "oldmap: use &K instead of K in find and get"
This reverts commit 8e643525d4.
2013-02-05 14:30:53 -08:00
Tim Chevalier
b9a7d77529 Register snapshots 2013-02-05 10:34:17 -08:00
Tim Chevalier
33e2c979ce Merge branch 'incoming' into removing 2013-02-05 10:33:35 -08:00
Tim Chevalier
2dcb3ed745 Merge 2013-02-05 10:33:28 -08:00
Alex Crichton
b368cb2341 Don't warn when imported traits are indeed used 2013-02-05 12:41:19 -05:00
Alex Crichton
6a4483ec7a Fix some bugs with -W unused-imports
1. Don't warn about anything not used in the prelude which is autmoatically
   injected, accomplished with a test that the span is equal to a dummy span.
2. Don't warn about unused imports from the injected intrinsic module,
   accomplished by testing against the name of the imported module
3. If anything is used from a glob import, don't warn about the glob import.
4. If an import imports more than one thing, and none of them are used, only
   issue a warning once

Also updated the unused-imports-warn test to have stricter requirements on
error messages.
2013-02-05 12:40:59 -05:00
bors
f1b05ece93 auto merge of #4796 : catamorphism/rust/derecord_std, r=catamorphism
See #4665
2013-02-05 07:04:15 -08:00
bors
e72c917f71 auto merge of #4793 : brson/rust/ignore_exclusive_unwrap_conflict, r=brson 2013-02-05 05:21:28 -08:00
Zack Corr
abd29e5ead core: Add a rand::Rand trait that is implemented by types that can be
randomly generated
Also adds Rng::gen() for generating any type that implements the Rand
trait
2013-02-05 22:56:40 +10:00
bors
6e0f05b059 auto merge of #4790 : pcwalton/rust/at-readers, r=pcwalton 2013-02-05 02:09:29 -08:00
bors
80cd485b49 auto merge of #4784 : alexcrichton/rust/bitv-clear-fix, r=graydon
I think that the inversion of `op(&mut w)` may have just been a mistake?
2013-02-04 22:39:53 -08:00
John Clements
61827a7020 lines too long 2013-02-04 21:00:17 -08:00
John Clements
b4138c1151 demodeing, un-gc-ing
It looks to me like the string_reader and tt_reader structs are
GC pointers only because they predate the modern borrow system.
This commit leaves the type names string_reader and tt_reader alone
(they still refer to GC-ed pointers), but internally the functions
now use borrowed pointers to refer to these structures. My guess
would be that it's possible to move this change outward and not
use the GCed pointers at all, but that change looks like it could be
a larger one. Actually, I'm delighted at how quick this change was.
2013-02-04 21:00:17 -08:00
Alex Crichton
406a73fde2 Fix the each_storage() iterator on big bit vectors 2013-02-04 22:59:33 -05:00
bors
52817092a9 auto merge of #4747 : sanxiyn/rust/integral-type, r=graydon
`ty::type_is_integral` returns `true` for `ty_bool`. This causes `-true` to compile, instead of resulting in a type error.
2013-02-04 19:59:06 -08:00
Tim Chevalier
2f46b763da core/syntax: Staging fixes 2013-02-04 17:42:19 -08:00
bors
bffe3088c7 auto merge of pull req #4777 from thestinger/rust, r=graydon 2013-02-04 17:24:40 -08:00
Tim Chevalier
73a7672b8d std: Stamp out structural records
See #4665
2013-02-04 16:48:52 -08:00
bors
3c6b9c2363 automated merge 2013-02-04 15:39:10 -08:00
Tim Chevalier
4e45d7111c syntax: Make the pipe compiler stop generating set_buffer_ calls 2013-02-04 15:18:53 -08:00
Tim Chevalier
e22aa029fb core/syntax: Add transitional code for pipes 2013-02-04 15:18:53 -08:00
Brian Anderson
8dfab498ef Ignore test exclusive_unwrap_conflict. #4689 2013-02-04 14:19:19 -08:00
bors
eb28ce01ed automated merge 2013-02-04 13:35:37 -08:00
Patrick Walton
7d5322cf09 libcore: Add @ to Readers 2013-02-04 13:33:17 -08:00
Brian Anderson
e08a805b30 Merge remote-tracking branch 'bstrie/rimov' into incoming
Conflicts:
	src/libsyntax/parse/parser.rs
	src/test/bench/graph500-bfs.rs
	src/test/bench/sudoku.rs
	src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs
	src/test/run-pass/empty-mutable-vec.rs
	src/test/run-pass/foreach-nested.rs
	src/test/run-pass/swap-2.rs
2013-02-04 11:58:30 -08:00
Brian Anderson
27e1ac5bb9 Merge pull request #4684 from erickt/incoming
core: convert ToStr::to_str to take explicit &self
2013-02-04 10:15:02 -08:00
Brian Anderson
750f246ad5 xfail-faist impl_privace_xc_2.rs 2013-02-04 09:56:50 -08:00
Patrick Walton
31f6534952 libsyntax: Add explicit self to ast_util. rs=explicit-selfing 2013-02-04 09:07:00 -08:00
Seo Sanghyeon
6d5428cb4e Let type_is_integral return false for bool type 2013-02-04 23:01:47 +09:00
ILyoan
6105f09cc1 Use x86-64 CABI for foreign function on arm target 2013-02-04 19:30:17 +09:00
Erick Tryzelaar
159568eab5 core: Flesh out the either traits 2013-02-03 21:55:51 -08:00
Erick Tryzelaar
f4ed7d9b6e core: export either::{Either,Left,Right} from the prelude 2013-02-03 21:55:51 -08:00
Erick Tryzelaar
31404364e1 core: sort each prelude.rs section 2013-02-03 21:55:51 -08:00
Erick Tryzelaar
9adfa59d8e core: convert ToStr::to_str to take explicit &self 2013-02-03 20:47:26 -08:00
Daniel Micay
8e643525d4 oldmap: use &K instead of K in find and get 2013-02-03 23:30:56 -05:00
Brian Anderson
9556629da2 xfail-fast run-pass/impl-privacy-xc-1.rs 2013-02-03 19:09:52 -08:00
Brian Anderson
3b396d17d6 Merge remote-tracking branch 'thestinger/old_map' into incoming
Conflicts:
	src/test/bench/core-map.rs
2013-02-03 17:56:49 -08:00
Patrick Walton
04eb9b4eb0 librustc: Fix bugs regarding to impl privacy. rs=bugfix 2013-02-03 17:50:27 -08:00
Marvin Löbel
eeb89c5012 Solved float, f32 and f64 to_str_radix() special value ambiguity.
Calling it on a special value now causes a failure, however `to_str_radix_special()` is provided which can be
used if those values are expected, and which returns a tupel to allow differentating them.
2013-02-03 15:37:25 -08:00
Marvin Löbel
974d5ac1e0 Fixed errors resulting from rebase. 2013-02-03 15:37:25 -08:00
Marvin Löbel
af4972f3ce Fixed fmt!, tests, doc-tests. 2013-02-03 15:37:25 -08:00
Marvin Löbel
98445d95d4 Removed wrong/wip doc 2013-02-03 15:37:25 -08:00
Marvin Löbel
a612e49a21 Converted the floating point types to the new string conversion functions.
Also fixed all conflicting calls of the old functions in the rest of the codebase.

The set of string conversion functions for each float type now consists of those items:
- to_str(), converts to number in base 10
- to_str_hex(), converts to number in base 16
- to_str_radix(), converts to number in given radix
- to_str_exact(), converts to number in base 10 with a exact number of trailing digits
- to_str_digits(), converts to number in base 10 with a maximum number of trailing digits
- implementations for to_str::ToStr and num::ToStrRadix
- from_str(), parses a string as number in base 10 including decimal exponent and special values
- from_str_hex(), parses a string as a number in base 16 including binary exponent and special values
- from_str_radix(), parses a string as a number in a given base excluding any exponent and special values
- implementations for from_str::FromStr and num::FromStrRadix
2013-02-03 15:37:24 -08:00
Marvin Löbel
7113fd150a Fixed tests still using old integer to_str
Fixed integer tests
2013-02-03 15:37:24 -08:00
Marvin Löbel
eb19462104 Converted libcore/uint-template.rs to the new string functions.
- Moved ToStr implementation of unsigned integers to uint-template.rs.
- Marked the `str()` function as deprecated.
- Forwarded all conversion functions to `core::num::to_str_common()`
  and `core::num::from_str_common()`.
- Fixed most places in the codebase where `to_str()` is being used.
- Added uint-template to_str and from_str overflow tests.
2013-02-03 15:37:24 -08:00
Marvin Löbel
26e72bf92b Converted libcore/int-template.rs to the new string functions.
- Moved ToStr implementation of integers to int-template.rs.
- Marked the `str()` function as deprecated.
- Forwarded all conversion functions to `core::num::to_str_common()`
  and `core::num::from_str_common()`.
- Fixed most places in the codebase where `to_str()` is being used.
- Added int-template to_str and from_str overflow tests.
2013-02-03 15:37:24 -08:00
Marvin Löbel
5b0335ec8e Added generic string <-> number conversion functions to core::num.
They unify the different implementations that exists in int-template.rs, uint-template.rs and float.rs into one pair of functions, which are also in principle usable for anything that implements the necessary numeric traits. Their usage is somewhat complex due to the large amount of arguments each one takes, but as they're not meant to be used directly that shouldn't be a problem.
2013-02-03 15:37:24 -08:00
Marvin Löbel
bb9c3ed876 Added some generic number functions to core::num
Also fixes previous commit not compiling due to not finding Option.
2013-02-03 15:37:24 -08:00
Marvin Löbel
05d83017ec Added char::from_digit(), char::is_digit_radix() and an argument check to char::to_digit(). 2013-02-03 15:37:24 -08:00
Marvin Löbel
d13b23f37e Added ToStrRadix and FromStrRadix traits 2013-02-03 15:37:24 -08:00
Marvin Löbel
96f0512a45 Added Round trait to core 2013-02-03 15:37:23 -08:00
Marvin Löbel
40f0b45f8e Moved all numeric modules in core into own directory
Reason: Better grouping of related modules, future-proving for a more extensive math library.
2013-02-03 15:37:23 -08:00
Daniel Micay
4fd9264875 oldmap: &K instead of K for the remove parameter 2013-02-03 18:20:59 -05:00
Daniel Micay
119c78073b oldmap: start conversion to explicit self 2013-02-03 15:55:11 -05:00
Daniel Micay
81b4f36d49 oldmap: remove legacy each method 2013-02-03 15:55:11 -05:00
Daniel Micay
2e496818a5 oldmap: get rid of the legacy each_key method 2013-02-03 15:55:10 -05:00
Daniel Micay
88d9d417a1 oldmap: remove the legacy each_value method 2013-02-03 15:55:10 -05:00
Daniel Micay
643479f2e5 oldmap: implement core::container::Mutable 2013-02-03 15:55:10 -05:00
Daniel Micay
1b4eb145f9 oldmap: implement core::container::Container 2013-02-03 15:55:10 -05:00
Daniel Micay
f4a27b2c7d oldmap: get rid of the legacy contains_key method 2013-02-03 15:55:10 -05:00
Daniel Micay
319eeb1c79 rename map -> oldmap and mark it as deprecated
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
Daniel Micay
df31373406 rm commented out std::map code from json module
it was replaced by LinearMap
2013-02-03 15:55:09 -05:00
Daniel Micay
ed45354a95 remove old StdMap trait
this has been replaced by core::container::Map
2013-02-03 15:55:09 -05:00
Daniel Micay
a06ef7424c cat modernization (cleanup of a run-pass test) 2013-02-03 15:55:09 -05:00
Daniel Micay
0a75aefad0 update compile-fail/map-types.rs to use hashmap 2013-02-03 15:55:09 -05:00
bors
2846e033d7 automated merge 2013-02-02 16:08:40 -08:00
Brian Anderson
8ebdb1a11b rt: Remove some unused upcalls 2013-02-01 21:58:33 -08:00
Brian Anderson
a50d1fdbda rt: Remove get_frame_glue_fns. Unused 2013-02-01 21:22:49 -08:00
Brian Anderson
02fbd5a164 rt: Remove circular_buffer 2013-02-01 21:22:49 -08:00
Brian Anderson
4f6516969e rt: Remove ports 2013-02-01 21:22:49 -08:00
Brian Anderson
542bf20414 core: Remove oldcomm 2013-02-01 21:22:49 -08:00
Brian Anderson
5633783f47 rustdoc: Convert to pipes 2013-02-01 21:22:49 -08:00
Brian Anderson
90f00a1c37 rustdoc: Remove stray mode 2013-02-01 21:22:49 -08:00
Brian Anderson
b80d711912 rustdoc: Remove another use of oldcomm 2013-02-01 21:22:49 -08:00
Brian Anderson
65f711a617 rustdoc: Fix some search-and-replace fallout 2013-02-01 21:22:49 -08:00
Brian Anderson
c6e8af446f rustdoc: Remove definitions of spawn_listener and spawn_conversation 2013-02-01 21:22:49 -08:00
Graydon Hoare
89c8ef792f check-fast fallout from removing export, r=burningtree 2013-02-01 19:43:17 -08:00
Daniel Micay
dffc3f82b2 vim: 'fail' is no longer a keyword 2013-02-01 19:32:03 -05:00
bors
b2c01b5892 automated merge 2013-02-01 16:26:35 -08:00
Brian Anderson
04f93be158 Fix breakage 2013-02-01 15:24:16 -08:00
Graydon Hoare
f6c84129b4 README.txt: Mention linenoise 2013-02-01 15:00:12 -08:00
Daniel Micay
6052d67474 vim: pub is just a plain old token keyword 2013-02-01 14:21:32 -05:00
Daniel Micay
00201c969d vim: use StorageClass for mut and const 2013-02-01 14:21:32 -05:00
Daniel Micay
1c3cca8a57 vim: 'be' is a reserved keyword 2013-02-01 14:21:32 -05:00
Daniel Micay
5b47c551b9 vim: unsafe:: namespaces were renamed to raw:: 2013-02-01 14:21:32 -05:00
Daniel Micay
405b868ae7 vim: add Self type 2013-02-01 14:21:25 -05:00
Brian Anderson
9dc6938292 Merge remote-tracking branch 'nickdesaulniers/issue4524' into nocomm1 2013-02-01 11:18:58 -08:00
Brian Anderson
a05bbb2013 Merge pull request #4720 from jbclements/syntactic-cleanup
Syntactic cleanup
2013-02-01 11:18:21 -08:00
Daniel Micay
0c1a345d01 vim: export is no longer a keyword 2013-02-01 13:20:03 -05:00
Brian Anderson
959e382377 Revert "DO NOT COMMIT"
This reverts commit 76679c1f91.
2013-02-01 00:17:56 -08:00
Brian Anderson
e30388f682 Long lines 2013-02-01 00:17:07 -08:00
Brian Anderson
c1a1722ca1 rustdoc: Convert page_pass to pipes 2013-02-01 00:16:14 -08:00
Nick Desaulniers
7868b6bf55 Remove fail keyword from lexer & parser and clean up remaining calls to
fail

Fix merge conflicts - Issue 4524
2013-02-01 00:15:42 -08:00
Brian Anderson
76679c1f91 DO NOT COMMIT 2013-02-01 00:00:17 -08:00
Brian Anderson
63c16e9e79 rustdoc: Convert astsrv to pipes 2013-02-01 00:00:17 -08:00
John Clements
a2839246be cleanup for make check 2013-01-31 23:05:12 -08:00
John Clements
4af7c643f2 more cleanup 2013-01-31 23:05:12 -08:00
John Clements
53688addaa test cases, cleanup 2013-01-31 23:05:12 -08:00
Nick Desaulniers
6fb4239bb3 Replace most invocations of fail keyword with die! macro 2013-01-31 22:25:12 -08:00
Daniel Micay
74b317ddc2 modernize smallintmap
* switch to explicit self
* get rid of the @ box
* replace DVec with ~[] (to get rid of the mutable field)
* implement the new container::Map trait
2013-01-31 23:22:51 -05:00
Daniel Micay
348d770fed copy oldsmallintmap.rs to smallintmap.rs 2013-01-31 23:13:56 -05:00
Daniel Micay
70855f5a07 move smallintmap to oldsmallintmap 2013-01-31 23:13:56 -05:00
Daniel Micay
9ba7114515 implement container::Mutable for SmallIntMap 2013-01-31 23:13:56 -05:00
Daniel Micay
aac91267e3 clean up SmallIntMap tests a bit 2013-01-31 23:13:56 -05:00
Daniel Micay
1057eea7ac drop the StdMap implementation from SmallIntMap 2013-01-31 23:13:55 -05:00
Daniel Micay
274e75cd82 implement container::Container for SmallIntMap 2013-01-31 23:13:55 -05:00
Nick Desaulniers
aee7929469 Replace most invocations of fail keyword with die! macro 2013-01-31 20:12:49 -08:00
Tim Chevalier
2db3175c76 rustc: Stamp out XXXes in middle (comments only) 2013-01-31 19:48:43 -08:00
Tim Chevalier
6f0bede97c testsuite: Remove call to set_buffer_, use set_buffer 2013-01-31 19:35:57 -08:00
Tim Chevalier
e6e1470f97 syntax: remove transitional code 2013-01-31 19:35:57 -08:00
Tim Chevalier
793f20ad32 std: remove transitional code 2013-01-31 19:35:57 -08:00
Tim Chevalier
a9587b8fcd core: Remove transitional code 2013-01-31 19:35:57 -08:00
Tim Chevalier
a71d004393 Don't generate set_buffer 2013-01-31 19:35:56 -08:00
Tim Chevalier
845b06542e messing around with pipes and stages 2013-01-31 19:35:56 -08:00
Tim Chevalier
e0281d991c core: Stamp out XXXes (comments only) 2013-01-31 19:34:46 -08:00
Brian Anderson
5aacf791e8 Merge pull request #4706 from sanxiyn/cleanup-fixme
Cleanup FIXMEs (#3488)
2013-01-31 17:00:27 -08:00
Brian Anderson
9673005afe Merge pull request #4703 from sanxiyn/remove-tps
Remove `tps` from `trans_enum_def` and `trans_struct_def`
2013-01-31 16:59:47 -08:00
Brian Anderson
c95c7c87b1 Merge pull request #4702 from aydinkim/patch-1
Delete unnecessary logs
2013-01-31 16:57:30 -08:00
Niko Matsakis
71478f9ce3 Workaround for #4717: pad contents of ast. rs=breakage 2013-01-31 16:56:12 -08:00
Niko Matsakis
0682ad0eb9 Finalize moves-based-on-type implementation.
Changes:

- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
  (though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
  (see details below)

Future work (I'll open bugs for these...):

- Improve error messages for moves that are due
  to bindings
- Add support for moving owned content like a.b.c
  to borrow check, test in trans (but I think it'll
  "just work")
- Proper fix for def-ids in params

Def ids in params:

Move captures into a map instead of recomputing.

This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining.  I am
not sure of my preferred fix for the larger bug yet.  This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
Seo Sanghyeon
7b268e8316 Cleanup FIXMEs (#3488) 2013-01-31 19:23:18 +09:00
Seo Sanghyeon
0d1058a62e Remove tps from trans_enum_def and trans_struct_def 2013-01-31 17:12:33 +09:00
Aydin Kim
6102d2abf2 Delete unnecessary logs 2013-01-31 15:47:44 +09:00
Patrick Walton
42b462e076 test: Attempt to fix Windows check-fast resolve bustage. rs=bustage 2013-01-30 21:57:23 -08:00
Patrick Walton
767d2c0a97 test: De-export sudoku. rs=burningtree 2013-01-30 21:46:47 -08:00
Ben Striegel
9330b2f7b9 Fix bench/sudoku, broken by deëxporting 2013-01-31 00:06:48 -05:00
Ben Striegel
b5f61fddde Repair RIMOV damage to benchmarks 2013-01-30 23:21:57 -05:00
Ben Striegel
df04bd6c6c Revert RIMOV to compile-fail tests 2013-01-30 23:21:57 -05:00
Ben Striegel
3e2ed18a4c RIMOV: fix issue-3563-3 test 2013-01-30 23:21:57 -05:00
Ben Striegel
bb642350e1 Repair RIMOV damage to run-pass 2013-01-30 23:21:57 -05:00
Ben Striegel
df36bfa758 Repair RIMOV damage to libstd tests 2013-01-30 23:21:57 -05:00
Ben Striegel
155f81d4a3 Revert RIMOV on librustc 2013-01-30 23:21:57 -05:00
Ben Striegel
13076eb3b0 Fix RIMOV damage to libsyntax 2013-01-30 23:21:16 -05:00
Ben Striegel
dafd759b20 Repair RIMOV damage to libstd 2013-01-30 23:21:16 -05:00
Ben Striegel
5e55fe8758 Revert RIMOV for libcore 2013-01-30 23:21:16 -05:00
Ben Striegel
cc3bb7b68a What, no syntax for mutable borrowed region pointers? 2013-01-30 23:20:32 -05:00
Ben Striegel
743c1c37e8 RIMOV, round 11
Last bit of mut removal, manually cleaning up outliers
2013-01-30 23:19:40 -05:00
Ben Striegel
0336a8633f RIMOV, round 10
find ./ -type f -name "*.rs" -exec sed -i "s/~\[mut /~\[/g" {} \;
2013-01-30 23:19:08 -05:00
Ben Striegel
3e95a13577 RIMOV, round 8
find ./ -type f -name "*.rs" -exec sed -i "s/  \([a-zA-Z_]\+\): ~\[mut /
mut \1: ~\[/g" {} \;
2013-01-30 23:19:08 -05:00
Ben Striegel
b4f47eca2a RIMOV, round 7
find ./ -type f -name "*.rs" -exec sed -i "s/ mut \([a-zA-Z_]\+\):
~\[mut / mut \1: ~\[/g" {} \;
2013-01-30 23:18:08 -05:00
Ben Striegel
1c9b5a83b2 RIMOV, round 6.
This gets rid of `mut` inside bare vectors. It's going to cause some
problems later.
2013-01-30 23:18:08 -05:00
Ben Striegel
610fd6bc93 Remove two FIXMEs from the long-dead issue 3226 2013-01-30 23:18:08 -05:00
Ben Striegel
f08af9a7a5 RIMOV, round 5
find ./ -type f -name "*.rs" -exec sed -i "s/\&\[mut /\&mut \[/g" {} \;
2013-01-30 23:18:08 -05:00
Ben Striegel
12e8151fb0 RIMOV, round 4
find ./ -type f -name "*.rs" -exec sed -i "s/let mut \(.*\)\[mut[
]\?/let mut \1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Ben Striegel
5577ce635f RIMOV, round 3
find ./ -type f -name "*.rs" -exec sed -i "s/let \(.*\)\[mut[ ]\?/let
mut \1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Ben Striegel
097c8aefea RIMOV, round 2
Running the same command, again:

find ./ -type f -name "*.rs" -exec sed -i "s/let mut\(.*\)\[mut[ ]\?/let
mut\1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Ben Striegel
a8ff91a630 Removing interior mut on vectors, round 1
find ./ -type f -name "*.rs" -exec sed -i "s/let mut\(.*\)\[mut[ ]\?/let
mut\1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Brian Anderson
7d8ae4403e rustdoc: deny(deprecated_self) 2013-01-30 19:56:37 -08:00
Patrick Walton
366812a5c3 librustc: Change self as a type to Self everywhere. r=brson 2013-01-30 19:52:45 -08:00
Brian Anderson
63b2b9c4a8 rustdoc: Remove structural records 2013-01-30 19:45:39 -08:00
Brian Anderson
baf301cd3e rustdoc: De-mode 2013-01-30 19:32:36 -08:00
Brian Anderson
16ea4b06ab rustdoc: Stop using a custom error handler. Closes #4698 2013-01-30 19:02:31 -08:00
Brian Anderson
409d8af3c4 rustdoc: deny(deprecated_mode) 2013-01-30 18:52:31 -08:00
Brian Anderson
1ee94529d9 rustdoc: Various bits of modernization 2013-01-30 18:20:45 -08:00
Patrick Walton
49472ec4c9 librustc: Remove legacy exports from the language. r=brson 2013-01-30 18:11:43 -08:00
Graydon Hoare
040035cd08 test: fix compile-fail tests somehow missed from local 'make check', r=burningtree. 2013-01-30 17:07:35 -08:00
Graydon Hoare
4030aaff20 rustc: make integral type inference transactional, close #3211, close #4401, close #3398. 2013-01-30 16:21:19 -08:00
Patrick Walton
592c2e1db4 test: Remove export from the tests, language, and libraries. rs=deexporting 2013-01-30 15:56:40 -08:00
Patrick Walton
2a65842c3a test: De-export aux, bench, compile-fail, and run-fail. rs=deexporting 2013-01-30 15:08:45 -08:00
Tim Chevalier
77f2aac389 Merge pull request #4687 from alexcrichton/hashmap-speedup
Use task local random when initializing LinearMap
2013-01-30 14:48:49 -08:00
Tim Chevalier
3e9c95e1f7 Merge pull request #4690 from codeblack08/test-round
Add test for float::round
2013-01-30 14:40:50 -08:00
Patrick Walton
d2e1bfb123 librustc: Long line. rs=burning 2013-01-30 14:30:42 -08:00
Patrick Walton
83ced67d0b librustdoc: De-export compiletest, combine-tests, libcargo, libfuzzer, and librustdoc. rs=deexporting 2013-01-30 14:30:42 -08:00
Tim Chevalier
d73bf62952 testsuite: Add xfailed test for #4542 2013-01-30 14:07:08 -08:00
Tim Chevalier
d5c6d94e7e Test case 2013-01-30 14:06:16 -08:00
Patrick Walton
ae50912875 librustc: De-export rustc. rs=deexporting 2013-01-30 13:44:24 -08:00
Patrick Walton
cc9999c609 librustc: De-record the type context. rs=derecordification 2013-01-30 13:14:58 -08:00
Patrick Walton
684aa2b7fd librustc: De-export ty. rs=deexporting 2013-01-30 12:18:08 -08:00
Patrick Walton
ba11e96289 librustc: De-export trans. rs=deexporting 2013-01-30 11:47:02 -08:00
Brian Anderson
7ad0716275 rustc: Convert to pipes 2013-01-30 01:52:01 -08:00
Cody Schroeder
b505504dc4 Add test for float::round 2013-01-30 01:28:04 -08:00
Brian Anderson
02e907b648 Remove oldcomm from the test suite 2013-01-30 00:48:10 -08:00
Alex Crichton
c75e59ac0f Use task local random when initializing maps 2013-01-30 02:49:58 -05:00
Patrick Walton
28ed9dc09e librustc: Long lines. rs=burning 2013-01-29 22:40:13 -08:00
Patrick Walton
0c1d9befb3 librustc: Speed up byte copy operations. r=nmatsakis 2013-01-29 22:15:06 -08:00
Patrick Walton
97c593a1ce librustc: Stop zeroing out allocas so much. Cuts 300K off librustc. 2013-01-29 22:14:08 -08:00
Patrick Walton
1b613ff9fc librustc: Strdup unique strings instead of copying in byte by byte. Shaves 2MB off librustc at -O0. 2013-01-29 22:14:08 -08:00
Patrick Walton
a47fa9b32f librustc: De-export some of trans. rs=deexporting 2013-01-29 22:14:08 -08:00
Tim Chevalier
4b8dfad5cd core tests: Add use vec; directive inside core::hashmap tests
This is probably to work around a bug.
2013-01-29 20:43:44 -08:00
Tim Chevalier
90cee95e51 xfail transitive inheritance test -- I guess this doesn't work yet 2013-01-29 20:33:22 -08:00
Tim Chevalier
a30ea013f5 Handle supertrait calls in default methods
Add a new method_super origin for supertrait methods. Also make
coherence create a table that maps pairs of trait IDs and self types
to impl IDs, so that it's possible to check a supertrait method
knowing only its index in its trait's methods (without knowing all
supertraits for a given trait).

r=nmatsakis and graydon -- with hope, we'll revamp all of this code as
per #4678, but for now this fixes the bug.

Closes #3979
2013-01-29 20:33:22 -08:00
Tim Chevalier
b927e48a26 Merge pull request #4682 from thestinger/treemap
Set trait improvements + minor treemap cleanup
2013-01-29 20:09:15 -08:00
Brian Anderson
da4b376897 std: Stop using oldcomm 2013-01-29 19:54:55 -08:00
Tim Chevalier
87acde8826 rustdoc: Remove structural records from tests. Fixes build breakage 2013-01-29 19:49:47 -08:00
Tim Chevalier
0aef28dd6d De-capitalize "note" to get rid of spurious tidy warnings 2013-01-29 19:26:55 -08:00
Daniel Micay
6b08683e15 add intersection and union to the Set trait 2013-01-29 22:24:00 -05:00
Daniel Micay
99eb4ddddd add difference and symmetric_difference to Set 2013-01-29 21:59:58 -05:00
Daniel Micay
42cafcee2c add is_disjoint to the Set trait 2013-01-29 21:30:55 -05:00
Daniel Micay
bfa9c9a00f add is_subset and is_superset to the Set trait 2013-01-29 21:30:55 -05:00
Daniel Micay
456af7a79d update comments documenting issue #4492 workaround 2013-01-29 21:30:55 -05:00
Daniel Micay
a388e2c1a4 treemap: rm a bit of redundant code 2013-01-29 21:30:55 -05:00
Patrick Walton
464ec27fd3 librustc: De-export metadata. rs=deexporting 2013-01-29 16:51:16 -08:00
Patrick Walton
bae4821851 librustc: De-export typeck. rs=deexporting 2013-01-29 16:26:16 -08:00
Patrick Walton
c25703ccb8 librustc: De-export front, borrowck, and typeck/check. rs=deexporting 2013-01-29 16:05:13 -08:00
Patrick Walton
2ea2628ca9 librustc: De-export back, lib, and util. rs=deexporting 2013-01-29 15:48:50 -08:00
Patrick Walton
3105bcfdc1 librustc: De-export driver. rs=deexport 2013-01-29 15:16:43 -08:00
Patrick Walton
b070590564 libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00