Commit Graph

51995 Commits

Author SHA1 Message Date
Niko Matsakis 9d00deee96 add span/scope-id to terminator 2016-03-23 16:42:52 -04:00
Niko Matsakis 3a16f57fbb extend Terminator into a struct so it can have additional fields 2016-03-23 16:42:52 -04:00
Niko Matsakis e752d4cde3 track the innermost scope for every stmt 2016-03-23 16:37:48 -04:00
Niko Matsakis 323d7f4e98 record a scope for each `VarDecl` 2016-03-23 16:37:48 -04:00
Niko Matsakis 464c02e336 integrate scopes into MIR 2016-03-23 16:37:48 -04:00
bors 98f0a9128f Auto merge of #32454 - eddyb:rollup, r=eddyb
Rollup of 11 pull requests

- Successful merges: #32404, #32420, #32423, #32425, #32429, #32430, #32431, #32434, #32437, #32441, #32443
- Failed merges:
2016-03-23 12:33:04 -07:00
Tim Neumann 7027521daa add naked function tracking issue # to feature gate definition 2016-03-23 17:14:19 +01:00
Eduard-Mihai Burtescu 2e9b40f576 Rollup merge of #32443 - tclfs:patch-8, r=steveklabnik
Docs: Change "statements" to "expressions" on `match`

I apt to use `expressions` over `statements`, because `match` is a expression in essence, though it can become a statement when followed a semicolon.
2016-03-23 17:59:16 +02:00
Eduard-Mihai Burtescu 7f2612e66c Rollup merge of #32441 - tshepang:doc-primitive, r=steveklabnik
doc: small char improvements
2016-03-23 17:59:16 +02:00
Eduard-Mihai Burtescu 3fd144db0d Rollup merge of #32437 - eddyb:orbital-msvc, r=alexcrichton
Annotate run-pass/backtrace with #[rustc_no_mir] on MSVC.

Fixes #32384 by not using MIR on MSVC for the functions in the path of the backtrace.
This is the known blocker for the MSVC MIR builder, hopefully the only one overall.
r? @alexcrichton Confirmed to work on a nightly, by @retep998.
2016-03-23 17:59:16 +02:00
Eduard-Mihai Burtescu 2acad9c17e Rollup merge of #32434 - mitaa:rdoc-no-inline, r=alexcrichton
rustdoc: Consider `doc(no_inline)` in crate-local inlining

Imports with `doc(no_inline)` will not be inlined, even when `doc(inline)` is present.

fixes #32343

r? @alexcrichton
2016-03-23 17:59:16 +02:00
Eduard-Mihai Burtescu d7bf3d3284 Rollup merge of #32431 - nicholasf:tweak/improve-expression, r=steveklabnik
Simplifying some of the phrasing explaining lifetime elision

Just simplifying some of the language expressing what kind of inference Rust can and can't do on function signatures.
2016-03-23 17:59:15 +02:00
Eduard-Mihai Burtescu 12e54bba21 Rollup merge of #32430 - sanxiyn:const-trans, r=arielb1
Fix const trans

Fix #30615.

The idea was that when there are N autoderefs, first do N-1 derefs and check for autoref. If there is autoref, done, if not, do one more deref. But when N is zero, doing one more deref is wrong.
2016-03-23 17:59:15 +02:00
Eduard-Mihai Burtescu c028b1c02c Rollup merge of #32429 - alexcrichton:scope-id-hton, r=aturon
std: Store flowinfo/scope_id in host byte order

Apparently these aren't supposed to be stored in network byte order, so doing so
ends up causing failures when it would otherwise succeed when stored in the host
byte order.

Closes #32424
2016-03-23 17:59:15 +02:00
Eduard-Mihai Burtescu 0c424f9825 Rollup merge of #32425 - ituxbag:master, r=alexcrichton
Added version 7.3* for Apple's clang compiler

The recent 7.3 clang version was missing.

Closes #32442
2016-03-23 17:59:15 +02:00
Eduard-Mihai Burtescu 46b2a99db3 Rollup merge of #32423 - mitaa:rdoc-vstruct-fields, r=alexcrichton
rustdoc: Omit `pub` for inlined variant-struct fields

fixes #32395

r? @alexcrichton
2016-03-23 17:59:15 +02:00
Eduard-Mihai Burtescu 6b4b65afad Rollup merge of #32420 - frewsxcv:regression-test-26997, r=alexcrichton
Add regression test for Issue 26997.

https://github.com/rust-lang/rust/issues/26997
2016-03-23 17:59:14 +02:00
Eduard-Mihai Burtescu 2de428e1a2 Rollup merge of #32404 - WiSaGaN:feature/osstring-implement-default, r=aturon
Implement Default trait for OsString/OsStr

Fixes #32385
2016-03-23 17:59:14 +02:00
bors b76f818cad Auto merge of #32390 - japaric:untry, r=pnkfelix
convert 99.9% of `try!`s to `?`s

The first commit is an automated conversion using the [untry] tool and the following command:

```
$ find -name '*.rs' -type f | xargs untry
```

at the root of the Rust repo.

[untry]: https://github.com/japaric/untry

cc @rust-lang/lang @alexcrichton @brson
2016-03-23 08:59:10 -07:00
Guillaume Gomez ca609cc674 Add code examples for libstd/time 2016-03-23 15:39:27 +01:00
Jorge Aparicio c063c5153f add back `&` that was deleted by mistake 2016-03-23 06:17:29 -05:00
bors 26cfc269a0 Auto merge of #32410 - Ticki:master, r=eddyb
Add support for naked functions

See https://github.com/rust-lang/rfcs/pull/1201#issuecomment-199442239

This PR adds `#[naked]` for marking naked functions.
2016-03-23 03:49:02 -07:00
bors d6af19b89c Auto merge of #32348 - brson:cargotest, r=alexcrichton
Introduce 'cargotest' and the check-cargotest buildstep

This is a new suite of tests that verifies that the compiler builds specific revisions of select crates from crates.io.

It does not run by default. It is intended that bors runs these tests against all PRs, and gates on them. In this way we will make it harder still to break important swaths of the ecosystem, even on nightly.

This is a very basic implementation intended for feedback. The biggest thing it probably should do but doesn't is use a lockfile for every project it builds.

r? @alexcrichton cc @rust-lang/lang @rust-lang/libs
2016-03-23 01:03:04 -07:00
Steven Fackler be87650f63 Add augmented assignment operator impls for time types 2016-03-22 23:28:22 -07:00
NODA, Kai 0950dc3d86 Remove ungrammatical dots from the error index.
They were probably meant as a shorthand for omitted code.

Part of #32446 but there should be a separate fix for the issue.

Signed-off-by: NODA, Kai <nodakai@gmail.com>
2016-03-23 13:56:09 +08:00
bors 8ba2ea5fad Auto merge of #32058 - pczarn:hashmap-initial-refactoring, r=apasel422
Basic refactoring of HashMap
2016-03-22 21:21:45 -07:00
Tang Chenglong ea9ae48662 Docs: Change "statements" to "expressions" on `match`
I apt to use `expressions` over `statements`, because `match` is a expression in essence, though it can become a statement when followed a semicolon.
2016-03-23 12:03:41 +08:00
Jorge Aparicio c548eda362 enable question_mark feature in rustc_borrowck 2016-03-22 22:04:10 -05:00
Jorge Aparicio 2628f3cc8f fix alignment 2016-03-22 22:03:54 -05:00
Jorge Aparicio bd71d11a8f break long line 2016-03-22 22:03:31 -05:00
Jorge Aparicio acbf386ab4 term: undo conversion of user defined try!s 2016-03-22 22:03:19 -05:00
Jorge Aparicio f88a1e6f21 std: undo conversion of user defined try!s 2016-03-22 22:03:08 -05:00
Jorge Aparicio aa7fe93d4a sprinkle feature gates here and there 2016-03-22 22:02:47 -05:00
Jorge Aparicio 0f02309e4b try! -> ?
Automated conversion using the untry tool [1] and the following command:

```
$ find -name '*.rs' -type f | xargs untry
```

at the root of the Rust repo.

[1]: https://github.com/japaric/untry
2016-03-22 22:01:37 -05:00
Eduard Burtescu 424fa432d4 Annotate run-pass/backtrace with #[rustc_no_mir] on MSVC. 2016-03-23 02:59:02 +02:00
bors 0dcc413e42 Auto merge of #32204 - alexcrichton:redesign-char-encoding-types, r=aturon
std: Change `encode_utf{8,16}` to return iterators

Currently these have non-traditional APIs which take a buffer and report how
much was filled in, but they're not necessarily ergonomic to use. Returning an
iterator which *also* exposes an underlying slice shouldn't result in any
performance loss as it's just a lazy version of the same implementation, and
it's also much more ergonomic!

cc #27784
2016-03-22 16:05:39 -07:00
Brian Anderson 3a790acf19 Introduce 'cargotest' and the check-cargotest buildstep
This is a new suite of tests that verifies that the compiler
builds specific revisions of select crates from crates.io.

It does not run by default. It is intended that buildbot
runs these tests against all PRs, and gate on them.
2016-03-22 21:46:21 +00:00
Nick Cameron 2731dc169c Error recovery in the tokeniser
Closes #31994
2016-03-23 09:26:32 +13:00
Nick Cameron 3ee841c335 Don't loop forever on error recovery with EOF
closes #31804
2016-03-23 09:26:32 +13:00
mitaa 4c71347e94 Consider `doc(no_inline)` in crate-local inlining 2016-03-22 21:11:00 +01:00
nicholasf 45c72d5f5b Simplifying some of the phrasing explaining lifetime elision 2016-03-23 05:00:27 +11:00
Florian Berger ccafdae9a1 Remove trailing whitespace at the end of lines 2016-03-22 19:31:39 +02:00
Alex Crichton 48d5fe9ec5 std: Change `encode_utf{8,16}` to return iterators
Currently these have non-traditional APIs which take a buffer and report how
much was filled in, but they're not necessarily ergonomic to use. Returning an
iterator which *also* exposes an underlying slice shouldn't result in any
performance loss as it's just a lazy version of the same implementation, and
it's also much more ergonomic!

cc #27784
2016-03-22 10:25:30 -07:00
Guillaume Gomez b3aa35e756 Add doc example to clone trait 2016-03-22 18:18:01 +01:00
Seo Sanghyeon 308dc55f78 Fix const trans
Const was dereferenced when autoderefs is zero.
2016-03-23 02:10:09 +09:00
bors e3f2dfdece Auto merge of #32156 - pnkfelix:borrowck-on-mir-move-analysis, r=nikomatsakis
Move analysis for MIR borrowck

This PR adds code for doing MIR-based gathering of the moves in a `fn` and the dataflow to determine where uninitialized locations flow to, analogous to how the same thing is done in `borrowck`.

It also adds a couple attributes to print out graphviz visualizations of the analyzed MIR that includes the dataflow analysis results.

cc @nikomatsakis
2016-03-22 10:00:12 -07:00
Felix S. Klock II 782c0cf4a2 Add rustbuild dependency from `rustc_borrowck` upon `rustc_mir` crate. 2016-03-22 18:09:57 +01:00
Alex Crichton 88506ce5cd std: Store flowinfo/scope_id in host byte order
Apparently these aren't supposed to be stored in network byte order, so doing so
ends up causing failures when it would otherwise succeed when stored in the host
byte order.

Closes #32424
2016-03-22 09:33:36 -07:00
bors c7bdfd4442 Auto merge of #32341 - frewsxcv:compiletest-enum, r=nikomatsakis
Use enum for message kind in compiletest harness.

None
2016-03-22 08:02:13 -07:00
Ticki 4869417b61 Add test for the feature gating of naked 2016-03-22 15:00:26 +01:00