Commit Graph

18888 Commits

Author SHA1 Message Date
Tim Chevalier
c120464be0 rustc/rusti/rustpkg: Infer packages from extern mod directives
This commit won't be quite as useful until I implement RUST_PATH and
until we change `extern mod` to take a general string instead of
an identifier (#5682 and #6407).

With that said, now if you're using rustpkg and a program contains:

extern mod foo;

rustpkg will attempt to search for `foo`, so that you don't have to
provide a -L directory explicitly. In addition, rustpkg will
actually try to build and install `foo`, unless it's already
installed (specifically, I tested that `extern mod extra;` would
not cause it to try to find source for `extra` and compile it
again).

This is as per #5681.

Incidentally, I changed some driver code to infer the link name
from the crate link_meta attributes. If that change isn't ok, say
something. Also, I changed the addl_lib_search_paths field in the
session options to be an @mut ~[Path] so that it can be modified
after expansion but before later phases.
2013-06-01 18:48:07 -07:00
Tim Chevalier
341678b815 rustc: Call str::is_empty 2013-06-01 18:48:07 -07:00
Tim Chevalier
760c71dc4f syntax: Add an each_view_item method on traits 2013-06-01 18:48:07 -07:00
Tim Chevalier
231aea6d6e rustc: Improve astconv error message 2013-06-01 18:48:07 -07:00
Nick Desaulniers
ecd08b989a Swap return value of pipes::init Fixes #4501 2013-06-01 18:19:16 -07:00
Kevin Ballard
75f1b7f96f Add new function hashmap.insert_or_update_with()
fn insert_or_update_with<'a>(&'a mut self,
                             k: K,
                             f: &fn(&K, &mut V)) -> &'a V
2013-06-01 17:38:24 -07:00
Kevin Ballard
7bc950c43c Refactor some hashmap code into a new private function mangle()
Add new private hashmap function

    fn mangle(&mut self,
              k: K,
              not_found: &fn(&K) -> V,
              found: &fn(&K, &mut V)) -> uint

Rewrite find_or_insert() and find_or_insert_with() on top of mangle().

Also take the opportunity to change the return type of find_or_insert()
and find_or_insert_with() to &'a mut V. This fixes #6394.
2013-06-01 17:37:57 -07:00
bors
63417daea4 auto merge of #6885 : erickt/rust/move-callee_id, r=catamorphism
The `callee_id` in `ast::expr` in only used in a couple expression variants. This moves the `callee_id` into those branches to make it more clear when its should be used.

Also, it fixes a bug in a std::run test when there is a symlink in the path rust where was checked out.
2013-06-01 17:13:39 -07:00
Luqman Aden
ddbd1aa883 Add test for #6861 2013-06-01 18:55:49 -04:00
bors
24e85ac82d auto merge of #6880 : thomaslee/rust/issue-6745, r=catamorphism
This fixes #6745, which itself relates to #4202. Slightly ham-fisted -- feel particularly funny about using the typeck phase to gather the base -> impl mapping, and the separate code paths for traits vs. "real" bases feels like it could be avoided -- but it seems to work.

As always, open to suggestions if there's a better way to accomplish what I'm trying to do.

@catamorphism r?
2013-06-01 15:46:40 -07:00
Erick Tryzelaar
23808efd11 syntax: move callee_id into the expr_ variants 2013-06-01 15:31:56 -07:00
bors
c35b7b5d6e auto merge of #6889 : luqmana/rust/unit-struct-drop, r=catamorphism
Fixes #6861
2013-06-01 14:52:42 -07:00
Corey Richardson
2d635179f0 Windows fixes 2013-06-01 17:50:26 -04:00
Luqman Aden
64759c9f25 librustc: Have destructor run for unit-like structs. 2013-06-01 17:41:07 -04:00
Jed Davis
c5d7a77a53 Fix vec::each* return values 2013-06-01 11:52:02 -07:00
Erick Tryzelaar
871684376f std: fix run tests when symlink is in the rust checkout path 2013-06-01 10:59:24 -07:00
Corey Richardson
023861cbd1 test fixes 2013-06-01 13:24:58 -04:00
bors
44af5064d0 auto merge of #6871 : pcwalton/rust/de-pub-impl, r=pcwalton 2013-06-01 09:37:39 -07:00
Patrick Walton
5fb254695b Remove all uses of pub impl. rs=style 2013-06-01 09:18:27 -07:00
Patrick Walton
1e52eede31 librustc: Don't require pub extern to make extern functions visible 2013-06-01 09:16:46 -07:00
Daniel Micay
933897c5f5 integrate jemalloc into the build 2013-06-01 11:31:44 -04:00
Daniel Micay
cff203ef76 add jemalloc to the runtime 2013-06-01 10:45:11 -04:00
bors
b8391ccea0 auto merge of #6881 : Aatch/rust/new-passes-2, r=thestinger
This is a better pipeline, both faster-running and produces faster code.

For some reason the `mergefunc` pass screws over resolve. I have no idea why though.
2013-06-01 06:13:40 -07:00
James Miller
6e075b6bb6 Better optimization pipeline 2013-06-02 00:08:38 +12:00
Tom Lee
42466949c2 Fix a small typo in a comment. 2013-06-01 04:24:31 -07:00
Tom Lee
f6fa5b91e2 Reexport static methods on structs & enums. 2013-06-01 04:14:58 -07:00
Young-il Choi
18bee38bbe compiletest: update for language change 2013-06-01 18:09:20 +09:00
Young-il Choi
89c5ad69f0 compiletest: runtest.rs tidy 2013-06-01 17:33:11 +09:00
Young-il Choi
8b24a96e17 compiletest: runtest.rs cleanup 2013-06-01 17:30:22 +09:00
Young-il Choi
c28c495414 etc: adb_run_wrapper.sh - fix to clean test (not produce Text File Busy) 2013-06-01 17:28:58 +09:00
Young-il Choi
0521d54ca1 etc: adb_run_wrapper argument change 2013-06-01 17:28:58 +09:00
Young-il Choi
fe1dc3280f compiletest: improve exit code handling with adb_run_wrapper 2013-06-01 17:28:58 +09:00
Young-il Choi
0ea8274fca etc: adb_run_wrapper added 2013-06-01 17:28:57 +09:00
Young-il Choi
5076bca1ba mk: test.mk modify to better support 2013-06-01 17:28:57 +09:00
bors
2bf053c0a3 auto merge of #6851 : alexcrichton/rust/bugfixes, r=pcwalton
Closes #5090 by using the excellent new generic deriving code

Promotes the unreachable code attribute to a lint attribute (instead of always being a warning)

Fixes some edge cases when creating hashmaps/hashsets and also when consuming them. (fixes #5998)
2013-05-31 23:10:36 -07:00
bors
c23843c447 auto merge of #6876 : cmr/rust/from_elem_opts, r=Aatch
borrowck 1.85x speedup on libstd
2013-05-31 22:04:38 -07:00
Corey Richardson
c299230f3d Optimize vec::from_elem with manual inlining (borrowck 1.85x speedup on libstd) 2013-06-01 00:55:19 -04:00
bors
b570536b38 auto merge of #6729 : bstrie/rust/ascstr, r=Aatch
Formerly this was a free function rather than a method. I've left it in place for now, although redefined it so that it just calls the method.
2013-05-31 19:34:41 -07:00
Corey Richardson
11f31b9684 Fix formatting for tidy 2013-05-31 20:02:56 -04:00
Corey Richardson
5311d59023 extra::term: better error handling and win32 compat 2013-05-31 20:02:49 -04:00
Corey Richardson
100ee84097 Only output colors if colors are supported (removes burden from caller) 2013-05-31 20:02:49 -04:00
Corey Richardson
1f27c6306d rustpkg borrowed pointers 2013-05-31 20:02:49 -04:00
Corey Richardson
7281166961 Use find_equiv in term 2013-05-31 20:02:49 -04:00
Corey Richardson
cf64324e19 extra::term overhaul 2013-05-31 20:02:49 -04:00
bors
e516d2333f auto merge of #6864 : thestinger/rust/bool, r=pcwalton 2013-05-31 16:58:42 -07:00
bors
55c23bc557 auto merge of #6862 : thestinger/rust/swap, r=bstrie
I don't like the `util` module in general, and `ptr` is a much better place for these.
2013-05-31 15:22:45 -07:00
Daniel Micay
ed93cc1987 fix tutorial lint warnings 2013-05-31 18:20:09 -04:00
Daniel Micay
1dc4ea004e bool: rm functions duplicating methods 2013-05-31 18:12:12 -04:00
Ben Striegel
c77d58fad8 Add as_c_str method on strings 2013-05-31 18:12:07 -04:00
Alex Crichton
e694e5fc59 xfail-fast the deriving test 2013-05-31 14:44:44 -06:00