Esteban Küber [Thu, 23 May 2019 19:54:27 +0000 (12:54 -0700)]
Tweak `self` arg not as first argument of a method diagnostic
Mention that `self` is only valid on "associated functions"
```
error: unexpected `self` argument in function
--> $DIR/self-in-function-arg.rs:1:15
|
LL | fn foo(x:i32, self: i32) -> i32 { self }
| ^^^^ not valid as function argument
|
= note: `self` is only valid as the first argument of an associated function
```
When it is a method, mention it must be first
```
error: unexpected `self` argument in function
--> $DIR/trait-fn.rs:4:20
|
LL | fn c(foo: u32, self) {}
| ^^^^ must be the first associated function argument
```
bors [Sat, 25 May 2019 04:10:07 +0000 (04:10 +0000)]
Auto merge of #61150 - Centril:rollup-wmm7qga, r=Centril
Rollup of 13 pull requests
Successful merges:
- #61026 (Tweak macro parse errors when reaching EOF during macro call parse)
- #61095 (Update cargo)
- #61096 (tidy: don't short-circuit on license error)
- #61107 (Fix a couple docs typos)
- #61110 (Revert edition-guide toolstate override)
- #61111 (Fixed type-alias-bounds lint doc)
- #61113 (Deprecate `FnBox`. `Box<dyn FnOnce()>` can be called directly, since 1.35)
- #61116 (Remove the incorrect warning from README.md)
- #61118 (Dont ICE on an attempt to use GAT without feature gate)
- #61121 (improve debug-printing of scalars)
- #61125 (Updated my mailmap entry)
- #61134 (Annotate each `reverse_bits` with `#[must_use]`)
- #61138 (Move async/await tests to their own folder)
Rollup merge of #61138 - varkor:async-await-tests, r=cramertj
Move async/await tests to their own folder
This moves run-pass and ui async/await tests to their own folder `src/test/ui/async-await` and organises some into subfolders. (It does not move rustdoc tests for async/await.)
I also did some drive-by cleaning up of issues/error code tests into their own folders (which already existed). These are in separate commits, so easy to separate out if that's more desirable.
Rollup merge of #61111 - Cerberuser:patch-1, r=steveklabnik
Fixed type-alias-bounds lint doc
The example code under type-alias-bounds lint produced two warnings - one from the lint itself and another from the dead_code lint, and only the second one was in the doc. This looked like an error, so I've added `#[allow(dead_code)]` and replaced the example output with the expected one.
bors [Sat, 25 May 2019 01:20:07 +0000 (01:20 +0000)]
Auto merge of #60441 - vext01:try-to-kill-projection-params, r=oli-obk
Make place projections concrete.
**I'm not sure if we want this. I'm raising the PR for discussion**
Whilst doing some work on our Rust fork, I noticed the following:
Once upon a time (commit 9bd35c07c26) there were two kinds of
projection: one for places, and one for constants. It therefore made
sense to share the `Projection` struct for both. Although the different
use-cases used different concrete types, sharing was made possible by
type-parameterisation of `Projection`.
Since then, however, the usage of projections in constants has
disappeared, meaning that (forgetting lifetimes for a moment) the
parameterised type is only every instantiated under one guise. So it may
as well be a concrete type. Right?
What do people think? This is entirely untested, although it does check.
If we *don't* want this, then we should at least update the incorrect comment against `Projection`.
bors [Fri, 24 May 2019 19:22:13 +0000 (19:22 +0000)]
Auto merge of #60777 - pietroalbini:azure-pipelines, r=alexcrichton
Add Azure Pipelines configuration
Huge thanks to @johnterickson and @willsmythe for writing the initial config! :heart:
I applied some changes to the initial config and disabled most of the builders since we're not going to run all of them during the initial step for the evaluation.
[More details about our plans for the Azure Pipelines evaluation.](https://internals.rust-lang.org/t/update-on-the-ci-investigation/10056)
r? @alexcrichton @kennytm
cc @rust-lang/infra @ethomson @rylev
Esteban Küber [Wed, 22 May 2019 00:47:23 +0000 (17:47 -0700)]
Tweak macro parse errors when reaching EOF during macro call parse
- Add detail on origin of current parser when reaching EOF and stop
saying "found <eof>" and point at the end of macro calls
- Handle empty `cfg_attr` attribute
- Reword empty `derive` attribute error
Edd Barrett [Wed, 1 May 2019 14:34:51 +0000 (15:34 +0100)]
Make place projections concrete.
Once upon a time (commit 9bd35c07c26) there were two kinds of
projection: one for places, and one for constants. It therefore made
sense to share the `Projection` struct for both. Although the different
use-cases used different concrete types, sharing was made possible by
type-parameterisation of `Projection`.
Since then, however, the usage of projections in constants has
disappeared, meaning that (forgetting lifetimes for a moment) the
parameterised type is only every instantiated under one guise. So it may
as well be a concrete type.
bors [Fri, 24 May 2019 12:51:50 +0000 (12:51 +0000)]
Auto merge of #60568 - petrochenkov:debi, r=Mark-Simulacrum
rustbuild: Simplify debuginfo configuration
This is supposed to fix https://github.com/rust-lang/rust/issues/52179
This PR introduces one option `debuginfo-level` replacing `debuginfo` and `debuginfo-lines` and corresponding to the `rustc` flag `-C debuginfo=N`.
`debuginfo-level` serves as a default for all Rust code built during bootstrap, but it can be overridden for specific subsets of code using finer-grained options `debuginfo-level-{rustc,std,tools,tests}` replacing `debuginfo-only-std`, `debuginfo-tools` and `debuginfo-tests`.