Commit Graph

48451 Commits

Author SHA1 Message Date
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
William Throwe
8d105dd852 Remove extra eval call in snap.mk 2015-11-13 15:15:51 -05:00
William Throwe
a0e10b249e Clean up some "suspicious" whitespace in target.mk
Emacs warns that makefile lines that start with spaces followed by
tabs are "suspicious".  These were harmless since they were
continuation lines, but getting rid of the warning is nice and this
version looks better.
2015-11-13 15:15:51 -05:00
William Throwe
876c33051a Escape some variables in llvm.mk
The important one is $(MAKE).  make handles recipes containing the
literal string "$(MAKE)" specially, so it is important to make sure it
isn't evaluated until recipe invocation time.
2015-11-13 15:15:51 -05:00
bors
3beb159809 Auto merge of #29759 - nagisa:mir-static, r=nikomatsakis
Fixes #29578

r? @nikomatsakis

My own observations are posted inline as comments.
2015-11-13 17:10:25 +00:00
Michael Woerister
9211883e54 MIR: Support closure up-vars in LvalueTy::projection_ty() 2015-11-13 17:01:37 +01:00
bors
ec8ae4b0eb Auto merge of #29811 - bluss:binary-heap-sift-less, r=gankro
BinaryHeap: Simplify sift down

Sift down was doing all too much work: it can stop directly when the
current element obeys the heap property in relation to its children.

In the old code, sift down didn't compare the element to sift down at
all, so it was maximally sifted down and relied on the sift up call to
put it in the correct location.

This should speed up heapify and .pop().

Also rename Hole::removed() to Hole::element()
2015-11-13 14:28:57 +00:00
Ulrik Sverdrup
81fcdd4af9 BinaryHeap: Simplify sift down
Sift down was doing all too much work: it can stop directly when the
current element obeys the heap property in relation to its children.

In the old code, sift down didn't compare the element to sift down at
all, so it was maximally sifted down and relied on the sift up call to
put it in the correct location.

This should speed up heapify and .pop().

Also rename Hole::removed() to Hole::element()
2015-11-13 13:13:23 +01:00
bors
b12a3582b1 Auto merge of #29761 - eefriedman:rename-nopanic, r=sanxiyn
Just `sed s/_nopanic//g`.  Hopefully makes libsyntax a bit more
readable.
2015-11-13 10:28:25 +00:00
bors
82251354ff Auto merge of #29800 - Detegr:master, r=nikomatsakis
Fundamental attribute was missing a feature gate test.
2015-11-13 08:41:50 +00:00
mitaa
02f9a49131 Store a valid name for the root module in metadata 2015-11-13 09:05:38 +01:00
bors
8a813e088c Auto merge of #29675 - bluss:merge-sort-fastpath, r=huonw
sort: Fast path for already sorted data

When merging two sorted blocks `left` and `right` if the last element in
`left` is <= the first in `right`, the blocks are already in sorted order.

Add this as an additional fast path by simply copying the whole left
block into the output and advancing the left pointer. The right block is
then treated the same way by the already present logic in the merge
loop.

Can reduce runtime of .sort() to less than 50% of the previous, if the data
was already perfectly sorted. Sorted data with a few swaps are also
sorted quicker than before. The overhead of one comparison per merge
seems to be negligible.
2015-11-13 01:44:58 +00:00