Commit graph

19845 commits

Author SHA1 Message Date
Oliver Schneider
adec1f94ce Tidy 2018-06-13 19:10:41 +02:00
Oliver Schneider
d4ea2c43f5 Various cleanups 2018-06-13 09:11:23 +02:00
Oliver Schneider
6e5e35458c Add a sanity test for nesting other items inside the existential type 2018-06-08 01:10:18 +02:00
Oliver Schneider
9b1bd94e37 Add existential type definitons 2018-06-07 17:33:53 +02:00
bors
c131bdcaff Auto merge of #50699 - Zoxc:blocking-queries, r=mw
Blocking Rayon queries

r? @michaelwoerister
2018-06-06 22:24:07 +00:00
bors
19d0b539aa Auto merge of #51263 - cramertj:futures-in-core, r=aturon
Add Future and task system to the standard library

This adds preliminary versions of the `std::future` and `std::task` modules in order to unblock development of async/await (https://github.com/rust-lang/rust/issues/50547). These shouldn't be considered as final forms of these libraries-- design questions about the libraries should be left on https://github.com/rust-lang/rfcs/pull/2418. Once that RFC (or a successor) is merged, these APIs will be adjusted as necessary.

r? @aturon
2018-06-06 19:42:19 +00:00
Taylor Cramer
a6055c8859 Add Future and task system to the standard library 2018-06-06 10:41:52 -07:00
bors
35aeecb8aa Auto merge of #51201 - estebank:dotdot, r=petrochenkov
Accept `..` in incorrect position to avoid further errors

We currently give a specific message when encountering a `..` anywhere
other than the end of a pattern. Modify the parser to accept it (while
still emitting the error) so that we don't also trigger "missing fields
in pattern" errors afterwards.

Add suggestions to either remove trailing `,` or moving the `..` to the
end.

Follow up to #49268.
2018-06-06 14:04:06 +00:00
John Kåre Alsaker
3571684d2c Create thread-pool 2018-06-06 15:25:18 +02:00
bors
9ac372568b Auto merge of #51316 - oli-obk:const_err, r=nikomatsakis
Refactor the const eval diagnostic API

* no longer report "const eval error" for things that have typeck errors
* errors and lints have saner spans and messages
* unified the diagnostic logic (const eval errors were slightly different depending on where they were reported, and there was also code duplication between the different reporters)
* report errors if an erroneous constant is used inside a promoted (fixes most of #50814)
2018-06-06 11:17:15 +00:00
bors
685faa2c3e Auto merge of #50844 - bjorn3:adhoc_compiller_calls, r=nrc
Add AdHocCalls and pass self to build_controller as Box<Self>

This makes it easier to write custom drivers.
2018-06-06 08:14:11 +00:00
Oliver Schneider
14d08e5371 Rebase fallout 2018-06-05 21:08:43 +02:00
Oliver Schneider
13a55e8801 Satisfy the untiring tidy 2018-06-05 20:49:47 +02:00
Oliver Schneider
78d48867da Properly report transitive errors 2018-06-05 20:49:47 +02:00
Oliver Schneider
9cb47de813 Referring to erroneous constants in promoteds must abort the build 2018-06-05 20:49:46 +02:00
Oliver Schneider
5c0d1355f2 Refactor the const eval diagnostic API 2018-06-05 20:49:46 +02:00
bjorn3
4f45b0611c Add AdHocCalls and pass self to build_controller as Box<Self> 2018-06-05 18:03:47 +02:00
Esteban Küber
d66d35bb91 Account for comma in suggestion 2018-06-05 08:48:55 -07:00
Esteban Küber
cbc70a0d68 Improve diagnostics for incorrect .. usage
When using `..` somewhere other than the end, parse the rest of the
pattern correctly while still emitting an error.

Add suggestions to either remove trailing `,` or moving the `..` to the
end.
2018-06-05 08:48:55 -07:00
Esteban Küber
8f4a5429c2 Accept .. in incorrect position to avoid further errors
We currently give a specific message when encountering a `..` anywhere
other than the end of a pattern. Modify the parser to accept it (while
still emitting the error) so that we don't also trigger "missing fields
in pattern" errors afterwards.
2018-06-05 08:48:54 -07:00
Mark Simulacrum
d011150696
Rollup merge of #51358 - barzamin:tests-39963, r=oli-obk
Tests that #39963 is fixed on MIR borrowck

As title.

fixes #39963
2018-06-05 08:33:51 -06:00
Mark Simulacrum
f3aeff080b
Rollup merge of #51343 - glaubitz:sparc64-tests, r=shepmaster
test: Ignore some problematic tests on sparc and sparc64

This updates the list of tests which can be safely ignored on sparc and sparc64.
2018-06-05 08:33:49 -06:00
Mark Simulacrum
54cb13d975
Rollup merge of #51308 - fanzier:const-prop-array-bounds-check, r=oli-obk
Check array indices in constant propagation

Previously, uses of constant weren't correctly propagated.
This fixes #48920.

r? @oli-obk because you suggested it
2018-06-05 08:33:48 -06:00
Mark Simulacrum
ac32f8151b
Rollup merge of #51256 - GuillaumeGomez:fix-rustdoc-crate-name, r=QuietMisdreavus
Fix crate-name option in rustdoc

Fixes #51229.

r? @QuietMisdreavus
2018-06-05 08:33:47 -06:00
bors
4122885e0f Auto merge of #51140 - GuillaumeGomez:doc-keyword, r=QuietMisdreavus
rustdoc: introduce the #[doc(keyword="")] attribute for documenting keywords

Part of #34601.

r? @QuietMisdreavus
2018-06-05 10:00:08 +00:00
Fabian Zaiser
96004899be Fix tests 2018-06-05 10:35:44 +02:00
Fabian Zaiser
29c43fea37 Fix tidy 2018-06-05 10:35:44 +02:00
Fabian Zaiser
589f9a87a8 Propagate uses of constants correctly so that array index checks work 2018-06-05 10:35:44 +02:00
bors
f9157f5b86 Auto merge of #51242 - ytausky:mut-ref, r=estebank
Suggest not mutably borrowing a mutable reference

This PR would (hopefully) solve #45392. I deviated a bit from @estebank's instructions since the error span only included the borrowed expression (e.g. the `b` in `&mut b`). I also didn't check the mutability of the local binding, since this whole case is concerned with an immutable local.

I can see two outstanding questions:
1. `note_immutability_blame` is called in two places, but I only have one test case. I think it covers the call in `report_bckerror`, but I'm not sure how to trigger the call from `report_aliasability_violation`.
2. There is one failing test, where the local binding is `self: &mut Self`. I'm not entirely sure what the correct output should be, but I think the new message should also apply. Unfortunately, since this parameter is parsed differently, its `let_span` covers both the pattern and the type, leading to a wrong suggestion text. I'm not sure how to correctly identify this case.
2018-06-05 01:47:13 +00:00
Erin Moon
c2825e134d tests that #39963 is fixed on MIR borrowck 2018-06-04 18:15:48 -05:00
bors
c610be92e2 Auto merge of #51307 - oli-obk:miri_fixes, r=eddyb
ScalarPairs are offset==0 field + other non-zst field

r? @eddyb

fixes #51300
2018-06-04 23:10:15 +00:00
John Paul Adrian Glaubitz
690240994f test: Ignore some problematic tests on sparc and sparc64 2018-06-04 23:59:40 +02:00
Guillaume Gomez
3cbcc5a22d Fix crate-name option in rustdoc 2018-06-04 23:05:14 +02:00
bors
cdc193db99 Auto merge of #51328 - oli-obk:no_union_promotion, r=eddyb
Do not promote union field accesses

r? @eddyb

technically a breaking change, but the code errored on the previous stable and produces UB + a warning on the current stable. I don't think we need a crater run in that case.
2018-06-04 11:29:38 +00:00
Guillaume Gomez
fb54a4afbc Add missing ui tests 2018-06-04 09:52:31 +02:00
Guillaume Gomez
402aa0ff15 Add even more tests 2018-06-04 09:52:31 +02:00
Guillaume Gomez
ded5c5a9ee Put doc keyword behind feature flag 2018-06-04 09:52:31 +02:00
Guillaume Gomez
ebee483e24 Add doc keyword support 2018-06-04 09:51:41 +02:00
bors
6232478d26 Auto merge of #51334 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 6 pull requests

Successful merges:

 - #51288 (Remove rustdoc-specific is_import field from HIR)
 - #51299 (const fn integer operations)
 - #51317 (Allow enabling incremental via config.toml)
 - #51323 (Generate br for all two target SwitchInts)
 - #51326 (Various minor slice iterator cleanups)
 - #51329 (Remove the unused `-Z trans-time-graph` flag.)

Failed merges:
2018-06-04 02:05:00 +00:00
Mark Simulacrum
b35c60e95e
Rollup merge of #51299 - faern:const-int-ops, r=oli-obk
const fn integer operations

A follow up to #51171
Fixes #51267

Makes a lot of the integer methods (`swap_bytes`, `count_ones` etc) `const fn`s. See #51267 for a discussion about why this is wanted and the solution used.
2018-06-03 18:18:03 -06:00
bors
01a9b30c33 Auto merge of #51111 - kennytm:intralink-resolution-failure-line-numbers, r=GuillaumeGomez
Point to the rustdoc attribute where intralink resolution failed.
2018-06-03 23:04:11 +00:00
Jorge Aparicio
8ad15dea3f turn run-make test into a run-make-fulldeps test 2018-06-03 19:57:49 +02:00
Oliver Schneider
eb31ae2e14 Deduplicate and fix a test 2018-06-03 19:37:50 +02:00
Oliver Schneider
9d613c27b7 Do not promote union field accesses 2018-06-03 19:06:31 +02:00
Jorge Aparicio
a174f2ab7c add more tests 2018-06-03 13:46:20 +02:00
Jorge Aparicio
da2ee5dcb2 reject fn panic_impl<T>(_: &PanicInfo) -> ! 2018-06-03 13:46:19 +02:00
Jorge Aparicio
e44ad61a2d implement #[panic_implementation] 2018-06-03 13:46:19 +02:00
kennytm
2886aca232
Show which line the link is coming from. 2018-06-03 18:25:04 +08:00
Linus Färnstrand
8b5f962762 Ignore i128 test on asmjs 2018-06-03 11:23:34 +02:00
kennytm
bc20eb6fbc
Point to the rustdoc attribute where intralink resolution failed. 2018-06-03 15:51:31 +08:00