Michael Sullivan
002bfd7966
Export information about used default methods instead of regenerating it. Closes #7862 .
2013-07-18 13:56:15 -07:00
Michael Sullivan
585e283769
Add provided method information to ty::Method. Get rid of ProvidedMethodSource.
2013-07-18 13:56:14 -07:00
Michael Sullivan
2ea61204f6
Get rid of resolve::MethodInfo. Closes #4946 .
2013-07-18 13:56:14 -07:00
Patrick Walton
99b33f7219
librustc: Remove all uses of "copy".
2013-07-17 14:57:51 -07:00
Patrick Walton
b4e674f6e6
librustc: Add a lint mode for unnecessary copy
and remove a bunch of them.
2013-07-17 14:56:42 -07:00
Alex Crichton
1ec06e0124
Remove the global 'vec::to_owned' function
2013-07-12 16:13:51 -04:00
James Miller
97c5a44d3e
De-share trait_ref
...
Also, makes the pretty-printer use & instead of @ as much as possible,
which will help with later changes, though in the interim has produced
some... interesting constructs.
2013-07-07 22:51:09 +12:00
bors
6fcd8bf567
auto merge of #7468 : cmr/rust/great_renaming, r=pcwalton
2013-06-30 01:19:38 -07:00
Alex Crichton
3bad7129eb
Remove mutability from unique boxes in the AST
2013-06-29 08:36:25 -07:00
Corey Richardson
71b1c6ab60
Warning cleanup
2013-06-29 11:20:04 -04:00
Corey Richardson
1662bd371c
Great renaming: propagate throughout the rest of the codebase
2013-06-29 11:20:02 -04:00
Patrick Walton
f25f466afe
librustc: Fix even *more* merge fallout!
2013-06-28 10:47:59 -04:00
Patrick Walton
3625781cfe
librustc: Fix more merge fallout.
2013-06-28 10:44:17 -04:00
Patrick Walton
e015bee286
Rewrite each_path to allow performance improvements in the future.
...
Instead of determining paths from the path tag, we iterate through
modules' children recursively in the metadata. This will allow for
lazy external module resolution.
2013-06-28 10:44:16 -04:00
bors
63afb8ccc8
auto merge of #7430 : huonw/rust/vec-kill, r=thestinger
2013-06-27 15:01:58 -07:00
Huon Wilson
29b0649a6a
Convert vec::{push, push_all, push_all_move} to methods.
2013-06-28 00:20:42 +10:00
Huon Wilson
d0512b1055
Convert vec::[mut_]slice to methods, remove vec::const_slice.
2013-06-27 22:36:09 +10:00
bors
a28f9ba526
auto merge of #7361 : brson/rust/incoming, r=brson
2013-06-27 01:04:33 -07:00
Brian Anderson
5d3ca4b843
Merge remote-tracking branch 'mozilla/master' into incoming
...
Conflicts:
src/librustc/middle/astencode.rs
src/librustc/middle/check_const.rs
2013-06-25 19:32:00 -07:00
Michael Sullivan
5e26808141
Get rid of terrible way for iterating over provided methods.
2013-06-25 10:17:33 -07:00
bors
b11346bb5d
auto merge of #7291 : alexcrichton/rust/static-mut, r=huonw
...
This adds both `static mut` items and `static mut` foreign items. This involved changing far less code than I thought it was going to, but the tests seem to pass and the variables seem functional.
I'm more than willing to write more tests, so suggestions are welcome!
Closes #553
2013-06-25 01:59:05 -07:00
James Miller
6ad31ffb53
Warning police
2013-06-25 17:13:52 +12:00
Brian Anderson
c06ee9f7a7
Merge remote-tracking branch 'cmr/various-cleanup' into incoming
2013-06-24 15:11:36 -07:00
Alex Crichton
1841b31c61
Add 'static mut' items to the language
2013-06-23 17:59:35 -07:00
Daniel Micay
d2e9912aea
vec: remove BaseIter implementation
...
I removed the `static-method-test.rs` test because it was heavily based
on `BaseIter` and there are plenty of other more complex uses of static
methods anyway.
2013-06-23 02:05:20 -04:00
Corey Richardson
116897fa6c
Remove ast::pure_fn
and all concept of pure
from the compiler
2013-06-21 18:10:56 -04:00
Michael Sullivan
1a8969f64b
Get cross crate default methods working.
...
This fixes the large number of problems that prevented cross crate
methods from ever working. It also fixes a couple lingering bugs with
polymorphic default methods and cleans up some of the code paths.
Closes #4102 . Closes #4103 .
2013-06-20 15:42:16 -07:00
Brian Anderson
7755018074
Revert "std: convert {vec,str}::to_owned to methods."
...
This fixes the strange random crashes in compile-fail tests.
This reverts commit 96cd61ad034cc9e88ab6a7845c3480dbc1ea62f3.
Conflicts:
src/librustc/driver/driver.rs
src/libstd/str.rs
src/libsyntax/ext/quote.rs
2013-06-13 19:06:47 -07:00
Huon Wilson
096f6f56a8
Use @str instead of @~str in libsyntax and librustc. Fixes #5048 .
...
This almost removes the StringRef wrapper, since all strings are
Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts
several things to be &'static str (the lint table and the intrinsics
table).
There are many instances of .to_managed(), unfortunately.
2013-06-13 10:20:52 +10:00
Huon Wilson
96cd61ad03
std: convert {vec,str}::to_owned to methods.
2013-06-12 12:21:03 +10:00
Philipp Brüschweiler
278b3beafe
decoder: better error message when failing to look up an id
2013-06-11 11:44:53 +02:00
Björn Steinbrink
2096d79626
Avoid unnecessary allocations in the metadata decoder
2013-06-08 03:27:48 +02:00
Björn Steinbrink
29e5aa0942
Remove some unnecessary closures
2013-06-08 03:24:47 +02:00
Björn Steinbrink
96798f5e05
tydecode: Accept a plain borrowed pointer to the data
2013-06-08 03:24:47 +02:00
Philipp Brüschweiler
9b3743938d
rustc::metadata::decoder: cleanup and slightly speed up each_path
2013-06-07 10:00:48 +02:00
Michael Sullivan
8bbf83b62a
Clean up a handful of build warnings.
2013-06-06 12:14:41 -07:00
John Clements
04a691a511
token_to_ident takes argument by reference
2013-06-05 12:01:38 -07:00
John Clements
3203595471
interner just uses uints, not idents with syntax context
2013-06-05 12:01:38 -07:00
Seo Sanghyeon
8f80323f09
Remove unnecessary allocations flagged by lint
2013-05-28 03:14:44 +09:00
Patrick Walton
18df18c817
libstd: Fix merge fallout.
2013-05-22 21:57:11 -07:00
Patrick Walton
c532e033c9
librustc: Change std
to extra
throughout libsyntax and librustc
2013-05-22 21:57:08 -07:00
Patrick Walton
f3723cf7c4
libextra: Rename the actual metadata names of libcore to libstd and libstd to libextra
2013-05-22 21:57:07 -07:00
Patrick Walton
565942b145
librustc: Fix privacy checking for cross-crate variants
2013-05-22 21:57:03 -07:00
Alex Crichton
82fa0018c8
Remove all unnecessary allocations (as flagged by lint)
2013-05-20 16:10:40 -05:00
Brian Anderson
66319b0278
Register snapshots
2013-05-19 23:34:32 -07:00
Corey Richardson
cc57ca012a
Use assert_eq! rather than assert! where possible
2013-05-19 08:16:02 -04:00
Tim Chevalier
65b7903ba3
rustc: Change ty::get_impl_traits to return an option instead of a vec
...
Impls can implement either zero or one traits; this has been true
more or less since we removed classes. So I got rid of the comments
saying "we should support multiple traits" and changed the code to
make it clear that we don't. This is just cleanup, and doesn't break
any existing tests.
2013-05-16 15:54:51 -07:00
bors
4e82610099
auto merge of #6487 : recrack/rust/vec_len, r=thestinger
...
Rename vec::len(var) to var.len()
```
libcore, libfuzzer, librustc, librustdoc, libstd, libsyntax
test/auxiliary
test/bench
test/run-pass
```
2013-05-15 07:38:07 -07:00
Erick Tryzelaar
729708d112
rustc: rename ty::method to ty::Method and add ctor
2013-05-14 20:10:46 -07:00
Erick Tryzelaar
18f6a51d0a
rustc: rename ast::self_ty and related fields to explicit_self
2013-05-14 20:10:46 -07:00