Niko Matsakis
c7ef9c1edf
Fix two type inference failures uncovered by japaric corresponding to
...
UFCS form. In both cases the problems came about because we were
failing to process pending trait obligations. So change code to
process pending trait obligations before coercions to ensure maximum
type information is available (and also adjust shift to do something
similar).
Fixes #21245 .
2015-01-27 09:40:45 -05:00
Niko Matsakis
60db57e7ec
Cleanup the unification engine to use associated types, making the code much easier to read.
2015-01-27 09:40:45 -05:00
Niko Matsakis
984dc03df6
Do not cache ambiguous results unless there is at least some inference by-product within.
...
Fixes #19499 .
2015-01-22 15:37:03 -05:00
bors
8160fc4786
Auto merge of #21078 - js-ojus:master, r=steveklabnik
...
* Include an illustration of a function that accepts two closures.
2015-01-22 16:50:17 +00:00
bors
b7930d93d9
Auto merge of #21187 - oli-obk:feature/hint_struct_field_access, r=alexcrichton
...
rebase and fix of #19267
2015-01-22 12:09:02 +00:00
bors
5d2056a7e3
Auto merge of #21473 - alexcrichton:rollup, r=alexcrichton
2015-01-22 06:12:46 +00:00
Alex Crichton
90af72378d
Make diagnostic ordering deterministic
2015-01-21 20:25:19 -08:00
Alex Crichton
91cec5b57e
Revert "Use assume to inform the optimiser about refcount invariants"
...
This reverts commit a729a404945de10f99e2530a5c28952996532b29.
2015-01-21 13:55:14 -08:00
Alex Crichton
e6f85c2f78
Revert "Add assumptions that the pointer is non-null"
...
This reverts commit 9bbfd681c9fa47f462a89e8f5eedd3fa2a5de2e7.
2015-01-21 13:55:11 -08:00
Alex Crichton
ee253c918d
Revert "Add more explanation for why the assumes are there"
...
This reverts commit a7525bc4c8eb8507a5c248d29286e77133217cf3.
2015-01-21 13:55:04 -08:00
Alex Crichton
ecbee2e568
More test fixes and rebase conflicts
2015-01-21 12:49:02 -08:00
Alex Crichton
df1cddf20a
rollup merge of #20179 : eddyb/blind-items
...
Conflicts:
src/librustc/diagnostics.rs
src/librustdoc/clean/mod.rs
src/librustdoc/html/format.rs
src/libsyntax/parse/parser.rs
2015-01-21 11:56:00 -08:00
Alex Crichton
886c6f3534
rollup merge of #21258 : aturon/stab-3-index
...
Conflicts:
src/libcore/ops.rs
src/librustc_typeck/astconv.rs
src/libstd/io/mem.rs
src/libsyntax/parse/lexer/mod.rs
2015-01-21 11:53:49 -08:00
Alex Crichton
036d8c4189
rollup merge of #21252 : nikomatsakis/assoc-type-ice-hunt-take-2
...
Project region bounds out of the trait when deciding whether a projection type outlives a given regions.
Fixes #20890 .
Fixes #21150 .
2015-01-21 11:51:10 -08:00
Alex Crichton
f4df69a40a
rollup merge of #20642 : michaelwoerister/sane-source-locations-pt1
...
Conflicts:
src/librustc_trans/trans/debuginfo.rs
2015-01-21 11:50:34 -08:00
Niko Matsakis
626db33bc8
Move regression test for #20971 into run-fail, since it panics.
2015-01-21 14:35:41 -05:00
Aaron Turon
537889aa78
Fix type inference problems in tests and docs
2015-01-21 11:16:00 -08:00
Alex Crichton
4ffde0814f
Test fixes and rebase conflicts
2015-01-21 10:32:56 -08:00
Eduard Burtescu
2d17a33878
Deny imports after non-item statements.
2015-01-21 20:05:16 +02:00
Eduard Burtescu
5e07f5a792
Added another test with success local-item shadowing
2015-01-21 20:05:16 +02:00
Marvin Löbel
652445f714
Added some tests for arbitrary ordered view items
2015-01-21 20:05:16 +02:00
Eduard Burtescu
139346adb6
tests: fix fallout of merging ast::ViewItem into ast::Item.
2015-01-21 20:05:16 +02:00
Alex Crichton
9c999c797c
rollup merge of #21463 : sanxiyn/demut
2015-01-21 09:21:09 -08:00
Alex Crichton
79708e6ac2
rollup merge of #21462 : ahmedcharles/remove-ratchet
...
Conflicts:
src/libtest/lib.rs
2015-01-21 09:21:06 -08:00
Alex Crichton
87c3ee861e
rollup merge of #21457 : alexcrichton/issue-21436
...
Conflicts:
src/liballoc/boxed.rs
src/librustc/middle/traits/error_reporting.rs
src/libstd/sync/mpsc/mod.rs
2015-01-21 09:20:35 -08:00
Alex Crichton
e4b81d2512
rollup merge of #21447 : cmr/master
...
Closes #13971
2015-01-21 09:19:03 -08:00
Alex Crichton
efea645c94
rollup merge of #21446 : stepancheg/boxed-test
...
Conflicts:
src/liballoc/boxed.rs
2015-01-21 09:18:56 -08:00
Alex Crichton
907db6c834
rollup merge of #21444 : petrochenkov/null
...
Conflicts:
src/libstd/sync/mpsc/select.rs
2015-01-21 09:18:07 -08:00
Alex Crichton
b5de8333b3
rollup merge of #21441 : alexcrichton/rustc-opts
...
This is a bit of cleanup work to clean out some old deprecated flags and deprecated lint names from the compiler (they've been deprecated for quite awhile now).
This also notably puts `--pretty` behind the `-Z unstable-options` flag (where it was supposed to be previously).
2015-01-21 09:17:43 -08:00
Alex Crichton
27838075e0
rollup merge of #21438 : taralx/kill-racycell
...
Conflicts:
src/libstd/sync/mpsc/mod.rs
2015-01-21 09:17:40 -08:00
Alex Crichton
04a2255739
rollup merge of #21437 : FlaPer87/snapshot
...
r? @alexcrichton
2015-01-21 09:16:40 -08:00
Alex Crichton
de89dc883e
rollup merge of #21433 : alfie/typobook
...
Tiny fix
2015-01-21 09:16:38 -08:00
Alex Crichton
28937be16a
rollup merge of #21429 : GuillaumeGomez/macro-fix
...
This is little clean code of this PR: #21366 . I patched the same thing as aochagavia but too slowly obviously. This is a merge of our two codes, more "rust-like".
2015-01-21 09:16:37 -08:00
Alex Crichton
9ef5484783
rollup merge of #21423 : oli-obk/prettier_read_until
...
Conflicts:
src/libstd/io/mod.rs
2015-01-21 09:16:33 -08:00
Alex Crichton
bf77f6ca03
rollup merge of #21421 : huonw/one-suggestion-per-trait
...
This is clearly useless, the user doesn't need to know that they could
implement/import `foo::bar::Baz` 4 times.
Fixes #21405 .
2015-01-21 09:16:05 -08:00
Alex Crichton
e4e9a2771c
rollup merge of #21419 : Toby-S/patch-1
...
This just corrects a couple of typos in doc comments, and changes some to conform to the Rust guidelines.
2015-01-21 09:16:03 -08:00
Alex Crichton
229243c136
rollup merge of #21418 : Aatch/assume-refcount
...
The reference count can never be 0, unless we're about to drop the data
completely. Using the `assume` intrinsic allows us to inform LLVM about
that invariant, meaning it can avoid unnecessary drops.
---
Before and after IR: https://gist.github.com/Aatch/3786d20df2edaad6a0e8
Generated from the example in #13018
Fixes #13018
2015-01-21 09:16:01 -08:00
Alex Crichton
a6780d8c6b
rollup merge of #21414 : ejjeong/aarch64-linux-android
...
Initial support for aarch64-linux-android (#18920 )
- Add new configuration files
- Modify some options to compile & link succesfully.
(PIE, disable tls on jemalloc, modify some external function linkage, ..)
- To build, refer to https://github.com/rust-lang/rust/wiki/Doc-building-for-android .
(tested with platform=21 and toolchain=aarch64-linux-android-4.9)
2015-01-21 09:15:59 -08:00
Alex Crichton
81504f211c
rollup merge of #21413 : ahmedcharles/remove-test-features
...
This isn't the entire set of changes, there are more coming. #19145
2015-01-21 09:15:57 -08:00
Alex Crichton
5d82c0fabf
rollup merge of #21411 : P1start/help-tweaks
...
Conflicts:
src/librustc_typeck/check/closure.rs
2015-01-21 09:15:54 -08:00
Alex Crichton
1646707c6e
rollup merge of #21396 : japaric/no-parens-in-range
...
Conflicts:
src/libsyntax/parse/lexer/comments.rs
2015-01-21 09:15:15 -08:00
Alex Crichton
4b6a0563c6
rollup merge of #21394 : japaric/nonono
...
r? @FlaPer87
2015-01-21 09:14:42 -08:00
Alex Crichton
e4434f97af
rollup merge of #21393 : loganchien/fix-if-stmt-doc-title
...
Slightly change the title to make it look more consistent with other chapters (e.g. Match.)
2015-01-21 09:14:41 -08:00
Alex Crichton
9227db398a
rollup merge of #21392 : japaric/iter
...
closes #20953
closes #21361
---
In the future, we will likely derive these `impl`s via syntax extensions or using compiler magic (see #20617 ). For the time being we can use these manual `impl`s.
r? @aturon
cc @burntsushi @Kroisse
2015-01-21 09:14:39 -08:00
Alex Crichton
ad2c3e8dbc
rollup merge of #21391 : klutzy/rt-time-cleanup
...
They are unused since libtime is gone.
cc #20861
2015-01-21 09:14:37 -08:00
Alex Crichton
8b10733e7a
rollup merge of #21389 : retep998/timer
...
Fixes #20943 and adds a test for it
r? @alexcrichton
2015-01-21 09:14:36 -08:00
Alex Crichton
9173797be1
rollup merge of #21372 : arielb1/remove-the-box
...
It is not used anymore
2015-01-21 09:14:34 -08:00
Alex Crichton
5fda9bccad
rollup merge of #21368 : tomjakubowski/rustdoc-miscellany
...
Conflicts:
src/librustdoc/clean/mod.rs
2015-01-21 09:14:30 -08:00
Alex Crichton
ecc9dccc15
rollup merge of #21367 : steveklabnik/remove_gate
...
This gate was `Accepted`, so we shouldn't need these.
2015-01-21 09:13:57 -08:00
Alex Crichton
0447721247
rollup merge of #21354 : eddyb/vec-ufcs
...
There are two limitations to the macro that this addresses:
1. the expected type is not propagated, coercions don't trigger
2. references inside element expressions don't outlive the `Vec`
Both of these limitations are caused by the block in the
macro expansion, previously needed to trigger a coercion
from `Box<[T; N]>` to `Box<[T]>`, now possible with UFCS.
2015-01-21 09:13:55 -08:00