Commit Graph

48462 Commits

Author SHA1 Message Date
Jeffrey Seyfried
8a6187fde1 Refactor fields def_id and kind of Module into a single field def.
Change build_reduced_graph.rs so the fields def and module of NsDef are never both Some unless the NsDef represents a duplicate definition (see issue 26421).
2015-11-16 07:59:50 +00:00
bors
af5d9d65e7 Auto merge of #29845 - wthrowe:libdir, r=alexcrichton
This should get `--libdir` working as well as it was a couple of weeks ago.  (That is, it still rewrites paths incorrectly but it no longer fails during `make install`.)

Fixes gentoo/gentoo-rust#28 and gentoo/gentoo-rust#29.
2015-11-16 07:34:05 +00:00
bors
bf78389656 Auto merge of #29828 - sanxiyn:check-macro, r=nrc
Fix #27409.
2015-11-16 05:48:35 +00:00
Sebastian Hahn
2569747d18 Fix docs for HashSet::insert
insert() returns bool, but it was wrongly stated that if the set had the
key already present, that key would be returned (this was probably
copied from the HashMap docs). Also remove a reference to the
module-level documentation, which doesn't make sense as it doesn't give
any more context.
2015-11-16 06:32:58 +01:00
William Throwe
2b98d4fa55 Prepare to the correct directory with --libdir
This is to handle the case where CFG_LIBDIR is not a direct child of
CFG_PREFIX (in other words, where CFG_LIBDIR_RELATIVE has more than
one component).
2015-11-15 21:15:56 -05:00
Jeffrey Seyfried
ceda8383c9 Replace TypeNsDef and ValueNsDef with a more general type NsDef.
Define a newtype `NameBinding` for `Rc<RefCell<Option<NsDef>>>` and refactor `NameBindings` to be a `NameBinding` for each namespace.

Replace uses of `NameBindings` with `NameBinding` where only one binding is being used (in `NamespaceResult`, `Target,` etc).

Refactor away `resolve_definition_of_name_in_module` and `NameDefinition`.
2015-11-16 02:10:09 +00:00
bors
531b0539b7 Auto merge of #29788 - mitaa:module_name, r=arielb1
f357d55 caused a regression by retrieving item names from metadata, while previously using the last element of its absolute path (which in the case of a root module is the prefixed crate name since the stored path in metadata is empty)

fixes #28927
2015-11-15 23:58:26 +00:00
bors
b7845f93b5 Auto merge of #29387 - little-dude:rustfmt_librustc_resolve, r=nrc
Another rustfmt PR.
I ran rustfmt, then split the changes in multiple commits. First commit are the non-problematic changed. The others are all the little weirdness that caught my attention and could be discussed.
2015-11-15 22:07:12 +00:00
bors
19abaf807d Auto merge of #29836 - eefriedman:normalize-fn, r=arielb1
Fixes #23406.
Fixes #23958.
Fixes #29832.

CC @arielb1
2015-11-15 20:19:57 +00:00
bors
e4309c2db6 Auto merge of #29209 - arielb1:exponential-evaluation, r=nmatsakis
This fixes an exponential worst-case and also provides an additional 1% perf improvement.

r? @nikomatsakis
2015-11-15 18:26:18 +00:00
Ariel Ben-Yehuda
5982594c7e address review comments 2015-11-15 20:11:42 +02:00
Ariel Ben-Yehuda
f921982e60 fix pretty 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
4a16b562a8 fix remaining bugs 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
c998057770 add a global evaluation cache 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
8943d5a4a4 introduce evaluate_obligation_conservatively and use it 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
9c6d35d037 evaluate projections outside the outer probe in recursive evaluation 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
f37b4fe84f put projections in RFC447 order 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
a43533a1f5 simplify and reduce the size of EvaluationResult 2015-11-15 19:22:32 +02:00
bors
68f8122309 Auto merge of #29846 - JanLikar:#29823, r=steveklabnik
Fix #29823 by further explaining `&str` and pointing out the
difference between `&str` and `&'static str`.
2015-11-15 15:33:23 +00:00
Jan Likar
8bcbcae866 Fix a typo 2015-11-15 14:21:13 +01:00
Jan Likar
235aca56b5 Improve Strings chapter 2015-11-15 08:14:46 +01:00
Jan Likar
2b05fdb38a Update 'Strings' chapter of the book
Fix #29823 by further explaining `&str` and pointing out the
difference between `&str` and `&'static str`.
2015-11-15 06:55:30 +01:00
bors
768630be34 Auto merge of #29840 - gereeter:move-error-no-refcell, r=sanxiyn 2015-11-15 05:09:45 +00:00
arcnmx
d84d92bbdd AUTHORS and .mailmap cleanup 2015-11-14 23:11:20 -05:00
Jonathan S
d842a54b25 Stop using dynamic borrowing in MoveErrorCollector 2015-11-14 17:39:15 -06:00
Eli Friedman
82ab7079dd Consistently normalize fn types after erasing lifetimes.
Fixes #23406.
Fixes #23958.
Fixes #29832.
2015-11-14 14:47:49 -08:00
corentih
889b0e9ace rustfmt librustc_resolve 2015-11-14 16:21:30 +01:00
Vadim Petrochenkov
0bf67d616f docs: Clarify insertion behavior for maps 2015-11-14 15:05:20 +03:00
bors
4f5edf9e38 Auto merge of #29827 - Manishearth:diag-fn-field, r=eddyb
Fixes #29043
2015-11-14 12:02:20 +00:00
Seo Sanghyeon
cce7b8bd25 Check macro definition and do not expand invalid macros 2015-11-14 19:50:46 +09:00
Seo Sanghyeon
289b1b400a Reindent code 2015-11-14 19:18:32 +09:00
Seo Sanghyeon
fdadba5786 Store TokenTree in MacroRulesMacroExpander 2015-11-14 19:11:40 +09:00
Manish Goregaokar
2b3117cabf Fix diagnostics for calling indirect extern function pointer field
Fixes #29043
2015-11-14 15:34:17 +05:30
bors
968e8bf213 Auto merge of #29819 - mdinger:block-comments, r=steveklabnik
These really aren't documented well at all. The fact that doc comments end on a `*/` is really weird. I'm not sure if this is a mistake or not though.

None of the block comments are even mentioned in the [book nightly](http://doc.rust-lang.org/nightly/book/comments.html). Probably should be fixed.
2015-11-14 09:55:32 +00:00
bors
929ca3cb51 Auto merge of #29825 - KyleMayes:move-parse-panic, r=sanxiyn
Since these functions are only used by the AST quoting syntax extensions, they should be there instead of in the parser.
2015-11-14 08:03:14 +00:00
bors
45087f36ce Auto merge of #29817 - michaelwoerister:mir-ty-closure-fields, r=nikomatsakis
Add a missing case in LvalueTy::projection_ty() that popped up earlier today.

cc @rust-lang/compiler @nikomatsakis
2015-11-14 06:08:09 +00:00
bors
32202cca27 Auto merge of #29820 - wthrowe:makefile-fixes, r=brson
The first commit fixes the "jobserver unavailable" warning reported at gentoo/gentoo-rust#29.  I don't think the warning is related to the compilation failure shown there.

The remaining commits are minor fixes I noticed while investigating the jobserver warning.
2015-11-14 04:14:22 +00:00
Kyle Mayes
44d8abcc0f Move the panicking parse functions out of the parser
Since these functions are only used by the AST quoting syntax extensions, they should be there instead of in the parser.
2015-11-13 22:18:59 -05:00
bors
b6b17c9899 Auto merge of #29816 - nikomatsakis:incr-comp-visitor-refactor-hir-folder, r=nrc
Simplify HIR folder so that it only maps 1 item to 1 item, removing a bunch of asserts. This is a small refactoring on the way to my larger branch for moving items out of line in the tree and isolating attempts to access them.

r? @nrc
2015-11-14 02:05:05 +00:00
Niko Matsakis
37795baf5f simplify HIR folder so that it only maps 1 item to 1 item,
removing a bunch of asserts
2015-11-13 20:22:07 -05:00
bors
bdfb13518e Auto merge of #29781 - arielb1:mir-casts, r=nikomatsakis
I am also planning to implement casts, but I will probably do it in a separate PR.

r? @nikomatsakis
2015-11-14 00:10:28 +00:00
bors
c10569cac5 Auto merge of #29808 - aphistic:trait-debug-example-fix, r=steveklabnik
The example given for the manual implementation of the core::fmt::Debug trait doesn't match the output after the code sample. This updates it so it matches.
2015-11-13 22:12:51 +00:00
Ariel Ben-Yehuda
b9b45a0e96 address review comments 2015-11-14 00:09:36 +02:00
Ariel Ben-Yehuda
e82f5d4f54 implement coercions in MIR 2015-11-14 00:09:36 +02:00
mdinger
4e74f9b874 Document block doc comments better 2015-11-13 16:06:00 -05:00
Ariel Ben-Yehuda
cd1585ffb3 rustc_mir: don't miss the autoref when doing an unsize 2015-11-13 22:47:02 +02:00
Ariel Ben-Yehuda
c1bfd0ca6b implement lvalue_len
no tests - sorry
2015-11-13 22:47:02 +02:00
Ariel Ben-Yehuda
dcb64b52a2 represent fat ptr operands as 2 separate pointers
this does add some complexity, but to do otherwise would require unsized
lvalues to have their own allocas, which would be ugly.
2015-11-13 22:47:02 +02:00
Ariel Ben-Yehuda
602cf7ec3c MIR: implement fat raw pointer comparisons
The implementation itself only requires changes to trans, but
a few additional bugs concerning the handling of fat pointers
had to be fixed.
2015-11-13 22:47:02 +02:00
bors
5f2ffe0066 Auto merge of #29806 - tsion:compile-state-mir_map, r=nikomatsakis
This allows "rustc drop-in replacement" programs like https://github.com/nrc/stupid-stats to access the MIR map.

Working toy example: https://gist.github.com/tsion/288423389e32eb73bb39

r? @nikomatsakis
2015-11-13 20:18:18 +00:00