]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoRollup merge of #55328 - raphlinus:copysign_typo, r=joshtriplett
Pietro Albini [Thu, 25 Oct 2018 12:31:21 +0000 (14:31 +0200)]
Rollup merge of #55328 - raphlinus:copysign_typo, r=joshtriplett

Fix doc for new copysign functions

Thanks to @LukasKalbertodt for catching this. Addresses a comment raised in #55169 after it was merged.

5 years agoRollup merge of #55306 - pnkfelix:issue-54478-regression-test-jemalloc-ctl, r=nikomat...
Pietro Albini [Thu, 25 Oct 2018 12:31:20 +0000 (14:31 +0200)]
Rollup merge of #55306 - pnkfelix:issue-54478-regression-test-jemalloc-ctl, r=nikomatsakis

Regression test for #54478.

This is a regression test for #54478.

I confirmed that it fails on:
rustdoc 1.30.0-beta.12 (96a229824 2018-10-04)
and passes on:
rustdoc 1.31.0-nightly (f99911a4a 2018-10-23)

Fix #54478

5 years agoRollup merge of #55296 - cuviper:rustdoc-ui-backtrace, r=nikomatsakis
Pietro Albini [Thu, 25 Oct 2018 12:31:18 +0000 (14:31 +0200)]
Rollup merge of #55296 - cuviper:rustdoc-ui-backtrace, r=nikomatsakis

Set RUST_BACKTRACE=0 for rustdoc-ui/failed-doctest-output.rs

This UI test is sensitive to backtrace output, so it should make sure
that backtraces are not enabled by the environment.

5 years agoRollup merge of #55291 - kazcw:master, r=nikomatsakis
Pietro Albini [Thu, 25 Oct 2018 12:31:17 +0000 (14:31 +0200)]
Rollup merge of #55291 - kazcw:master, r=nikomatsakis

Update stdsimd submodule

Fixes a SSE2 bug. (#55249)

5 years agoRollup merge of #55285 - integer32llc:release-notes-improvements, r=Aaronepower
Pietro Albini [Thu, 25 Oct 2018 12:31:16 +0000 (14:31 +0200)]
Rollup merge of #55285 - integer32llc:release-notes-improvements, r=Aaronepower

Do some copy editing on the release notes

I was reading through the release notes to find something and noticed
some small grammatical and consistency issues.

I'm happy to revert any of these changes if folks disagree with them!

5 years agoRollup merge of #55282 - sinkuu:redundant_clone, r=estebank
Pietro Albini [Thu, 25 Oct 2018 12:31:14 +0000 (14:31 +0200)]
Rollup merge of #55282 - sinkuu:redundant_clone, r=estebank

Remove redundant clone

5 years agoRollup merge of #55269 - matthiaskrgr:typos_oct, r=zackmdavis
Pietro Albini [Thu, 25 Oct 2018 12:31:13 +0000 (14:31 +0200)]
Rollup merge of #55269 - matthiaskrgr:typos_oct, r=zackmdavis

fix typos in various places

5 years agoRollup merge of #55254 - rust-lang:clean-two-dots, r=GuillaumeGomez
Pietro Albini [Thu, 25 Oct 2018 12:31:12 +0000 (14:31 +0200)]
Rollup merge of #55254 - rust-lang:clean-two-dots, r=GuillaumeGomez

Correct trailing ellipsis in name_from_pat

r? @GuillaumeGomez

5 years agoRollup merge of #55253 - zackmdavis:some_suggestion, r=pnkfelix
Pietro Albini [Thu, 25 Oct 2018 12:31:10 +0000 (14:31 +0200)]
Rollup merge of #55253 - zackmdavis:some_suggestion, r=pnkfelix

only issue "variant of the expected type" suggestion for enums

This suggestion (introduced in pull-request #43178 / eac74104) was being issued for one-field-struct expected types (in which case it is misleading and outright wrong), even though it was only intended for one-field enum-variants (most notably, `Some`).

Add a conditional to adhere to the original intent. (It would be possible to generalize to structs, but not obviously net desirable.) This adds a level of indentation, so the diff here is going to be
easier to read in [ignore-whitespace mode](https://github.com/rust-lang/rust/commit/b0d3d3b9?w=1).

Resolves #55250.

r? @pnkfelix

5 years agoRollup merge of #55251 - NieDzejkob:master, r=TimNN
Pietro Albini [Thu, 25 Oct 2018 12:31:08 +0000 (14:31 +0200)]
Rollup merge of #55251 - NieDzejkob:master, r=TimNN

Fix a typo in the documentation of RangeInclusive

5 years agoRollup merge of #55247 - peterjoel:peterjoel-prim-char-doc-example, r=joshtriplett
Pietro Albini [Thu, 25 Oct 2018 12:31:07 +0000 (14:31 +0200)]
Rollup merge of #55247 - peterjoel:peterjoel-prim-char-doc-example, r=joshtriplett

Clarified code example in char primitive doc

The example was not as clear as it could be because it was making an assumption about the structure of the data in order to multiply the number of elements in the slice by the item size. This change demonstrates the idea more straightforwardly, without needing a calculation, by just comparing the size of the slices.

5 years agoRollup merge of #55245 - matthiaskrgr:clippy, r=nikomatsakis
Pietro Albini [Thu, 25 Oct 2018 12:31:05 +0000 (14:31 +0200)]
Rollup merge of #55245 - matthiaskrgr:clippy, r=nikomatsakis

submodules: update clippy from 5afdf8b7 to b1d03437

Just a routine update.

Changes:
````
new_ret_no_self: add sample from #3313 to Known Problems section.
Support multiline comments and hopefully fix panic
Check for comments in collapsible ifs
Resolve ICE in needless range loop lint
RIIR update_lints: Update changelog links
Rename if_let_redundant_pattern_matching to redundant_pattern_matching
Add lint for redundant pattern matching for explicit return boolean
Fix issue #3322: reword help message for len_zero
Simplify manual_memcpy suggestion in some cases
Fix dogfood
Update known problems for unnecessary_fold
RIIR update_lints: Replace lint count in README.md
Rename `active_lints` to `usable_lints`
Add comment on WalkDir vs. fs::read_dir
sort_by -> sort_by_key
Some more documentation for clippy_dev
Use `WalkDir` to also gather from subdirectories
Avoid linting `boxed_local` on trait implementations.
Website: Make lint categories linkable
Restore clippy_dummy's placeholder name
Swap order of methods in `needless_range_loop` suggestion in some cases
Revert "Exclude pattern guards from unnecessary_fold lint"
Exclude pattern guards from unnecessary_fold lint
````

5 years agoRollup merge of #55200 - octronics:gh51430, r=kennytm
Pietro Albini [Thu, 25 Oct 2018 12:31:04 +0000 (14:31 +0200)]
Rollup merge of #55200 - octronics:gh51430, r=kennytm

Documents `From` implementations for `Stdio`

This PR solves part of #51430 by adding a basic summary and an example to each `impl From` inside `process` module (`ChildStdin`, `ChildStdout`, `ChildStderr`, `File`).

It does not document if the conversions allocate memory and how expensive they are.

5 years agoRollup merge of #55173 - estebank:suggest-static, r=oli-obk
Pietro Albini [Thu, 25 Oct 2018 12:31:03 +0000 (14:31 +0200)]
Rollup merge of #55173 - estebank:suggest-static, r=oli-obk

Suggest appropriate syntax on missing lifetime specifier in return type

Suggest using `'static` when a lifetime is missing in the return type
with a structured suggestion instead of a note.

Fix #55170.

5 years agoRollup merge of #55138 - zackmdavis:the_paren_trap, r=pnkfelix
Pietro Albini [Thu, 25 Oct 2018 12:31:01 +0000 (14:31 +0200)]
Rollup merge of #55138 - zackmdavis:the_paren_trap, r=pnkfelix

in which unused-parens suggestions heed what the user actually wrote

Aaron Hill pointed out that unnecessary parens around a macro call (paradigmatically, `format!`) yielded a suggestion of hideous macro-expanded code. `span_to_snippet` is fallable as far as the type system is concerned, so the pretty-printing can live on in the oft-neglected `else` branch.

Resolves #55109.

5 years agoRollup merge of #54977 - estebank:macro-arg-parse, r=pnkfelix
Pietro Albini [Thu, 25 Oct 2018 12:31:00 +0000 (14:31 +0200)]
Rollup merge of #54977 - estebank:macro-arg-parse, r=pnkfelix

Accept `Option<Box<$t:ty>>` in macro argument

Given the following code, compile successfuly:

```
macro_rules! test {
    (
        fn fun() -> Option<Box<$t:ty>>;
    ) => {
        fn fun(x: $t) -> Option<Box<$t>>
        { Some(Box::new(x)) }
    }
}

test! {
    fn fun() -> Option<Box<i32>>;
}
```

Fix #25274.

5 years agoRollup merge of #54965 - chathaway-codes:update-tcp-stream-docs, r=GuillaumeGomez
Pietro Albini [Thu, 25 Oct 2018 12:30:59 +0000 (14:30 +0200)]
Rollup merge of #54965 - chathaway-codes:update-tcp-stream-docs, r=GuillaumeGomez

update tcp stream documentation

A small styling issue that seemed inconsistent here when compared to other places (such as https://doc.rust-lang.org/beta/std/net/struct.TcpListener.html).

5 years agoRollup merge of #53931 - iirelu:keyword-docs, r=steveklabnik
Pietro Albini [Thu, 25 Oct 2018 12:30:58 +0000 (14:30 +0200)]
Rollup merge of #53931 - iirelu:keyword-docs, r=steveklabnik

Gradually expanding libstd's keyword documentation

I'm working on adding new keywords to the documentation and refreshing the incomplete older ones, and I'm hoping that I can eventually add all the standalone-usable keywords after a bunch of incremental work. It would be cool to see the keywords section of std's docs be a definitive reference as to what each keyword means when you see it, and that's what I'm aiming towards with this work.

I'm far from a Rust expert so there will inevitably be things to fix in this, also I'm not sure if this should be a bunch of quickly-merged PRs or one gradually-updated PR that gets merged once it's done.

5 years agoRollup merge of #53507 - phungleson:fix-impl-from-for-waker, r=cramertj
Pietro Albini [Thu, 25 Oct 2018 12:30:56 +0000 (14:30 +0200)]
Rollup merge of #53507 - phungleson:fix-impl-from-for-waker, r=cramertj

Add doc for impl From for Waker

As part of issue #51430 (cc @skade).

The impl is very simple, so not sure if we need to go into any details.

5 years agoAuto merge of #54658 - petrochenkov:experelude, r=nikomatsakis
bors [Thu, 25 Oct 2018 09:18:17 +0000 (09:18 +0000)]
Auto merge of #54658 - petrochenkov:experelude, r=nikomatsakis

Add `extern crate` items to extern prelude

With this patch each `extern crate orig_name as name` item adds name `name` into the extern prelude, as if it was passed with `--extern`.

What changes this causes in practice?
Almost none! After all, `--extern` passed from Cargo was supposed to replace `extern crate` items in source, so if some code has `extern crate` item (or had it on 2015 edition), then it most likely uses `--extern` as well...

... with exception of a few important cases.

- Crates using `proc_macro`. `proc_macro` is not passed with `--extern` right now and is therefore not in extern prelude.
Together with 2018 edition import behavior this causes problems like https://github.com/rust-lang/rust/issues/54418, e.g.
    ```rust
    extern crate proc_macro;
    use proc_macro::TokenStream;
    ```
    doesn't work.
It starts working after this patch.

- `#[no_std]` crates using `std` conditionally, like @aturon described in https://github.com/rust-lang/rust/issues/53166#issuecomment-425219286, and still wanting to write `std` instead of `crate::std`. This PR covers that case as well.
This allows us to revert placing `std` into the extern prelude unconditionally, which was, I think, a [bad idea](https://github.com/rust-lang/rust/issues/53166#issuecomment-425117829).

- Later `extern crate` syntax can be extended to support adding an alias to some local path to extern prelude, as it may be required for resolving https://github.com/rust-lang/rust/issues/54647.

Notes:
- Only `extern crate` items from the root module added to the prelude, mostly because this behavior for items from inner modules would look very strange, rather than for technical reasons.
This means you can opt out from the prelude additions with something like
    ```rust
    mod inner {
        pub(crate) extern crate foo;
    }
    use inner::foo;
    ```
- I haven't updated logic for 2018 import canaries to work fully correctly with this. The cases where it matters are pretty exotic (the `extern crate` item must be "sufficiently macro expanded") and I'd rather spend the time on eliminating the canaries entirely.

5 years agoFix doc for new copysign functions
Raph Levien [Wed, 24 Oct 2018 22:19:23 +0000 (15:19 -0700)]
Fix doc for new copysign functions

Thanks to @LukasKalbertodt for catching this. Addresses a comment
raised in #55169 after it was merged.

5 years agoDocuments `From` implementations for `Stdio`
OCTronics [Fri, 19 Oct 2018 10:00:45 +0000 (12:00 +0200)]
Documents `From` implementations for `Stdio`

Add a basic summary and an example to From `ChildStdin`, `ChildStdout`,
`ChildStderr`, `File` implementations.

5 years agoThis is a regression test for #54478.
Felix S. Klock II [Wed, 24 Oct 2018 10:19:47 +0000 (12:19 +0200)]
This is a regression test for #54478.

I confirmed that it fails on:
rustdoc 1.30.0-beta.12 (96a229824 2018-10-04)
and passes on:
rustdoc 1.31.0-nightly (f99911a4a 2018-10-23)

5 years agoSet RUST_BACKTRACE=0 for rustdoc-ui/failed-doctest-output.rs
Josh Stone [Tue, 23 Oct 2018 22:38:31 +0000 (15:38 -0700)]
Set RUST_BACKTRACE=0 for rustdoc-ui/failed-doctest-output.rs

This UI test is sensitive to backtrace output, so it should make sure
that backtraces are not enabled by the environment.

5 years agoProhibit macro-expanded `extern crate` items shadowing crates passed with `--extern`
Vadim Petrochenkov [Tue, 23 Oct 2018 22:03:47 +0000 (01:03 +0300)]
Prohibit macro-expanded `extern crate` items shadowing crates passed with `--extern`

5 years agoUpdate comment based on suggestion.
Son [Tue, 23 Oct 2018 22:28:04 +0000 (09:28 +1100)]
Update comment based on suggestion.

5 years agoMinor doc improvements
Vadim Petrochenkov [Mon, 22 Oct 2018 19:54:18 +0000 (22:54 +0300)]
Minor doc improvements

5 years agoFeature gate extern prelude additions from `extern crate` items
Vadim Petrochenkov [Sat, 20 Oct 2018 17:26:24 +0000 (20:26 +0300)]
Feature gate extern prelude additions from `extern crate` items

Fix rustdoc and fulldeps tests

5 years agoAdd `extern crate` items to extern prelude
Vadim Petrochenkov [Fri, 28 Sep 2018 22:31:54 +0000 (01:31 +0300)]
Add `extern crate` items to extern prelude

5 years agoHopefully fix compile error
iirelu [Tue, 23 Oct 2018 20:27:02 +0000 (22:27 +0200)]
Hopefully fix compile error

This was added in the fortnight this PR spent stale. I'm hoping this
one-liner fixes it.

5 years agoAuto merge of #55229 - nikomatsakis:issue-54692-closure-signatures, r=MatthewJasper
bors [Tue, 23 Oct 2018 17:44:19 +0000 (17:44 +0000)]
Auto merge of #55229 - nikomatsakis:issue-54692-closure-signatures, r=MatthewJasper

enforce user annotations in closure signatures

Not *quite* ready yet but I'm opening anyway. Still have to finish running tests locally.

Fixes #54692
Fixes #54124

r? @matthewjasper

5 years agoUpdate stdsimd submodule
Kaz Wesley [Tue, 23 Oct 2018 16:39:33 +0000 (09:39 -0700)]
Update stdsimd submodule

Fixes a SSE2 bug.

5 years agotype_check/mod.rs: rustfmt
Niko Matsakis [Tue, 23 Oct 2018 14:57:06 +0000 (10:57 -0400)]
type_check/mod.rs: rustfmt

5 years agocheck the self type is well-formed
Niko Matsakis [Tue, 23 Oct 2018 14:30:41 +0000 (10:30 -0400)]
check the self type is well-formed

This fixes `issue-28848.rs` -- it also handles another case that the
AST region checker gets wrong (`wf-self-type.rs`).  I don't actually
think that this is the *right way* to be enforcing this constraint --
I think we should probably do it more generally, perhaps by editing
`predicates_of` for the impl itself. The chalk-style implied bounds
setup ought to fix this.

5 years agofix typos in various places
Matthias Krüger [Mon, 22 Oct 2018 16:21:55 +0000 (18:21 +0200)]
fix typos in various places

5 years agoDo some copy editing on the release notes
Carol (Nichols || Goulding) [Tue, 23 Oct 2018 11:53:48 +0000 (07:53 -0400)]
Do some copy editing on the release notes

I was reading through the release notes to find something and noticed
some small grammatical and consistency issues.

5 years agoAuto merge of #55281 - alexcrichton:revert-demote, r=petrochenkov
bors [Tue, 23 Oct 2018 10:56:41 +0000 (10:56 +0000)]
Auto merge of #55281 - alexcrichton:revert-demote, r=petrochenkov

Revert "rustc: Fix (again) simd vectors by-val in ABI"

This reverts commit 3cc8f738d4247a9b475d8e074b621e602ac2b7be.

5 years agoAuto merge of #55113 - mockersf:master, r=estebank
bors [Tue, 23 Oct 2018 08:17:18 +0000 (08:17 +0000)]
Auto merge of #55113 - mockersf:master, r=estebank

#45829 when a renamed import conflict with a previous import

Fix the suggestion when a renamed import conflict.

It check if the snipped contains `" as "`, and if so uses everything before for the suggestion.

5 years agoRemove redundant clone
Shotaro Yamada [Tue, 23 Oct 2018 08:13:59 +0000 (17:13 +0900)]
Remove redundant clone

5 years agoRevert "rustc: Fix (again) simd vectors by-val in ABI"
Alex Crichton [Tue, 23 Oct 2018 07:59:14 +0000 (00:59 -0700)]
Revert "rustc: Fix (again) simd vectors by-val in ABI"

This reverts commit 3cc8f738d4247a9b475d8e074b621e602ac2b7be.

5 years agoAuto merge of #54778 - scottmcm:stabilize-ihle, r=pnkfelix
bors [Tue, 23 Oct 2018 04:05:50 +0000 (04:05 +0000)]
Auto merge of #54778 - scottmcm:stabilize-ihle, r=pnkfelix

Stabilize impl_header_lifetime_elision in 2015

~~This is currently blocked on https://github.com/rust-lang/rust/issues/54902; it should be good after that~~

It's already stable in 2018; this finishes the stabilization.

FCP completed (https://github.com/rust-lang/rust/issues/15872#issuecomment-417953153), proposal (https://github.com/rust-lang/rust/issues/15872#issuecomment-412759783).

Tracking issue: https://github.com/rust-lang/rust/issues/15872
Usage examples (from libcore): https://github.com/rust-lang/rust/pull/54687

5 years agoAuto merge of #55231 - zackmdavis:determinate, r=oli-obk
bors [Tue, 23 Oct 2018 01:24:26 +0000 (01:24 +0000)]
Auto merge of #55231 - zackmdavis:determinate, r=oli-obk

pick a reference issue for absolute-paths future incompatibility info

It would be kind of embarrassing to ship with the "issue TBD" message!

5 years ago[review comments] modify test and clean up code
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer [Fri, 19 Oct 2018 17:43:43 +0000 (10:43 -0700)]
[review comments] modify test and clean up code

Co-Authored-By: estebank <esteban@kuber.com.ar>
5 years agoreview comments
Esteban Küber [Thu, 18 Oct 2018 20:05:38 +0000 (13:05 -0700)]
review comments

5 years agoSuggest appropriate syntax on missing lifetime specifier in return type
Esteban Küber [Thu, 18 Oct 2018 04:07:31 +0000 (21:07 -0700)]
Suggest appropriate syntax on missing lifetime specifier in return type

Suggest using `'static` when a lifetime is missing in the return type
with a structured suggestion instead of a note.

5 years agostop reporting "unsatisfied lifetime bounds" errors after the first
Niko Matsakis [Mon, 22 Oct 2018 15:20:17 +0000 (11:20 -0400)]
stop reporting "unsatisfied lifetime bounds" errors after the first

In particular, after the first for a given region variable. This
suppresses a lot of duplicate errors.

5 years agoflesh out closure-substs test
Niko Matsakis [Mon, 22 Oct 2018 13:19:33 +0000 (09:19 -0400)]
flesh out closure-substs test

5 years agofix incremental test
Niko Matsakis [Sat, 20 Oct 2018 22:26:27 +0000 (18:26 -0400)]
fix incremental test

5 years agoadd regression test for #54124
Niko Matsakis [Sat, 20 Oct 2018 19:00:57 +0000 (15:00 -0400)]
add regression test for #54124

Fixes #54124

5 years agostart enforcing closure types
Niko Matsakis [Sat, 20 Oct 2018 12:38:16 +0000 (08:38 -0400)]
start enforcing closure types

5 years agorecord supplied sig of closure
Niko Matsakis [Fri, 19 Oct 2018 21:24:24 +0000 (17:24 -0400)]
record supplied sig of closure

5 years agoconvert user-provided signatures into def-id
Niko Matsakis [Fri, 19 Oct 2018 21:19:29 +0000 (17:19 -0400)]
convert user-provided signatures into def-id

5 years agoadd a table to track user-provided signatures
Niko Matsakis [Fri, 19 Oct 2018 10:25:12 +0000 (06:25 -0400)]
add a table to track user-provided signatures

5 years agobetter dummy span detection and remove redundant branch
François Mockers [Mon, 22 Oct 2018 07:08:09 +0000 (09:08 +0200)]
better dummy span detection and remove redundant branch

5 years agoAuto merge of #55224 - kryptan:master, r=matthewjasper
bors [Mon, 22 Oct 2018 03:41:28 +0000 (03:41 +0000)]
Auto merge of #55224 - kryptan:master, r=matthewjasper

Use a keyword in raw identifier example

That's a very small documentation fix. The text says "you can now use keywords as identifiers" but example didn't use a keyword and would work without raw identifiers.

5 years agoAuto merge of #55126 - GuillaumeGomez:improve-search-tabs, r=QuietMisdreavus
bors [Mon, 22 Oct 2018 01:04:52 +0000 (01:04 +0000)]
Auto merge of #55126 - GuillaumeGomez:improve-search-tabs, r=QuietMisdreavus

improve search tabs look

Fixes #55056.

![screenshot from 2018-10-16 19-06-48](https://user-images.githubusercontent.com/3050060/47034247-1e08b280-d177-11e8-9c1e-c7320af9b561.png)

![screenshot from 2018-10-16 19-09-39](https://user-images.githubusercontent.com/3050060/47034255-2365fd00-d177-11e8-8686-4765d3e56ff5.png)

With this, I think it'll be more obvious.

cc @memoryruins

r? @QuietMisdreavus

5 years agoCorrect trailing ellipsis in name_from_pat
varkor [Sun, 21 Oct 2018 23:31:07 +0000 (00:31 +0100)]
Correct trailing ellipsis in name_from_pat

5 years agoonly issue "variant of the expected type" suggestion for enums
Zack M. Davis [Sun, 21 Oct 2018 22:37:01 +0000 (15:37 -0700)]
only issue "variant of the expected type" suggestion for enums

Felix S. Klock II pointed out that this suggestion (introduced in
pull-request #43178 / eac74104) was being issued for one-field-struct
expected types (in which case it is misleading and outright wrong),
even though it was only intended for one-field enum-variants (most
notably, `Some`). Particularly tender-hearted code-historians may be
inclined to show mercy towards the author of #43178 on the grounds
that it's somewhat confusing that struct field definitions are given
in a type called `ty::VariantDef`.

Add a conditional to adhere to the original intent. (It would be
possible to generalize to structs, but not obviously net desirable.)
This adds a level of indentation, so the diff here is going to be
easier to read in ignore-whitespace mode (`-w`).

Resolves #55250.

5 years agoFix a typo in the documentation of RangeInclusive
Jakub Kądziołka [Sun, 21 Oct 2018 21:42:19 +0000 (23:42 +0200)]
Fix a typo in the documentation of RangeInclusive

5 years agoAuto merge of #55179 - bjorn3:miri_public_op_field, r=RalfJung
bors [Sun, 21 Oct 2018 20:07:34 +0000 (20:07 +0000)]
Auto merge of #55179 - bjorn3:miri_public_op_field, r=RalfJung

Give OpTy access to locals for priroda

r? @oli-obk

5 years agoClarified code example
Peter Hall [Sun, 21 Oct 2018 17:53:09 +0000 (18:53 +0100)]
Clarified code example

The example was not as clear as it could be because it was making an assumption about the structure of the data in order to multiply the number of collection elements by the item size. This change demonstrates the idea more straightforwardly, without the calculation.

5 years agoAuto merge of #55236 - petrochenkov:pfail, r=davidtwco
bors [Sun, 21 Oct 2018 17:26:16 +0000 (17:26 +0000)]
Auto merge of #55236 - petrochenkov:pfail, r=davidtwco

Move parse-fail tests to UI

cc https://github.com/rust-lang/rust/issues/53353

r? @davidtwco

5 years agoimprove search tabs look
Guillaume Gomez [Tue, 16 Oct 2018 17:07:41 +0000 (19:07 +0200)]
improve search tabs look

5 years agosubmodules: update clippy from 5afdf8b7 to b1d03437
Matthias Krüger [Sun, 21 Oct 2018 15:53:12 +0000 (17:53 +0200)]
submodules: update clippy from 5afdf8b7 to b1d03437

Changes:
````
new_ret_no_self: add sample from #3313 to Known Problems section.
Support multiline comments and hopefully fix panic
Check for comments in collapsible ifs
Resolve ICE in needless range loop lint
RIIR update_lints: Update changelog links
Rename if_let_redundant_pattern_matching to redundant_pattern_matching
Add lint for redundant pattern matching for explicit return boolean
Fix issue #3322: reword help message for len_zero
Simplify manual_memcpy suggestion in some cases
Fix dogfood
Update known problems for unnecessary_fold
RIIR update_lints: Replace lint count in README.md
Rename `active_lints` to `usable_lints`
Add comment on WalkDir vs. fs::read_dir
sort_by -> sort_by_key
Some more documentation for clippy_dev
Use `WalkDir` to also gather from subdirectories
Avoid linting `boxed_local` on trait implementations.
Website: Make lint categories linkable
Restore clippy_dummy's placeholder name
Swap order of methods in `needless_range_loop` suggestion in some cases
Revert "Exclude pattern guards from unnecessary_fold lint"
Exclude pattern guards from unnecessary_fold lint
````

5 years agoAuto merge of #52984 - fabric-and-ink:remove-canonical-var, r=scalexm
bors [Sun, 21 Oct 2018 14:42:35 +0000 (14:42 +0000)]
Auto merge of #52984 - fabric-and-ink:remove-canonical-var, r=scalexm

Replace CanonicalVar with DebruijnIndex

Close #49887

5 years agoAddress review comments
bjorn3 [Sun, 21 Oct 2018 14:16:23 +0000 (16:16 +0200)]
Address review comments

5 years agoRename read_local_of_frame to access_local
bjorn3 [Sat, 20 Oct 2018 12:39:23 +0000 (14:39 +0200)]
Rename read_local_of_frame to access_local

5 years agoRename alloc_map_ref to alloc_map
bjorn3 [Sat, 20 Oct 2018 11:42:25 +0000 (13:42 +0200)]
Rename alloc_map_ref to alloc_map

5 years agoAdd alloc_map accessor
bjorn3 [Sat, 20 Oct 2018 09:09:44 +0000 (11:09 +0200)]
Add alloc_map accessor

5 years agoUse `read_local_of_frame` in `eval_place_to_op`
bjorn3 [Sat, 20 Oct 2018 09:02:39 +0000 (11:02 +0200)]
Use `read_local_of_frame` in `eval_place_to_op`

Also make `layout_of_local` accept any `Frame`

5 years agoFix errors
bjorn3 [Fri, 19 Oct 2018 12:23:20 +0000 (14:23 +0200)]
Fix errors

5 years agoAdd method to get OpTy for local from arbitrary frame
bjorn3 [Fri, 19 Oct 2018 12:12:42 +0000 (14:12 +0200)]
Add method to get OpTy for local from arbitrary frame

5 years agoMake OpTy field op public for priroda
bjorn3 [Thu, 18 Oct 2018 12:17:01 +0000 (14:17 +0200)]
Make OpTy field op public for priroda

5 years agoAuto merge of #55069 - matthewjasper:explain-free-region-liveness, r=nikomatsakis
bors [Sun, 21 Oct 2018 12:04:25 +0000 (12:04 +0000)]
Auto merge of #55069 - matthewjasper:explain-free-region-liveness, r=nikomatsakis

[NLL] Use new region infer errors when explaining borrows

Use the new free region infer errors for explaining borrows

This gives at least some explanation for why a borrow is expected to
last for a certain free region. Also:

* Reports E0373: "closure may outlive the current function" with NLL.
* Special cases the case of returning a reference to (or value referencing) a local variable or temporary (E0515).
* Special case assigning a reference to a local variable in a closure to a captured variable. (E0521)

Closes #51026 - `regions-nested-fns-2.rs` isn't changed to that diagnostic, since that would not be the correct error here.
Closes #51169
cc #53882 - The error is (IMO) better now, but it could be better when we trace lifetimes in these error messages.

r? @nikomatsakis cc @pnkfelix

5 years agoUse new region infer errors for explaining borrows
Matthew Jasper [Sun, 14 Oct 2018 14:12:02 +0000 (15:12 +0100)]
Use new region infer errors for explaining borrows

This gives at least some explanation for why a borrow is expected to
last for a certain free region. Also:

* Reports E0373: "closure may outlive the current function" with NLL.
* Special cases the case of returning a reference to (or value
  referencing) a local variable or temporary (E0515).
* Special case assigning a reference to a local variable in a closure
  to a captured variable.

5 years agoFix a few tests with target-specific output
Vadim Petrochenkov [Sun, 21 Oct 2018 00:21:16 +0000 (03:21 +0300)]
Fix a few tests with target-specific output

Enable one fully ignored test

5 years agoMake sure all ui/parse tests have `-Z parse-only`
Vadim Petrochenkov [Sat, 20 Oct 2018 21:38:23 +0000 (00:38 +0300)]
Make sure all ui/parse tests have `-Z parse-only`

Except those testing parsing during macro expansion

5 years agoMake some ui/parser tests compile-pass
Vadim Petrochenkov [Sat, 20 Oct 2018 21:02:06 +0000 (00:02 +0300)]
Make some ui/parser tests compile-pass

5 years agoMove more parsing tests to ui/parser
Vadim Petrochenkov [Sat, 20 Oct 2018 20:53:16 +0000 (23:53 +0300)]
Move more parsing tests to ui/parser

5 years agoRemove the parse-fail test suite
Vadim Petrochenkov [Sat, 20 Oct 2018 20:43:35 +0000 (23:43 +0300)]
Remove the parse-fail test suite

5 years agoMove parse-fail tests to UI
Vadim Petrochenkov [Sat, 20 Oct 2018 20:36:17 +0000 (23:36 +0300)]
Move parse-fail tests to UI

5 years agoAuto merge of #55125 - RalfJung:stacked-borrows, r=oli-obk
bors [Sun, 21 Oct 2018 09:32:25 +0000 (09:32 +0000)]
Auto merge of #55125 - RalfJung:stacked-borrows, r=oli-obk

miri engine: Hooks for basic stacked borrows

r? @oli-obk

5 years agoAuto merge of #54919 - alexcrichton:update-cargo, r=Mark-Simulacrum
bors [Sun, 21 Oct 2018 06:48:10 +0000 (06:48 +0000)]
Auto merge of #54919 - alexcrichton:update-cargo, r=Mark-Simulacrum

Update Cargo, build curl/OpenSSL statically via features

In addition to to updating Cargo's submodule and Cargo's dependencies,
this also updates Cargo's build to build OpenSSL statically into Cargo
as well as libcurl unconditionally. This removes OpenSSL build logic
from the bootstrap code, and otherwise requests that even on OSX we
build curl statically.

5 years agoUpdate Cargo, build curl/OpenSSL statically via features
Alex Crichton [Mon, 8 Oct 2018 17:39:09 +0000 (10:39 -0700)]
Update Cargo, build curl/OpenSSL statically via features

In addition to to updating Cargo's submodule and Cargo's dependencies,
this also updates Cargo's build to build OpenSSL statically into Cargo
as well as libcurl unconditionally. This removes OpenSSL build logic
from the bootstrap code, and otherwise requests that even on OSX we
build curl statically.

5 years agoupdate miri
Ralf Jung [Sat, 20 Oct 2018 23:32:45 +0000 (01:32 +0200)]
update miri

5 years agoAuto merge of #55230 - Manishearth:rollup, r=Manishearth
bors [Sat, 20 Oct 2018 22:23:36 +0000 (22:23 +0000)]
Auto merge of #55230 - Manishearth:rollup, r=Manishearth

Rollup of 5 pull requests

Successful merges:

 - #55156 (Fixed: Multiple errors on single typo in match pattern)
 - #55189 (update books for the next release)
 - #55193 (make asm diagnostic instruction optional)
 - #55203 (Write an initial version of the `program_clauses` callback)
 - #55213 (ignore target folders)

Failed merges:

r? @ghost

5 years agomanage cases with tabs or other whitespaces
François Mockers [Sat, 20 Oct 2018 22:23:29 +0000 (00:23 +0200)]
manage cases with tabs or other whitespaces

5 years agoGive an error number for "borrowed data escapes outside of closure"
Matthew Jasper [Sun, 14 Oct 2018 13:53:10 +0000 (14:53 +0100)]
Give an error number for "borrowed data escapes outside of closure"

5 years agoUse more accurate `ConstraintCategory`s
Matthew Jasper [Sat, 13 Oct 2018 13:23:23 +0000 (14:23 +0100)]
Use more accurate `ConstraintCategory`s

Adds UseAsConst and UseAsStatic to replace Return in consts/statics.
Don't report the arguments to an overloaded operator as CallArguments.
Also don't report "escaping data" in these items.

5 years agoPrefer type annotations and returns in free region errors
Matthew Jasper [Sat, 13 Oct 2018 12:21:04 +0000 (13:21 +0100)]
Prefer type annotations and returns in free region errors

5 years agoRollup merge of #55213 - qmx:tidy-fix, r=tmandry
Manish Goregaokar [Sat, 20 Oct 2018 20:15:52 +0000 (13:15 -0700)]
Rollup merge of #55213 - qmx:tidy-fix, r=tmandry

when you try to edit a crate inside the compiler tree using rls, it
generates it's assets under target/rls, then tidy is trying to validate
line lenghts for C headers, etc

5 years agoRollup merge of #55203 - scalexm:program-clauses, r=nikomatsakis
Manish Goregaokar [Sat, 20 Oct 2018 20:15:48 +0000 (13:15 -0700)]
Rollup merge of #55203 - scalexm:program-clauses, r=nikomatsakis

Sometimes I just return `ty::List::empty()` because I cannot express these \"built-in\" clauses without bound tys support.

r? @nikomatsakis

5 years agoRollup merge of #55189 - steveklabnik:update-books, r=QuietMisdreavus
Manish Goregaokar [Sat, 20 Oct 2018 20:15:45 +0000 (13:15 -0700)]
Rollup merge of #55189 - steveklabnik:update-books, r=QuietMisdreavus

Sending this PR in today so we can see what linkchecker wants overnight; please don't r+ until travis is green!

5 years agoRollup merge of #55073 - alexcrichton:demote-simd, r=nagisa
Manish Goregaokar [Sat, 20 Oct 2018 20:15:39 +0000 (13:15 -0700)]
Rollup merge of #55073 - alexcrichton:demote-simd, r=nagisa

The issue of passing around SIMD types as values between functions has
seen [quite a lot] of [discussion], and although we thought [we fixed
it][quite a lot] it [wasn't]! This PR is a change to rustc to, again,
try to fix this issue.

The fundamental problem here remains the same, if a SIMD vector argument
is passed by-value in LLVM's function type, then if the caller and
callee disagree on target features a miscompile happens. We solve this
by never passing SIMD vectors by-value, but LLVM will still thwart us
with its argument promotion pass to promote by-ref SIMD arguments to
by-val SIMD arguments.

This commit is an attempt to thwart LLVM thwarting us. We, just before
codegen, will take yet another look at the LLVM module and demote any
by-value SIMD arguments we see. This is a very manual attempt by us to
ensure the codegen for a module keeps working, and it unfortunately is
likely producing suboptimal code, even in release mode. The saving grace
for this, in theory, is that if SIMD types are passed by-value across
a boundary in release mode it's pretty unlikely to be performance
sensitive (as it's already doing a load/store, and otherwise
perf-sensitive bits should be inlined).

The implementation here is basically a big wad of C++. It was largely
copied from LLVM's own argument promotion pass, only doing the reverse.
In local testing this...

Closes #50154
Closes #52636
Closes #54583
Closes #55059

[quite a lot]: https://github.com/rust-lang/rust/pull/47743
[discussion]: https://github.com/rust-lang/rust/issues/44367
[wasn't]: https://github.com/rust-lang/rust/issues/50154

5 years agoAuto merge of #55156 - PramodBisht:issue/52717, r=estebank
bors [Sat, 20 Oct 2018 19:45:53 +0000 (19:45 +0000)]
Auto merge of #55156 - PramodBisht:issue/52717, r=estebank

Fixed: Multiple errors on single typo in match pattern

Here we have fixed the case where we were throwing two diagnostic messages `E0026` and `E0027` for same case.

Example
```
error[E0026]: variant `A::A` does not have a field named `fob`
  --> src/test/ui/issue-52717.rs:20:12
   |
20 |     A::A { fob } => { println!("{}", fob); }
   |            ^^^ variant `A::A` does not have this field

error[E0027]: pattern does not mention field `foo`
  --> src/test/ui/issue-52717.rs:20:5
   |
20 |     A::A { fob } => { println!("{}", fob); }
   |     ^^^^^^^^^^^^ missing field `foo`

error: aborting due to 2 previous errors
```

Here above we can see that both `E0026` and `E0027` are depicting
same thing.

So, to fix this issue, we are simply checking if for last element of `inexistent_fields` is there any value lies in `unmentioned_fields` using levenshtein algorithm, if it does then for that case we are simply deleting element from `unmentioned_fields`. More or less, now instead of showing separate message in `E0027` we are giving extra hint on `E0026`

r? @estebank

5 years agopick a reference issue for absolute-paths future incompatibility info
Zack M. Davis [Sat, 20 Oct 2018 18:17:42 +0000 (11:17 -0700)]
pick a reference issue for absolute-paths future incompatibility info

It would be kind of embarrassing to ship with the "issue TBD" message!

5 years agoRename InferTy::CanonicalTy to BoundTy and add DebruijnIndex to variant type
Fabian Drinck [Sat, 20 Oct 2018 17:07:17 +0000 (19:07 +0200)]
Rename InferTy::CanonicalTy to BoundTy and add DebruijnIndex to variant type

5 years agoRename CanonicalVar to BoundTyIndex
Fabian Drinck [Sat, 20 Oct 2018 16:39:29 +0000 (18:39 +0200)]
Rename CanonicalVar to BoundTyIndex

5 years agoAuto merge of #55119 - varkor:unwarned-match-on-never, r=nikomatsakis
bors [Sat, 20 Oct 2018 15:02:26 +0000 (15:02 +0000)]
Auto merge of #55119 - varkor:unwarned-match-on-never, r=nikomatsakis

Allow explicit matches on ! without warning

It's now possible to explicitly match on `!` without an unreachable code warning. This seems desirable as promoting explicitness.

Fixes https://github.com/rust-lang/rust/issues/55116.

5 years agoUse a keyword in raw identifier example
kryptan [Sat, 20 Oct 2018 12:24:38 +0000 (15:24 +0300)]
Use a keyword in raw identifier example