Commit graph

18618 commits

Author SHA1 Message Date
bors
96f6f29477 auto merge of #6891 : luqmana/rust/unit-struct-drop, r=catamorphism 2013-06-01 20:16:39 -07:00
Luqman Aden
101e3872fe Mark run-pass/unit-like-struct-drop-run.rs as xfast-fail. 2013-06-01 22:35:55 -04:00
bors
fc5debd8fd auto merge of #6807 : catamorphism/rust/rustpkg-extern-mod, r=catamorphism
r? @graydon Addresses #5681
2013-06-01 19:22:42 -07:00
Tim Chevalier
60126e9365 testsuite: Add an xfailed test case for the new extern mod syntax 2013-06-01 18:48:07 -07:00
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
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
Luqman Aden
64759c9f25 librustc: Have destructor run for unit-like structs. 2013-06-01 17:41:07 -04:00
Erick Tryzelaar
871684376f std: fix run tests when symlink is in the rust checkout path 2013-06-01 10:59:24 -07: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
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
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
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
bors
91a7073900 auto merge of #6857 : alexcrichton/rust/ebml-fixes, r=pcwalton
Also provides a method of serializing `char`.
2013-05-31 11:34:46 -07:00
Daniel Micay
042618da7b ptr: replace unnecessary unsafe code 2013-05-31 11:32:27 -04:00
bors
5028ac7396 auto merge of #6863 : huonw/rust/error-span, r=thestinger 2013-05-31 07:43:49 -07:00
Huon Wilson
4f92d3a11c rustc: adjust span for error message to not trim last letter 2013-06-01 00:39:02 +10:00
Daniel Micay
29aba8033a mv the raw pointer {swap,replace}_ptr to std::ptr 2013-05-31 10:31:26 -04:00
bors
2a30c000e8 auto merge of #6859 : thestinger/rust/optimize, r=thestinger
A workaround to get #6828 through.
2013-05-31 06:40:49 -07:00
James Miller
85e3c96236 Remove the slow bb-vectorize pass 2013-05-31 09:01:13 -04:00
bors
030f471f26 auto merge of #6853 : bblum/rust/sized, r=pcwalton
r? @nikomatsakis @pcwalton
2013-05-31 02:01:44 -07:00
bors
1dd5cd9731 auto merge of #6833 : fdr/rust/fix-warnings, r=Aatch
Fix a laundry list of warnings involving unused imports that glutted
up compilation output.  There are more, but there seems to be some
false positives (where 'remedy' appears to break the build), but this
particular set of fixes seems safe.
2013-05-31 00:43:45 -07:00
bors
6fcb483609 auto merge of #6848 : pcwalton/rust/issue-6352, r=pcwalton
r? @nikomatsakis
2013-05-30 23:31:48 -07:00
Alex Crichton
e86ac24e7b Implement unimplemented methods in ebml 2013-05-31 00:28:17 -05:00
Alex Crichton
a25c7045c1 Rewrite deriving(Decodable, Encodable)
Now it uses the generic deriving code and should in theory work in all cases.
2013-05-30 23:48:35 -05:00
bors
727274375e auto merge of #6845 : thestinger/rust/zsh-complete, r=graydon
I'll do the other commands and the `rust` wrapper later.

![sample completion](http://i.imgur.com/Y1IFCWi.png)
2013-05-30 21:34:47 -07:00
bors
f8cef24b5e auto merge of #6841 : steveklabnik/rust/range_docs, r=thestinger 2013-05-30 20:28:48 -07:00
bors
3869f7a99c auto merge of #6818 : nikomatsakis/rust/irrefut-patterns-refactoring, r=graydon
Various bug fixes and simplifications I did as part of a patch to fix `let` patterns.

r? @catamorphism
2013-05-30 19:04:52 -07:00
Alex Crichton
d01c7d0d42 Fix a bug with HashMap::consume 2013-05-30 20:45:14 -05:00
Alex Crichton
aed53f9bf0 Promote unreachable code to being a lint attribute 2013-05-30 20:45:13 -05:00
Ben Blum
5113f68a86 Add simple tests for Sized 2013-05-30 21:41:41 -04:00