]> git.lizzy.rs Git - rust.git/log
rust.git
7 years agoDisable git caches again
Aidan Hobson Sayers [Wed, 19 Apr 2017 15:29:47 +0000 (16:29 +0100)]
Disable git caches again

7 years agoAuto merge of #41354 - alexcrichton:tool-no-debug, r=aturon
bors [Wed, 19 Apr 2017 11:07:08 +0000 (11:07 +0000)]
Auto merge of #41354 - alexcrichton:tool-no-debug, r=aturon

Disable debuginfo when compiling tools

Currently the Cargo binary has jumped from 14M to 34M on the beta channel, which
appears to be due to the fact that we're compiling tools with debug information
inside them. This additionally means that the `rls` binary is 62M right now!

This wasn't an intentional change, so be sure to disable debuginfo when
compiling tools as it's just intended for the standard library and compile for
now.

7 years agoAuto merge of #41325 - eddyb:isolate-snapshots-for-good, r=arielb1
bors [Wed, 19 Apr 2017 08:40:27 +0000 (08:40 +0000)]
Auto merge of #41325 - eddyb:isolate-snapshots-for-good, r=arielb1

Ban registering obligations during InferCtxt snapshots.

Back in #33852, a flag was added to `InferCtxt` to prevent rolling back a snapshot if obligations were added to some `FulfillmentContext` during the snapshot, to prevent leaking fresh inference variables (created during that snapshot, so their indices would get reused) in obligations, which could ICE or worse.

But that isn't enough in the long run, as type-checking ends up relying on success implying that eager side-effects are fine, and while stray obligations *do* get caught nowadays, those errors prevent, e.g. the speculative coercions from #37658, which *have to* be rolled back *even* if they succeed.

We can't just allow those obligations to stay around though, because we end up, again, in ICEs or worse.
Instead, this PR modifies `lookup_method_in_trait_adjusted` to return `InferOk` containing the obligations that `Autoderef::finalize_as_infer_ok` can propagate to deref coercions.

As there shouldn't be *anything* left that registers obligations during snapshots, it's completely banned.

r? @nikomatsakis @arielb1

7 years agoAuto merge of #41170 - Nashenas88:master, r=alexcrichton
bors [Wed, 19 Apr 2017 05:54:23 +0000 (05:54 +0000)]
Auto merge of #41170 - Nashenas88:master, r=alexcrichton

Use the existing path when removing the prefix fails

This allows the use of out-of-tree paths to be specified. I found this while trying to build with a modified version of `rls-data`, which is currently pointing to a version on crates.io.

cc @alexcrichton

Also, it wasn't clear if I needed to add a test for this (or how). I didn't see any tests that took paths into consideration.

7 years agoAuto merge of #41236 - cengizIO:master, r=nikomatsakis
bors [Wed, 19 Apr 2017 01:27:08 +0000 (01:27 +0000)]
Auto merge of #41236 - cengizIO:master, r=nikomatsakis

Move E0101 and E0102 logic into new E0282 mechanism #40013

Hello there!

## What's this?
Previously, me and @nikomatsakis worked on error messages of uninferred locals. (#38812)

This aims to build up on that by moving certain type checks from `writeback`.

With this, `E0101` and `E0102` errors are getting obsoleted and no longer thrown.

They're replaced with customized versions of `E0282`s instead.

## Sample Error Messages

#### `E0101` is getting converted into:
```rust
error[E0282]: type annotations needed
 --> test.rs:2:14
  |
2 |     let x = |_| {};
  |              ^ consider giving this closure parameter a type

error: aborting due to previous error
```

#### `E0102` is getting converted into:
```rust
error[E0282]: type annotations needed
 --> test.rs:2:9
  |
2 |     let x = [];
  |         ^
  |         |
  |         consider giving `x` a type
  |         cannot infer type for `[_; 0]`

error: aborting due to previous error
```

## Annoyances
- I think we need to change our way of type name resolving in relevant places, because that `[_; 0]` looks horrible IMHO.
- I'm not terribly happy with the note ordering of errors. So please do point to code that might help me accomplish this.

## Tests
Tests of `E0101` and `E0102` are getting converted from `compile-fail` to `ui` tests.

## Documentation
Please help me with documentation update. There are some confusing places that needed an update but I'm not sure if I did the right ones.

Please do comment on messages, layouts and other details.

## Appreciation
Huge thanks goes to @nikomatsakis for being a patient and humble mentor along this long journey. 🍻

7 years agochange note for patterns
Cengiz Can [Tue, 18 Apr 2017 18:42:55 +0000 (21:42 +0300)]
change note for patterns

7 years agocomment out removed error codes
Cengiz Can [Tue, 18 Apr 2017 13:56:08 +0000 (16:56 +0300)]
comment out removed error codes

7 years agofixes #40013
Cengiz Can [Tue, 11 Apr 2017 21:37:40 +0000 (00:37 +0300)]
fixes #40013

7 years agoAuto merge of #41373 - frewsxcv:rollup, r=frewsxcv
bors [Tue, 18 Apr 2017 18:20:04 +0000 (18:20 +0000)]
Auto merge of #41373 - frewsxcv:rollup, r=frewsxcv

Rollup of 6 pull requests

- Successful merges: #40290, #41353, #41356, #41360, #41361, #41364
- Failed merges:

7 years agoRollup merge of #41364 - alexcrichton:less-backtrace-prune, r=petrochenkov
Corey Farwell [Tue, 18 Apr 2017 18:05:46 +0000 (14:05 -0400)]
Rollup merge of #41364 - alexcrichton:less-backtrace-prune, r=petrochenkov

std: Back out backtrace pruning logic

It was discovered #40264 that this backtrace pruning logic is a little too
aggressive, so while we figure how out to handle #40264 this commit backs out
the changes to prune frames. Note that other cosmetic changes, such as better
path printing and such remain.

7 years agoRollup merge of #41361 - arielb1:move-mir-init, r=pnkfelix
Corey Farwell [Tue, 18 Apr 2017 18:05:45 +0000 (14:05 -0400)]
Rollup merge of #41361 - arielb1:move-mir-init, r=pnkfelix

lower `move_val_init` during MIR construction

Because of its "magic" order-of-evaluation semantics, `move_val_init` must be lowered during MIR construction in order to work without needing a temporary.

r? @eddyb

7 years agoRollup merge of #41360 - nikomatsakis:incr-comp-issue-40746-visitors, r=eddyb
Corey Farwell [Tue, 18 Apr 2017 18:05:44 +0000 (14:05 -0400)]
Rollup merge of #41360 - nikomatsakis:incr-comp-issue-40746-visitors, r=eddyb

convert calls to `visit_all_item_likes_in_krate`

We no longer need to track the tasks in these cases since these
particular tasks have no outputs (except, potentially, errors...)  and
they always execute.

cc #40746

r? @eddyb

7 years agoRollup merge of #41356 - richo:darwin-no-cputype-hack, r=alexcrichton
Corey Farwell [Tue, 18 Apr 2017 18:05:44 +0000 (14:05 -0400)]
Rollup merge of #41356 - richo:darwin-no-cputype-hack, r=alexcrichton

bootstrap: Don't workaround uname -m on Darwin

This no longer manifests on any versions of OSX that I could find.

How far back is Rust officially supported? I can try to get copies to test when this behaviour changed.

(Fun fact, at a minimum the comment already lies, since the flag is `-m` :))

7 years agoRollup merge of #41353 - redox-os:master, r=alexcrichton
Corey Farwell [Tue, 18 Apr 2017 18:05:43 +0000 (14:05 -0400)]
Rollup merge of #41353 - redox-os:master, r=alexcrichton

Improve Process::spawn with piped stdio on Redox

- Adds `dup2`, and uses it for stdio piping
- Removes `O_CLOEXEC` from piped stdio, as `dup` on Redox does not disable O_CLOEXEC

7 years agoRollup merge of #40290 - 3Hren:master, r=aturon
Corey Farwell [Tue, 18 Apr 2017 18:05:42 +0000 (14:05 -0400)]
Rollup merge of #40290 - 3Hren:master, r=aturon

Add `as_bytes()` for `FromUtf8Error`.

This change allows to obtain an underlying invalid UTF-8 bytes without `FromUtf8Error` destruction. Such method may be useful for example in a library that attempts to save both valid and invalid UTF-8 strings in some struct and to be able to provide immutable access to it without destruction.

Personally without this change I ended with `Result<String, (Vec<u8>, Utf8Error)`, which almost copies the functionality of `FromUtf8Error`, but allows immutable view access.

7 years agostd: Back out backtrace pruning logic
Alex Crichton [Mon, 20 Mar 2017 21:13:27 +0000 (14:13 -0700)]
std: Back out backtrace pruning logic

It was discovered #40264 that this backtrace pruning logic is a little too
aggressive, so while we figure how out to handle #40264 this commit backs out
the changes to prune frames. Note that other cosmetic changes, such as better
path printing and such remain.

7 years agoupdate `dep-graph-struct-signature` test case
Niko Matsakis [Tue, 18 Apr 2017 12:22:52 +0000 (08:22 -0400)]
update `dep-graph-struct-signature` test case

the `CollectItem` task no longer exists

7 years agokill a bunch of one off tasks
Niko Matsakis [Tue, 18 Apr 2017 12:20:12 +0000 (08:20 -0400)]
kill a bunch of one off tasks

7 years agolower `move_val_init` during MIR construction
Ariel Ben-Yehuda [Tue, 18 Apr 2017 12:05:27 +0000 (15:05 +0300)]
lower `move_val_init` during MIR construction

Because of its "magic" order-of-evaluation semantics, `move_val_init`
must be lowered during MIR construction in order to work.

7 years agouse Lvalue helper functions in rustc_mir::shim
Ariel Ben-Yehuda [Tue, 18 Apr 2017 12:05:04 +0000 (15:05 +0300)]
use Lvalue helper functions in rustc_mir::shim

7 years agoAuto merge of #39271 - est31:add_float_bits, r=BurntSushi
bors [Tue, 18 Apr 2017 11:23:44 +0000 (11:23 +0000)]
Auto merge of #39271 - est31:add_float_bits, r=BurntSushi

Add functions to safely transmute float to int

The safe subset of Rust tries to be as powerful as possible. While it is very powerful already, its currently impossible to safely transmute integers to floats. While crates exist that provide a safe interface, most prominently the `iee754` crate (which also inspired naming of the added functions), they themselves only use the unsafe `mem::transmute` function to accomplish this task.

Also, including an entire crate for just two lines of unsafe code seems quite wasteful.

That's why this PR adds functions to safely transmute integers to floats and vice versa, currently gated by the newly added `float_bits_conv` feature.

The functions added are no niche case. Not just `ieee754` [currently implements](https://github.com/huonw/ieee754/blob/master/src/lib.rs#L441) float to int transmutation via unsafe code but also the [very popular `byteorder` crate](https://github.com/BurntSushi/byteorder/blob/1.0.0/src/lib.rs#L258). This functionality of byteorder is in turn used by higher level crates. I only give two examples out of many: [chor](https://github.com/pyfisch/cbor/blob/a7363ea9aaf372e3d24b52414b5c76552ecc91c8/src/ser.rs#L227) and [bincode](https://github.com/TyOverby/bincode/blob/f06a4cfcb5b194e54d4997c200c75b88b6c3fba4/src/serde/reader.rs#L218).

One alternative would be to manually use functions like pow or multiplication by 1 to get a similar result, but they only work in the int -> float direction, and are not bit exact, and much slower (also, most likely the optimizer will never optimize it to a transmute because the conversion is not bit exact while the transmute is).

Tracking issue: #40470

7 years agoconvert calls to `visit_all_item_likes_in_krate`
Niko Matsakis [Tue, 18 Apr 2017 09:57:39 +0000 (05:57 -0400)]
convert calls to `visit_all_item_likes_in_krate`

We no longer need to track the tasks in these cases since these
particular tasks have no outputs (except, potentially, errors...)  and
they always execute.

7 years agoAuto merge of #41357 - frewsxcv:rollup, r=frewsxcv
bors [Tue, 18 Apr 2017 04:15:13 +0000 (04:15 +0000)]
Auto merge of #41357 - frewsxcv:rollup, r=frewsxcv

Rollup of 3 pull requests

- Successful merges: #41262, #41310, #41344
- Failed merges:

7 years agoRollup merge of #41344 - Diggsey:remove-natvis-nbsp, r=alexcrichton
Corey Farwell [Tue, 18 Apr 2017 03:21:19 +0000 (23:21 -0400)]
Rollup merge of #41344 - Diggsey:remove-natvis-nbsp, r=alexcrichton

Remove non-breaking spaces from natvis files

Visual studio will see natvis files with non-breaking spaces as invalid XML, and will ignore them.

7 years agoRollup merge of #41310 - eddyb:demand-const-eval, r=nikomatsakis
Corey Farwell [Tue, 18 Apr 2017 03:21:18 +0000 (23:21 -0400)]
Rollup merge of #41310 - eddyb:demand-const-eval, r=nikomatsakis

[on-demand] Turn monomorphic_const_eval into a proper query, not just a cache.

The error definitions and reporting logic, alongside with `eval_length` were moved to `librustc`.
Both local and cross-crate constant evaluation is on-demand now, but the latter is only used for `enum` discriminants, to replace the manual insertion into the cache which was done when decoding variants.

r? @nikomatsakis

7 years agoRollup merge of #41262 - jonhoo:compiler-barrier-rename, r=alexcrichton
Corey Farwell [Tue, 18 Apr 2017 03:21:17 +0000 (23:21 -0400)]
Rollup merge of #41262 - jonhoo:compiler-barrier-rename, r=alexcrichton

Rename compiler_barrier to compiler_fence

This addresses concerns raised following the merge of #41092. Specifically:

> The naming of these seems surprising: the multithreaded functions (and both the single and multithreaded intrinsics themselves) are fences, but this is a barrier. It's not incorrect, but the latter is both inconsistent with the existing functions and slightly confusing with another type in std (e.g., `Barrier`).

`compiler_fence` carries the same semantic implication that this is a compiler-only operation, while being more in line with the fence/barrier concepts already in use in `std`.

7 years agobootstrap: Don't workaround uname -m on Darwin
Richo Healey [Tue, 18 Apr 2017 02:30:18 +0000 (19:30 -0700)]
bootstrap: Don't workaround uname -m on Darwin

This no longer manifests on any versions of OSX that I could find.

7 years agoAuto merge of #41340 - eddyb:demand-assoc-defids, r=nikomatsakis
bors [Tue, 18 Apr 2017 01:18:14 +0000 (01:18 +0000)]
Auto merge of #41340 - eddyb:demand-assoc-defids, r=nikomatsakis

rustc: move associated_item_def_ids to an on-demand query.

r? @nikomatsakis

7 years agoDisable debuginfo when compiling tools
Alex Crichton [Tue, 18 Apr 2017 00:17:11 +0000 (17:17 -0700)]
Disable debuginfo when compiling tools

Currently the Cargo binary has jumped from 14M to 34M on the beta channel, which
appears to be due to the fact that we're compiling tools with debug information
inside them. This additionally means that the `rls` binary is 62M right now!

This wasn't an intentional change, so be sure to disable debuginfo when
compiling tools as it's just intended for the standard library and compile for
now.

7 years agoAdd float_bits_conv to unstable book
est31 [Tue, 18 Apr 2017 00:55:47 +0000 (02:55 +0200)]
Add float_bits_conv to unstable book

7 years agoAllow us to remove masking in the future
est31 [Thu, 30 Mar 2017 22:40:02 +0000 (00:40 +0200)]
Allow us to remove masking in the future

7 years agoPreserve sNaN payload when converting them to quiet NaNs
est31 [Wed, 29 Mar 2017 23:49:06 +0000 (01:49 +0200)]
Preserve sNaN payload when converting them to quiet NaNs

7 years agoConvert sNaN to quiet NaN instead of returning errors
est31 [Wed, 29 Mar 2017 00:39:59 +0000 (02:39 +0200)]
Convert sNaN to quiet NaN instead of returning errors

7 years agoassert_ne and tracking issue
est31 [Mon, 13 Mar 2017 09:25:50 +0000 (10:25 +0100)]
assert_ne and tracking issue

7 years agoAdd examples heading
est31 [Tue, 24 Jan 2017 20:28:12 +0000 (21:28 +0100)]
Add examples heading

7 years agoReturn Err(()) when trying to convert sNaN representation to float
est31 [Tue, 24 Jan 2017 19:49:33 +0000 (20:49 +0100)]
Return Err(()) when trying to convert sNaN representation to float

7 years agoAdd functions to safely transmute float to int
est31 [Tue, 24 Jan 2017 17:15:11 +0000 (18:15 +0100)]
Add functions to safely transmute float to int

7 years agoAuto merge of #41282 - arielb1:missing-impl-item, r=petrochenkov
bors [Mon, 17 Apr 2017 22:22:56 +0000 (22:22 +0000)]
Auto merge of #41282 - arielb1:missing-impl-item, r=petrochenkov

libsyntax/parse: fix missing kind error reporting

Fixes #41161.
Fixes #41239.

7 years agolibsyntax/parse: improve associated item error reporting
Ariel Ben-Yehuda [Thu, 13 Apr 2017 19:37:05 +0000 (22:37 +0300)]
libsyntax/parse: improve associated item error reporting

Fixes #41161.
Fixes #41239.

7 years agoAuto merge of #41345 - frewsxcv:rollup, r=frewsxcv
bors [Mon, 17 Apr 2017 17:56:29 +0000 (17:56 +0000)]
Auto merge of #41345 - frewsxcv:rollup, r=frewsxcv

Rollup of 3 pull requests

- Successful merges: #41012, #41280, #41290
- Failed merges:

7 years agoRollup merge of #41290 - GuillaumeGomez:put-back-hoedown, r=steveklabnik
Corey Farwell [Mon, 17 Apr 2017 17:26:21 +0000 (13:26 -0400)]
Rollup merge of #41290 - GuillaumeGomez:put-back-hoedown, r=steveklabnik

Hoedown big comeback!

```bash
> cargo +local test
   Compiling libc v0.2.20
   Compiling sysinfo v0.3.4 (file:///Users/imperio/rust/sysinfo)
    Finished dev [unoptimized + debuginfo] target(s) in 3.2 secs
     Running target/debug/deps/disk_list-dbd70897f1f7e080

running 1 test
test test_disks ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured

     Running target/debug/deps/sysinfo-8ad11103abdf5941

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests sysinfo
WARNING: src/sysinfo.rs -  (line 45) test will be run in the next rustdoc version. If it's not supposed to, please update your documentation and make it compliant to common mark specifications.
WARNING: src/sysinfo.rs -  (line 48) test will be run in the next rustdoc version. If it's not supposed to, please update your documentation and make it compliant to common mark specifications.

running 1 test
test src/sysinfo.rs -  (line 14) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
```

r? @rust-lang/docs

7 years agoRollup merge of #41280 - QuietMisdreavus:rustdoc-toc, r=GuillaumeGomez
Corey Farwell [Mon, 17 Apr 2017 17:26:20 +0000 (13:26 -0400)]
Rollup merge of #41280 - QuietMisdreavus:rustdoc-toc, r=GuillaumeGomez

rustdoc: add a list of headings to the sidebar

It's another misdreavus rustdoc PR, which means it's time for Bikeshed City once again! `:3`

In an effort to aid navigation in long documentation pages, this PR adds a listing of headings to the sidebars of pages where such headings exist. For example, for structs, links to their fields, inherent methods, and trait implementations are available where applicable.

Examples:

* Modules/Crate roots
  ![image](https://cloud.githubusercontent.com/assets/5217170/25019930/1000fa3a-2052-11e7-98ff-ddf5af18b3e6.png)
* Enums
  ![image](https://cloud.githubusercontent.com/assets/5217170/25019954/33497f9e-2052-11e7-88cf-df46f1b3b8a3.png)
* Primitives
  ![image](https://cloud.githubusercontent.com/assets/5217170/25019978/4820bbc6-2052-11e7-8b5a-96a864eb2a5b.png)
* Traits
  ![image](https://cloud.githubusercontent.com/assets/5217170/25020093/bd1bc9f2-2052-11e7-9cd1-00a0ad8007bc.png)
* Structs
  ![image](https://cloud.githubusercontent.com/assets/5217170/25020145/d75206b0-2052-11e7-88cc-9e9525084775.png)

Open questions:

* Right now, these kinds of pages (and also unions) are the only pages that will receive the name header - pages for functions, constants, macros, etc, won't have the corresponding name in their sidebar. Should I print the name regardless and only add table-of-contents links for pages that have them? This would make them match, for example, a struct with no public fields, no methods, and no trait implementations. The latter would still have a "Struct MyStruct" line above the module contents, with no header links to speak of, whereas a function wouldn't even have "Function my\_function".
* This is only a header listing, but there has been requests to include a more-complete listing of fields/methods/traits/etc, for example in #41123.

7 years agoRollup merge of #41012 - durka:vis-matcher, r=petrochenkov
Corey Farwell [Mon, 17 Apr 2017 17:26:19 +0000 (13:26 -0400)]
Rollup merge of #41012 - durka:vis-matcher, r=petrochenkov

:vis matcher for macro_rules

Resurrection of @DanielKeep's implementation posted with [RFC 1575](https://github.com/rust-lang/rfcs/pull/1575).

@jseyfried was of the opinion that this doesn't need an RFC.

Needed before merge:

- [x] sign-off from @DanielKeep since I stole his code
- [x] feature gate
- [x] docs

7 years agoRemove non-breaking spaces
Diggory Blake [Mon, 17 Apr 2017 16:49:35 +0000 (17:49 +0100)]
Remove non-breaking spaces

7 years agoAdd hoedown COPYRIGHT back
Guillaume Gomez [Fri, 14 Apr 2017 15:17:06 +0000 (17:17 +0200)]
Add hoedown COPYRIGHT back

7 years agoRemove hoedown from tidy check
Guillaume Gomez [Fri, 14 Apr 2017 11:03:48 +0000 (13:03 +0200)]
Remove hoedown from tidy check

7 years agoHoedown big comeback!
Guillaume Gomez [Thu, 13 Apr 2017 23:23:14 +0000 (01:23 +0200)]
Hoedown big comeback!

7 years agorustdoc: add a list of headings to the sidebar
QuietMisdreavus [Mon, 21 Nov 2016 21:52:51 +0000 (15:52 -0600)]
rustdoc: add a list of headings to the sidebar

7 years agorustc: move associated_item_def_ids to an on-demand query.
Eduard-Mihai Burtescu [Mon, 17 Apr 2017 15:15:22 +0000 (18:15 +0300)]
rustc: move associated_item_def_ids to an on-demand query.

7 years agoAuto merge of #41264 - alexeyzab:41158-fix-docs, r=steveklabnik
bors [Mon, 17 Apr 2017 15:10:23 +0000 (15:10 +0000)]
Auto merge of #41264 - alexeyzab:41158-fix-docs, r=steveklabnik

Fix old docs

Fixes #41158

7 years agoAdjust description
alexey zabelin [Mon, 17 Apr 2017 14:48:23 +0000 (10:48 -0400)]
Adjust description

7 years agofix: remove `field_init_shorthand` from SUMMARY.md
Evgeny Safronov [Mon, 17 Apr 2017 06:41:12 +0000 (09:41 +0300)]
fix: remove `field_init_shorthand` from SUMMARY.md

7 years agoAuto merge of #41157 - aidanhs:aphs-debug-appveyor-cache, r=TimNN
bors [Sun, 16 Apr 2017 22:24:36 +0000 (22:24 +0000)]
Auto merge of #41157 - aidanhs:aphs-debug-appveyor-cache, r=TimNN

Add a comment for disabling errexit, try to debug appveyor cache

Comments added as requested.

Also, lets add some cache debugging to appveyor. I *think* this is how to ignore errors in cmd.exe (and I did try it on my own machine), but I'm not 100% sure how appveyor runs them. In the worst case it'll fail but I guess that isn't the end of the world since the build has already failed by this point.

r? @TimNN

7 years agoAuto merge of #40409 - mbrubeck:calloc, r=sfackler
bors [Sun, 16 Apr 2017 19:13:52 +0000 (19:13 +0000)]
Auto merge of #40409 - mbrubeck:calloc, r=sfackler

Specialize Vec::from_elem to use calloc

Fixes #38723.  This specializes the implementation for `u8` only, but it could be extended to other zeroable types if desired.

I haven't tested this extensively, but I did verify that it gives the expected performance boost for large `vec![0; n]` allocations with both alloc_system and jemalloc, on Linux.  (I have not tested or even built the Windows code.)

7 years agoAuto merge of #41329 - nagisa:bitflags-repr-options, r=eddyb
bors [Sun, 16 Apr 2017 16:47:18 +0000 (16:47 +0000)]
Auto merge of #41329 - nagisa:bitflags-repr-options, r=eddyb

Compress ReprOptions a little bit

r? @eddyb

7 years agoFix stdio descriptors in exec by removing cloexec if present. Use dup2 instead of dup
Jeremy Soller [Sun, 16 Apr 2017 15:33:13 +0000 (09:33 -0600)]
Fix stdio descriptors in exec by removing cloexec if present. Use dup2 instead of dup

7 years agoAuto merge of #41308 - eddyb:order-must-be-preserved, r=nagisa
bors [Sun, 16 Apr 2017 13:44:22 +0000 (13:44 +0000)]
Auto merge of #41308 - eddyb:order-must-be-preserved, r=nagisa

[rustbuild] Side-step HashMap iteration to preserve command-line step order.

The new `HashMap` was introduced by #41227 and it accidentally randomized step order.

r? @alexcrichton

7 years agoCompress ReprOptions a little bit
Simonas Kazlauskas [Sun, 16 Apr 2017 13:17:13 +0000 (16:17 +0300)]
Compress ReprOptions a little bit

7 years agorustc_typeck: fix binops needing more type informations to coerce.
Eduard-Mihai Burtescu [Sun, 16 Apr 2017 03:25:18 +0000 (06:25 +0300)]
rustc_typeck: fix binops needing more type informations to coerce.

7 years agorustc: use monomorphic const_eval for cross-crate enum discriminants.
Eduard-Mihai Burtescu [Sat, 15 Apr 2017 01:14:44 +0000 (04:14 +0300)]
rustc: use monomorphic const_eval for cross-crate enum discriminants.

7 years agorustc: expose monomorphic const_eval through on-demand.
Eduard-Mihai Burtescu [Fri, 14 Apr 2017 16:00:08 +0000 (19:00 +0300)]
rustc: expose monomorphic const_eval through on-demand.

7 years agorustc_const_eval: move ConstEvalErr to the rustc crate.
Eduard-Mihai Burtescu [Thu, 13 Apr 2017 13:40:03 +0000 (16:40 +0300)]
rustc_const_eval: move ConstEvalErr to the rustc crate.

7 years agoAuto merge of #41320 - Mark-Simulacrum:cleanup-methodmatch, r=arielb1
bors [Sat, 15 Apr 2017 22:15:53 +0000 (22:15 +0000)]
Auto merge of #41320 - Mark-Simulacrum:cleanup-methodmatch, r=arielb1

Remove MethodMatchResult and MethodMatchedData.

These two enums were unused.

Fixes #41318.

r? @nikomatsakis

7 years agosatisfy completely useless tidy check
Alex Burka [Sat, 15 Apr 2017 21:39:19 +0000 (21:39 +0000)]
satisfy completely useless tidy check

7 years agorustc_typeck: return InferOk from lookup_method_in_trait_adjusted.
Eduard-Mihai Burtescu [Sat, 15 Apr 2017 20:59:25 +0000 (23:59 +0300)]
rustc_typeck: return InferOk from lookup_method_in_trait_adjusted.

7 years agorustc_typeck: move some obligation methods to Inherited.
Eduard-Mihai Burtescu [Sat, 15 Apr 2017 20:58:50 +0000 (23:58 +0300)]
rustc_typeck: move some obligation methods to Inherited.

7 years agorustc_typeck: Autoderef::finalize is always called with one &hir::Expr.
Eduard-Mihai Burtescu [Sat, 15 Apr 2017 20:56:40 +0000 (23:56 +0300)]
rustc_typeck: Autoderef::finalize is always called with one &hir::Expr.

7 years agorustc_typeck: keep register_infer_ok_obligations calls out of snapshots.
Eduard-Mihai Burtescu [Sat, 15 Apr 2017 20:55:10 +0000 (23:55 +0300)]
rustc_typeck: keep register_infer_ok_obligations calls out of snapshots.

7 years agorustc: ban registering obligations during InferCtxt snapshots.
Eduard-Mihai Burtescu [Sat, 15 Apr 2017 20:51:58 +0000 (23:51 +0300)]
rustc: ban registering obligations during InferCtxt snapshots.

7 years agoAuto merge of #41319 - eddyb:demand-adt-sized-constraint, r=arielb1
bors [Sat, 15 Apr 2017 19:44:17 +0000 (19:44 +0000)]
Auto merge of #41319 - eddyb:demand-adt-sized-constraint, r=arielb1

rustc: provide adt_sized_constraint as an on-demand query.

By using `queries::adt_sized_constraint::try_get`, we can detect cycles without a separate stack.
r? @nikomatsakis

7 years agoreduce macro rule duplication in test
Alex Burka [Mon, 3 Apr 2017 00:26:14 +0000 (00:26 +0000)]
reduce macro rule duplication in test

7 years agofeature gate :vis matcher
Alex Burka [Mon, 3 Apr 2017 00:09:07 +0000 (00:09 +0000)]
feature gate :vis matcher

7 years agodocument :vis in unstable book
Alex Burka [Sun, 2 Apr 2017 20:04:27 +0000 (20:04 +0000)]
document :vis in unstable book

7 years agowiden :vis follow set
Alex Burka [Sun, 2 Apr 2017 19:06:40 +0000 (19:06 +0000)]
widen :vis follow set

7 years agomove NtVis enum variant to stave off comment rot
Alex Burka [Sun, 2 Apr 2017 18:34:38 +0000 (18:34 +0000)]
move NtVis enum variant to stave off comment rot

7 years agoparse interpolated visibility tokens
Alex Burka [Sun, 2 Apr 2017 04:46:51 +0000 (04:46 +0000)]
parse interpolated visibility tokens

7 years agoupdate print_visibility for new pub(restricted) syntax
Alex Burka [Sun, 2 Apr 2017 04:46:33 +0000 (04:46 +0000)]
update print_visibility for new pub(restricted) syntax

7 years agoupdate :vis implementation to current rust
Alex Burka [Sun, 2 Apr 2017 04:21:12 +0000 (04:21 +0000)]
update :vis implementation to current rust

7 years agoImplementation of the `vis` macro matcher.
Daniel Keep [Sun, 24 Apr 2016 16:04:01 +0000 (02:04 +1000)]
Implementation of the `vis` macro matcher.

7 years agoAuto merge of #39881 - king6cong:sys, r=japaric
bors [Sat, 15 Apr 2017 17:17:17 +0000 (17:17 +0000)]
Auto merge of #39881 - king6cong:sys, r=japaric

code format

7 years agoSpecialize Vec::from_elem for other numeric types
Matt Brubeck [Fri, 10 Mar 2017 16:19:42 +0000 (08:19 -0800)]
Specialize Vec::from_elem for other numeric types

7 years agoSpecialize Vec::from_elem<u8> to use calloc or memset
Matt Brubeck [Fri, 10 Mar 2017 01:53:01 +0000 (17:53 -0800)]
Specialize Vec::from_elem<u8> to use calloc or memset

Fixes #38723.

7 years agoAuto merge of #41321 - frewsxcv:rollup, r=frewsxcv
bors [Sat, 15 Apr 2017 14:42:22 +0000 (14:42 +0000)]
Auto merge of #41321 - frewsxcv:rollup, r=frewsxcv

Rollup of 2 pull requests

- Successful merges: #41306, #41311
- Failed merges:

7 years agoRollup merge of #41311 - tedsta:fuchsia_error_codes, r=eddyb
Corey Farwell [Sat, 15 Apr 2017 14:41:51 +0000 (10:41 -0400)]
Rollup merge of #41311 - tedsta:fuchsia_error_codes, r=eddyb

Update magenta error codes

Update magenta error codes to match recent changes here: https://github.com/fuchsia-mirror/magenta/blob/master/system/public/magenta/errors.h

7 years agoRollup merge of #41306 - nateozem:support/docs-mir, r=frewsxcv
Corey Farwell [Sat, 15 Apr 2017 14:41:50 +0000 (10:41 -0400)]
Rollup merge of #41306 - nateozem:support/docs-mir, r=frewsxcv

add 'mir' to rustc help menu and man doc

add 'mir' to '--emit' flag list for 'rustc'.
This is added because 'rustc' can now generate MIR (referencing to
"Teach rustc --emit=mir #39891").

7 years agoRemove MethodMatchResult and MethodMatchedData.
Mark Simulacrum [Sat, 15 Apr 2017 13:23:56 +0000 (07:23 -0600)]
Remove MethodMatchResult and MethodMatchedData.

These two enums were unused.

7 years agorustc: provide adt_sized_constraint as an on-demand query.
Eduard-Mihai Burtescu [Sat, 15 Apr 2017 12:40:38 +0000 (15:40 +0300)]
rustc: provide adt_sized_constraint as an on-demand query.

7 years agoAuto merge of #41316 - suchithjn225:issue-41272, r=eddyb
bors [Sat, 15 Apr 2017 12:13:27 +0000 (12:13 +0000)]
Auto merge of #41316 - suchithjn225:issue-41272, r=eddyb

Do not desugar if-let-else to match arm guards

Fixes #41272
Changed the desugaring code

**Before**
```rust
match <sub_expr> {
     <pat> => <body>,
     [_ if <else_opt_if_cond> => <else_opt_if_body>,]
     _ => [<else_opt> | ()]
}
```

**After**
```rust
match <sub_expr> {
    <pat> => <body>,
     _       => [<else_opt> | ()]
}
```
With this fix, it doesn't cause E0301

7 years agoAesthetic issue. Corrected indentation
Suchith J N [Sat, 15 Apr 2017 12:10:54 +0000 (17:40 +0530)]
Aesthetic issue. Corrected indentation

7 years agoFixed aesthetics of if let block
Suchith J N [Sat, 15 Apr 2017 12:05:30 +0000 (17:35 +0530)]
Fixed aesthetics of if let block

7 years agoFixed aesthetics and test
Suchith J N [Sat, 15 Apr 2017 11:51:53 +0000 (17:21 +0530)]
Fixed aesthetics and test

7 years ago[41272] - Fixed to conform to rust project style
Suchith J N [Sat, 15 Apr 2017 06:47:25 +0000 (12:17 +0530)]
[41272] - Fixed to conform to rust project style

7 years agoAuto merge of #41286 - lukaramu:std-collections-docs, r=frewsxcv
bors [Sat, 15 Apr 2017 04:46:27 +0000 (04:46 +0000)]
Auto merge of #41286 - lukaramu:std-collections-docs, r=frewsxcv

Various improvements in std::collections docs

The meat of this PR are:
* changes to (almost all?) iterator struct docs in std::collections such that they use the standard iterator boilerplate and state where they are created
* a bunch of added links (at least as much as possible given std::collections mostly being a facade and whatnot :sweat_smile:)
* an example for `Bound`
* changed phrasing for some summary sentences to be less redundant as well as more consistant with others in the module

There also are various other fixes, e.g. removing parens from method names in the module docs, changing some imperatives to 3rd person, etc.

r? @steveklabnik

7 years ago[41272] - code for desugaring iflet changed
Suchith J N [Sat, 15 Apr 2017 04:44:09 +0000 (10:14 +0530)]
[41272] - code for desugaring iflet changed

7 years agocode format
king6cong [Sat, 15 Apr 2017 03:43:35 +0000 (11:43 +0800)]
code format

7 years agoAuto merge of #41312 - frewsxcv:rollup, r=frewsxcv
bors [Sat, 15 Apr 2017 02:06:20 +0000 (02:06 +0000)]
Auto merge of #41312 - frewsxcv:rollup, r=frewsxcv

Rollup of 2 pull requests

- Successful merges: #41125, #41309
- Failed merges:

7 years agoRollup merge of #41309 - frewsxcv:sg-implement-rfc-1268, r=nikomatsakis
Corey Farwell [Sat, 15 Apr 2017 02:05:42 +0000 (22:05 -0400)]
Rollup merge of #41309 - frewsxcv:sg-implement-rfc-1268, r=nikomatsakis

Implement RFC 1268.

Rebased version of https://github.com/rust-lang/rust/pull/40097.

Tracking issue: https://github.com/rust-lang/rust/issues/29864.

7 years agoRollup merge of #41125 - lukaramu:std-hash-docs, r=frewsxcv
Corey Farwell [Sat, 15 Apr 2017 02:05:41 +0000 (22:05 -0400)]
Rollup merge of #41125 - lukaramu:std-hash-docs, r=frewsxcv

Improve std::hash docs

Fixes #29357.

For details on what exactly I've done, see the commit descriptions.

There are some things I'm not sure about, but would like to address before merging this so the issue can be closed; any feedback on these points would really be appriciated:
* [x] ~I didn't touch the module level docs at all. On the one hand, I think they could use a short overview over the module; on the other hand, the module really isn't that big and I don't know if I could really do anything beyond just duplicating the type's summaries...~
* [x] ~I feel like the module-level examples are quite long-winded and not to the point, but I couldn't really think of anything better. Any ideas?~
* [x] ~Should `Hasher` get an example for implementing it? There is one in the module documentation, but it only "implements" it via `unimplemented!` and I'm not sure what the value of that is.~
* [x] ~Should `Hasher`'s `write_{int}` methods get examples?~

If there's anything else you'd like to see in std::hash's docs, please let me know!

r? @rust-lang/docs

7 years agoAdd Unstable Book entry for 'overlapping-marker-traits'.
Corey Farwell [Sat, 15 Apr 2017 00:38:10 +0000 (20:38 -0400)]
Add Unstable Book entry for 'overlapping-marker-traits'.

7 years agoupdate tests slightly
Niko Matsakis [Thu, 30 Mar 2017 12:54:28 +0000 (08:54 -0400)]
update tests slightly