Commit Graph

61095 Commits

Author SHA1 Message Date
Wesley Wiser
c6cfa3c489 Extend Cell to work with non-Copy types
Part of #39264
2017-01-24 22:48:38 -05:00
Nick Cameron
659859c537 save-analysis: walk path expressions
This is actually kinda hard to hit, but it fixes missing the `foo` in `for _ in foo {}`.
2017-01-25 16:46:34 +13:00
bors
c0d0e68be4 Auto merge of #35712 - oli-obk:exclusive_range_patterns, r=nikomatsakis
exclusive range patterns

adds `..` patterns to the language under a feature gate (`exclusive_range_pattern`).

This allows turning

``` rust
match i {
    0...9 => {},
    10...19 => {},
    20...29 => {},
    _ => {}
}
```

into

``` rust
match i {
    0..10 => {},
    10..20 => {},
    20..30 => {},
    _ => {}
}
```
2017-01-25 02:17:33 +00:00
Ariel Ben-Yehuda
82a280597d end temporary lifetimes being extended by let X: &_ hints
Fixes #36082.
2017-01-25 02:49:24 +02:00
bors
83c2d95238 Auto merge of #39245 - alexcrichton:enable-platform, r=brson
rustbuild: Start building --enable-extended

This commit adds a new flag to the configure script,
`--enable-extended`, which is intended for specifying a desire to
compile the full suite of Rust tools such as Cargo, the RLS, etc. This
is also an indication that the build system should create combined
installers such as the pkg/exe/msi artifacts.

Currently the `--enable-extended` flag just indicates that combined
installers should be built, and Cargo is itself not compiled just yet
but rather only downloaded from its location. The intention here is to
quickly get to feature parity with the current release process and then
we can start improving it afterwards.

All new files in this PR inside `src/etc/installer` are copied from the
rust-packaging repository.

cc #38531
2017-01-24 23:34:35 +00:00
Michael Woerister
197f037652 incr.comp.: Make cross-crate tracking for incr. comp. opt-in. 2017-01-24 17:56:29 -05:00
Alex Crichton
f3dfcae202 rustbuild: Start building --enable-extended
This commit adds a new flag to the configure script,
`--enable-extended`, which is intended for specifying a desire to
compile the full suite of Rust tools such as Cargo, the RLS, etc. This
is also an indication that the build system should create combined
installers such as the pkg/exe/msi artifacts.

Currently the `--enable-extended` flag just indicates that combined
installers should be built, and Cargo is itself not compiled just yet
but rather only downloaded from its location. The intention here is to
quickly get to feature parity with the current release process and then
we can start improving it afterwards.

All new files in this PR inside `src/etc/installer` are copied from the
rust-packaging repository.
2017-01-24 14:48:03 -08:00
Vadim Petrochenkov
5056a43752 Stabilize Self and associated types in struct expressions and patterns 2017-01-25 01:41:11 +03:00
est31
af46d69b8a Remove Reflect
* Remove the Reflect trait
* Remove the "reflect" lang feature
2017-01-24 23:22:44 +01:00
Steve Klabnik
249b444efa fix mailmap 2017-01-24 17:22:00 -05:00
Raphael Das Gupta
c4c86dd04c fix book: refer to add_two as "tested function"
rather than "test function", which would be `it_works`
2017-01-24 22:44:41 +01:00
Theodore DeRego
bbe419ff30 Updated Fuchsia support for std::process. Adds support for try_wait. Misc. updates to reflect changes in Magenta 2017-01-24 13:13:42 -08:00
Segev Finer
4186037aaa Make backtraces work on Windows GNU targets again.
This is done by adding a function that can return a filename
to pass to backtrace_create_state. The filename is obtained in
a safe way by first getting the filename, locking the file so it can't
be moved, and then getting the filename again and making sure it's the same.

See: https://github.com/rust-lang/rust/pull/37359#issuecomment-260123399
Issue: #33985
2017-01-24 23:10:00 +02:00
Guillaume Gomez
c8d1f322ca Add missing urls for array docs 2017-01-24 21:16:41 +01:00
Freyskeyd
b996a7ecec
Fix doc cfg(test) and tests directory
Signed-off-by: Freyskeyd <simon.paitrault@iadvize.com>
2017-01-24 21:04:38 +01:00
Vadim Petrochenkov
65aeafa24f parser: Permit trailing +'s in bound lists 2017-01-24 22:56:02 +03:00
Vadim Petrochenkov
375cb2eec7 Improve some expected/found error messages from parser 2017-01-24 22:56:02 +03:00
Vadim Petrochenkov
a8f5047430 Add tests 2017-01-24 22:56:02 +03:00
Vadim Petrochenkov
b795abeb1d Refactor parsing of generic arguments/parameters and where clauses 2017-01-24 22:56:02 +03:00
bors
fe597dc9a9 Auto merge of #39222 - GuillaumeGomez:rustdoc_where, r=frewsxcv,steveklabnik,alexcrichton,nrc
Force backline on all where in docs

Pictures are better than words in this case:

Before:

<img width="1440" alt="screen shot 2017-01-21 at 15 34 27" src="https://cloud.githubusercontent.com/assets/3050060/22175139/6e7c75d8-dfef-11e6-9904-023d63e609d2.png">

After:

<img width="1440" alt="screen shot 2017-01-21 at 15 34 32" src="https://cloud.githubusercontent.com/assets/3050060/22175140/75cc3846-dfef-11e6-9799-fffb213653e4.png">

r? @steveklabnik

cc @rust-lang/docs
2017-01-24 15:26:20 +00:00
bors
d2d8ae6575 Auto merge of #39214 - estebank:fix-labels-without-msg, r=nikomatsakis
Fix multiple labels when some don't have message

The diagnostic emitter now accounts for labels with no text message, presenting the underline on its own, without drawing the line for the non existing message below it. Go from

```
error: foo
 --> test.rs:3:6
  |
3 |   a { b { c } d }
  |   ----^^^^^^^----
  |   |   |
  |   |   `b` is a good letter
  |
```

to

```
error: foo
 --> test.rs:3:6
  |
3 |   a { b { c } d }
  |   ----^^^^^^^----
  |       |
  |       `b` is a good letter
```

from

```
error: foo
 --> test.rs:3:6
  |
3 |   a { b { c } d }
  |   ^^^^-------^^^^
  |   |   |
  |   |
  |   `a` is a good letter
```

to

```
error: foo
 --> test.rs:3:6
  |
3 |   a { b { c } d }
  |   ^^^^-------^^^^ `a` is a good letter
```

and from

```
error: foo
 --> test.rs:3:6
  |
3 |   a { b { c } d }
  |   ^^^^-------^^^^
  |   |   |
  |   |
  |
```

to

```
error: foo
 --> test.rs:3:6
  |
3 |   a { b { c } d }
  |   ^^^^-------^^^^
```
r? @nikomatsakis
cc @jonathandturner, @GuillaumeGomez, @nrc
2017-01-24 11:51:34 +00:00
king6cong
e7c0f747e3 doc typo fix 2017-01-24 17:35:19 +08:00
bors
65b17f53ef Auto merge of #39173 - jseyfried:tokenstream, r=nrc
Refactor `TokenStream`

r? @nrc
2017-01-24 09:29:18 +00:00
Andre Bogus
bfabe817de add explanation, fix test 2017-01-24 09:46:01 +01:00
king6cong
4c5d1a4c22 doc comment rewording 2017-01-24 16:42:17 +08:00
bors
ae472485b7 Auto merge of #39145 - nrc:opt-cfg-mod, r=@jseyfried
Add an option to the parser so cfg'ed out modules can still be parsed

r? @jseyfried

cc @dtolnay, @erickt it would be great if we could get this picked up into Syntex asap - it fixes a pretty nasty bug in Rustfmt.
2017-01-24 06:57:29 +00:00
bors
0ba60387f2 Auto merge of #39227 - alexcrichton:enable-i686-musl, r=brson
travis: Enable testing i686 musl

This fixes the final issues with the target related to unwinding by disabling
removal of frame pointers.
2017-01-24 03:43:22 +00:00
bors
18b6b8fb8f Auto merge of #39048 - lambda:impl-tosocketaddrs-for-string, r=alexcrichton
impl ToSocketAddrs for String

`ToSocketAddrs` is implemented for a number of different types,
including `(IpAddr, u16)`, `&str`, and various others, for the
convenience of being able to run things like
`TcpListener::bind("10.11.12.13:1415")`.  However, because this is a
generic parameter with a trait bound, if you have a `String` you cannot
pass it in, either directly as `TcpListener::bind(string)`, or the
`TcpListener::bind(&string)` as you might expect due to deref coercion;
you have to use `TcpListener::bind(&*string)`, which is noisy and hard
to discover (though #39029 suggests better error messages to make it
more discoverable).

Rather than making people stumble over this, just implement
`ToSocketAddrs` for `String`.
2017-01-24 01:17:09 +00:00
bors
a583f6f47c Auto merge of #39260 - steveklabnik:rollup, r=steveklabnik
Rollup of 7 pull requests

- Successful merges: #38794, #38956, #38993, #39191, #39200, #39233, #39258
- Failed merges:
2017-01-23 22:38:33 +00:00
Steve Klabnik
d7c5f0d4ca Rollup merge of #39258 - jacwah:makefile-note, r=aturon
build: Mention rustbuild in Makefile.in comments

I think this patch will help newcomers like myself with the build system. I didn't understand that the make targets listed in the Makefile.in comments only worked with the old system, until it was pointed out to me in #39256.
2017-01-23 16:40:53 -05:00
Steve Klabnik
1b2f2bab2a Rollup merge of #39233 - frewsxcv:upper-lower-docs, r=GuillaumeGomez
Add more references between lowercase/uppercase operations.

None
2017-01-23 16:40:52 -05:00
Steve Klabnik
a448532363 Rollup merge of #39200 - DirkyJerky:patch-1, r=steveklabnik
Docs for atomic orderings: link to the 'nomicon article for further reading
2017-01-23 16:40:50 -05:00
Steve Klabnik
e113038a36 Rollup merge of #39191 - cesarb:book/trait-objects-vtable-size-and-align, r=steveklabnik
book: size and align in trait object vtables are used

The book currently claims that the `size` and `align` fields in the
trait object vtable are not used, but this is false. These two fields
are used by the stable `mem::size_of_val` and `mem::align_of_val`
functions.

See the `ty::TyDynamic` case of the `glue::size_and_align_of_dst`
function in librustc_trans, which is used to implement both intrinsics
in the unsized case.

r? @steveklabnik
2017-01-23 16:40:49 -05:00
Steve Klabnik
9df2daf34c Rollup merge of #38993 - krdln:patch-1, r=steveklabnik
Add `&mut expr` to syntax index
2017-01-23 16:40:48 -05:00
Steve Klabnik
fb5b0d033f Rollup merge of #38956 - theduke:document-field-init-shorthand-38830, r=steveklabnik
Update struct_expr grammar for field init shorthand.

Part of the work for #38830 .

r? @steveklabnik
2017-01-23 16:40:47 -05:00
Steve Klabnik
12b46292c6 Rollup merge of #38794 - ConnyOnny:master, r=steveklabnik
book: match enum warning

Matching enums with named fields in the previous way yielded the "non_shorthand_field_patterns" warning.
The new code shows the shorthand syntax as well as field renaming, so it should be exhaustive ;-)
2017-01-23 16:40:46 -05:00
Nick Cameron
44180c8f2b Add an option to the parser so cfg'ed out modules can still be parsed 2017-01-24 10:21:43 +13:00
Jacob Wahlgren
4d8f1c9118 build: Link to new build sys from Makefile.in 2017-01-23 19:56:48 +01:00
Jeffrey Seyfried
49f5b0a8cf Remove open_span and close_span from Delimited. 2017-01-23 06:49:06 +00:00
bors
7bfe5c0281 Auto merge of #39248 - Wilfred:patch-1, r=frewsxcv
Adding missing URL to release notes
2017-01-23 05:05:51 +00:00
Wesley Wiser
91a478ec34 Remove a FIXME in core/hash tests 2017-01-22 22:35:33 -05:00
bors
17cae03378 Auto merge of #39242 - Eijebong:typo_fix, r=apasel422
Fix minor typo
2017-01-23 02:53:57 +00:00
bors
7821a9b995 Auto merge of #39247 - est31:master, r=jseyfried
Remove proc_macro from the tidy whitelist again

PR #38842 has exposed that we were missing the src/test/compile-fail-fulldeps
directory in the search for feature gate tests. Because the detection didn't
work despite the effort to name the test appropriately and add a correct
"// gate-test-proc_macro" comment, proc_macro was added to the whitelist.

We fix this little weakness in the feature gate tidy check and add
the src/test/compile-fail-fulldeps directory to the checked directories.

Part of issue #39059 .
2017-01-23 00:36:00 +00:00
Wilfred Hughes
34a3709f74 Adding missing URL to release notes 2017-01-22 23:26:45 +00:00
est31
e3daab037d Remove proc_macro from the tidy whitelist again
PR #38842 has exposed that we were missing the src/test/compile-fail-fulldeps
directory in the search for feature gate tests. Because the detection didn't
work despite the effort to name the test appropriately and add a correct
"// gate-test-proc_macro" comment, proc_macro was added to the whitelist.

We fix this little weakness in the feature gate tidy check and add
the src/test/compile-fail-fulldeps directory to the checked directories.
2017-01-22 23:53:13 +01:00
bors
3f261ec4fa Auto merge of #39238 - king6cong:pr, r=frewsxcv
better comment wording
2017-01-22 22:20:12 +00:00
Jeffrey Seyfried
31417efcd3 Remove crate proc_macro_tokens. 2017-01-22 21:37:40 +00:00
Jeffrey Seyfried
2dc60b1180 Refactor TokenStream. 2017-01-22 21:37:38 +00:00
bors
a8fa31029f Auto merge of #39243 - cseale:issue_30924, r=est31
[Gate Tests] - marking feature tests

Removal of the lang feature gate tests whitelist #39059

r? @est31
2017-01-22 19:12:59 +00:00
Alex Crichton
d56999aef9 travis: Enable testing i686 musl
This fixes the final issues with the target related to unwinding by disabling
removal of frame pointers.
2017-01-22 10:29:56 -08:00