Commit graph

109320 commits

Author SHA1 Message Date
Joshua Nelson
444f5a0556 Give a much better error message if the struct failed to resolve 2020-08-05 00:20:34 -04:00
Joshua Nelson
99354f552d item -> link 2020-08-03 08:39:46 -04:00
Joshua Nelson
743f932742 Keep the previous behavior of register_res
Now that we're returning the `Res` of the associated item,
not the trait itself, it got confused.
2020-08-02 23:49:32 -04:00
Joshua Nelson
519c85439a Don't mark associated items as traits
This caused the following false positive:

```
warning: unresolved link to `Default::default`
 --> /home/joshua/rustc2/default.rs:1:14
  |
1 | /// Link to [Default::default()]
  |              ^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(broken_intra_doc_links)]` on by default
note: this item resolved to a trait, which did not match the disambiguator 'fn'
 --> /home/joshua/rustc2/default.rs:1:14
  |
1 | /// Link to [Default::default()]
  |              ^^^^^^^^^^^^^^^^^^
```
2020-08-02 22:49:12 -04:00
Joshua Nelson
8e0e925e2b Disallow linking to items with a mismatched disambiguator 2020-08-02 22:39:46 -04:00
bors
f042d749b0 Auto merge of #74826 - matklad:mbe-fragment, r=petrochenkov
Introduce NonterminalKind for more type-safe mbe parsing

It encapsulate the (part of) the interface between the parser and
macro by example (macro_rules) parser.

The second bit is somewhat more general `parse_ast_fragment`, which is
the reason why we keep some `parse_xxx` functions as public.
2020-08-02 19:48:44 +00:00
bors
19cefa6864 Auto merge of #74963 - JohnTitor:ptn-ice, r=petrochenkov
Fix ICEs with `@ ..` binding

This reverts #74557 and introduces an alternative fix while ensuring that #74954 is not broken.
The diagnostics are verbose though, it fixes three related issues.
cc #74954, #74539, and #74702
2020-08-02 18:01:27 +00:00
Yuki Okushi
50f2b5d9a0
Rollup merge of #75057 - Mark-Simulacrum:avoid-long-print, r=alexcrichton
Avoid dumping rustc invocations to stdout

These are quite long, usually, and in most cases not interesting. On smaller
terminals they can take up more than a full page of output, hiding the error
diagnostics emitted.
2020-08-03 01:05:28 +09:00
Yuki Okushi
595a2f5c6b
Rollup merge of #75054 - cjgillot:rename-depkind, r=petrochenkov
Rename rustc_middle::cstore::DepKind to CrateDepKind

It is ambiguous with DepGraph's own DepKind.
2020-08-03 01:05:27 +09:00
Yuki Okushi
d4cc6d8394
Rollup merge of #75044 - GuillaumeGomez:cleanup-e0744, r=pickfire
Clean up E0744 explanation

r? @Dylan-DPC
2020-08-03 01:05:25 +09:00
Yuki Okushi
e7288486df
Rollup merge of #75041 - pawanbisht62:feature/replace-log-with-tracing, r=oli-obk
Replaced log with tracing crate

Issue #74747
2020-08-03 01:05:23 +09:00
Yuki Okushi
21ebf6900d
Rollup merge of #75010 - Aaron1011:feature/remove-old-deps, r=Mark-Simulacrum
Update elasticlunr-rs and ammonia transitive deps

This removes all dependencies on pre-1.0 proc-macro ecosystem crates
(syn, quote, and proc-macro2)
2020-08-03 01:05:22 +09:00
Yuki Okushi
5323b9fd9c
Rollup merge of #74781 - GuillaumeGomez:cleanup-e0733, r=jyn514
Clean up E0733 explanation

r? @Dylan-DPC
2020-08-03 01:05:15 +09:00
Mark Rousskov
cc7abc7563 Avoid dumping rustc invocations to stdout
These are quite long, usually, and in most cases not interesting. On smaller
terminals they can take up more than a full page of output, hiding the error
diagnostics emitted.
2020-08-02 10:54:13 -04:00
Camille GILLOT
4d4b8f2d41 Rename rustc_middle::cstore::DepKind to DependencyKind. 2020-08-02 16:21:46 +02:00
bors
e8876ae2c1 Auto merge of #74675 - pietroalbini:aarch64-ci-fallible, r=Mark-Simulacrum
Add fallible AArch64 CI builder

This adds the `aarch64-gnu` CI builder to the `auto-fallible` job, as a first step in the process of actually gating on it.

r? @Mark-Simulacrum
2020-08-02 14:08:48 +00:00
bors
fd4d151aed Auto merge of #74210 - estebank:type-ascriptomatic, r=petrochenkov
Deduplicate `::` -> `:` typo errors

Deduplicate errors caused by the same type ascription typo, including
ones suggested during parsing that would get reported again during
resolve. Fix #70382.
2020-08-02 12:20:09 +00:00
Aleksey Kladov
1a2d07e084 Formatting: don't mix mod and use
Seems to be a fallout from rustfmt transition
2020-08-02 14:09:25 +02:00
Aleksey Kladov
7fdffe183d Use NonterminalKind for MetaVarDecl
This is more type safe and allows us to remove a few dead branches
2020-08-02 14:09:25 +02:00
Aleksey Kladov
2595d75ea9 Introduce NonterminalKind
It encapsulate the (part of) the interface between the parser and
macro by example (macro_rules) parser.

The second bit is somewhat more general `parse_ast_fragment`, which is
the reason why we keep some `parse_xxx` functions as public.
2020-08-02 14:09:25 +02:00
Guillaume Gomez
093e45dce6 Clean up E0744 explanation 2020-08-02 13:26:02 +02:00
Guillaume Gomez
507f403f95 Clean up E0733 explanation 2020-08-02 13:24:40 +02:00
bishtpawan
fee58ebe20 Replace from log to tracing 2020-08-02 13:24:08 +05:30
bishtpawan
980edf5baa Replace from log to tracing in libsrustrustc_ast_lowering, librustc_ast_passes, librustc_ast_pretty 2020-08-02 12:21:39 +05:30
bors
46cf80dc1a Auto merge of #75004 - Aaron1011:move-probably-equal, r=petrochenkov
Move 'probably equal' methods to librustc_parse

This is preparation for PR #73084
2020-08-02 05:34:40 +00:00
bors
8141873e6d Auto merge of #74785 - euclio:deprecation-kinds, r=petrochenkov
report kind of deprecated item in message

This is important for fields, which are incorrectly referred to as
"items".
2020-08-02 03:47:29 +00:00
Aaron Hill
70ba491b78
Update elasticlunr-rs and ammonia transitive deps
This removes all dependencies on pre-1.0 proc-macro ecosystem crates
(syn, quote, and proc-macro2)
2020-08-01 21:15:53 -04:00
Aaron Hill
183947f6ba
Move 'probably equal' methods to librustc_parse
This is preparation for PR #73084
2020-08-01 21:12:49 -04:00
Manish Goregaokar
82147885bb
Rollup merge of #75022 - cuviper:sliced-rchunk, r=lcnr
Use a slice pattern instead of rchunks_exact(_).next()

This is a minor cleanup, but trying a single-use `rchunks` iterator can
be more directly matched with a slice pattern, `[.., a, b]`.
2020-08-01 17:42:18 -07:00
Manish Goregaokar
98a9397c2a
Rollup merge of #74992 - lcnr:fix-generic-param-order, r=GuillaumeGomez
fix rustdoc generic param order

fixes #61292

r? @varkor cc @GuillaumeGomez
2020-08-01 17:42:15 -07:00
Manish Goregaokar
fac959b570
Rollup merge of #74720 - GuillaumeGomez:cleanup-e0728, r=jyn514
Clean up E0728 explanation

r? @Dylan-DPC
2020-08-01 17:42:13 -07:00
bors
05762e3d6f Auto merge of #74726 - oli-obk:tracing, r=Mark-Simulacrum
Move from `log` to `tracing`

The only visible change is that we now get timestamps in our logs:

```
Jul 24 18:41:01.065 TRACE rustc_mir::transform::const_prop: skipping replace of Rvalue::Use(const () because it is already a const
Jul 24 18:41:01.065 TRACE rustc_mir::transform::const_prop: propagated into _2
Jul 24 18:41:01.065 TRACE rustc_mir::transform::const_prop: visit_constant: const ()
```

This PR was explicitly designed to be as low-impact as possible. We can now move to using the name `tracing` insteads of `log` on a crate-by-crate basis and use any of the other tracing features where desirable.

As far as I can tell this will allow tools to seamlessly keep working (since they are using `rustc_driver::init_log...`).

This is the first half of step 1 of the accepted `tracing` MCP (https://github.com/rust-lang/compiler-team/issues/331)
2020-08-01 20:43:12 +00:00
Josh Stone
66a02ec2d6 Use a slice pattern instead of rchunks_exact(_).next()
This is a minor cleanup, but trying a single-use `rchunks` iterator can
be more directly matched with a slice pattern, `[.., a, b]`.
2020-08-01 11:41:59 -07:00
Manish Goregaokar
2e53ac53e7
Rollup merge of #75007 - GuillaumeGomez:cleanup-e0743, r=pickfire
Clean up E0743 explanation

r? @Dylan-DPC
2020-08-01 09:30:19 -07:00
Manish Goregaokar
302dfbc567
Rollup merge of #74996 - matthiaskrgr:submodule_upd, r=ehuss
submodules: update cargo from 974eb438d to 2d5c2381e

Changes:
````
Use the same index location on nightly as beta
relax deprecated diagnostic message check
Don't print to raw stderr in test
Emit the `test` field in cargo metadata
````

r? @ehuss

Trying to get the fix to the registry-index-hash upstream soonish.
2020-08-01 09:30:18 -07:00
Manish Goregaokar
58df0a0473
Rollup merge of #74995 - sunfishcode:update-llvm, r=alexcrichton
Update the WASI libc build to LLVM 10.

Among other things, this brings in [the `__main_argc_argv`] patch,
which simplifies the interaction between the compiler and WASI libc's
startup code, which will help work on reactor support.

[the `__main_argc_argv` patch]: 00072c08c7

r? @alexcrichton
2020-08-01 09:30:16 -07:00
Manish Goregaokar
69515819b6
Rollup merge of #74983 - oli-obk:mir_opt_goto_chain, r=ecstatic-morse
Replace a recursive algorithm with an iterative one and a stack.

fixes #74931
2020-08-01 09:30:14 -07:00
Manish Goregaokar
e65d6ed80f
Rollup merge of #74981 - giraffate:fix_sample_codes_in_unstable_book_plugin, r=GuilliameGomez
Some fixes for `plugin.md` in unstable-book

- sample codes not working
I referred to https://github.com/rust-lang/rust/blob/master/src/test/ui-fulldeps/auxiliary/lint-plugin-test.rs and https://github.com/rust-lang/rust/blob/master/src/test/ui-fulldeps/lint-plugin.rs.

- broken link
https://github.com/rust-lang/rust/blob/master/src/librustc/lint/builtin.rs -> https://github.com/rust-lang/rust/blob/master/src/librustc_session/lint/builtin.rs
2020-08-01 09:30:13 -07:00
Manish Goregaokar
60bf83d215
Rollup merge of #74977 - GuillaumeGomez:cleanup-e0741, r=pickfire
Clean up E0741 error explanation

r? @Dylan-DPC
2020-08-01 09:30:11 -07:00
Oliver Scherer
c7290379be Remove chrono feature from tracing 2020-08-01 16:24:52 +02:00
Guillaume Gomez
4bd313fb0f Clean up E0743 explanation 2020-08-01 15:19:00 +02:00
bors
cfdf9d3355 Auto merge of #74993 - sunfishcode:update-wasi-libc, r=alexcrichton
Update the bundled wasi-libc with libstd

This just updates WASI libc, in preparation for WASI reactor support in
a separate change.

r? @alexcrichton
2020-08-01 11:25:31 +00:00
bors
dfe1e3b641 Auto merge of #74582 - Lezzz:rename-hair, r=nikomatsakis
Rename HAIR to THIR (Typed HIR).

r? @nikomatsakis

Originally suggested by @eddyb
2020-08-01 09:25:03 +00:00
Oliver Scherer
aba0251c78 Replace a recursive algorithm with an iterative one and a stack. 2020-08-01 07:20:43 +02:00
bors
18e2a89199 Auto merge of #74945 - dingxiangfei2009:promote-static-ref-deref, r=oli-obk
[mir] Special treatment for dereferencing a borrow to a static definition

Fix #70584.

As suggested by @oli-obk in this [comment](https://github.com/rust-lang/rust/issues/70584#issuecomment-626009260), one can chase the definition of the local variable being de-referenced and check if it is a true static variable. If that is the case, `validate_place` will admit the promotion.

This is my first time to contribute to `rustc`, and I have two questions.
1. A generalization to some extent is applied to decide if the promotion is possible in the static context. In case that there are more projection operations preceding the de-referencing, `validate_place` recursively decent into inner projection operations. I have put thoughts into its correctness but I am not totally sure about it.
2. I have a hard time to find a good place for the test case. This patch has to do with MIR, but this test case would look out of place compared to other tests in `src/test/ui/mir` or `src/test/ui/borrowck` because it does not generate errors while others do. It is tentatively placed in `src/test/ui/statics` for now.

Thank you for any comments and suggestions!
2020-08-01 04:34:05 +00:00
bors
22e6099330 Auto merge of #74717 - davidtwco:issue-74636-polymorphized-closures-inherited-params, r=oli-obk
mir: add `used_generic_parameters_needs_subst`

Fixes #74636.

This PR adds a `used_generic_parameters_needs_subst` helper function which checks whether a type needs substitution, but only for parameters that the `unused_generic_params` query considers used. This is used in the MIR interpreter to make the check for some pointer casts and for reflection intrinsics more precise.

I've opened this as a draft PR because this might not be the approach we want to fix this issue and we have to decide what to do about the reflection case.

r? @eddyb
cc @lcnr @wesleywiser
2020-08-01 02:48:34 +00:00
Matthias Krüger
21cab87f08 submodules: update cargo from 974eb438d to 2d5c2381e
Changes:
````
Use the same index location on nightly as beta
relax deprecated diagnostic message check
Don't print to raw stderr in test
Emit the `test` field in cargo metadata
````
2020-08-01 01:41:36 +02:00
Dan Gohman
9ade8366c0 Update the WASI libc build to LLVM 10.
Among other things, this brings in [the `__main_argc_argv`] patch,
which simplifies the interaction between the compiler and WASI libc's
startup code, which will help work on reactor support.

[the `__main_argc_argv` patch]: 00072c08c7
2020-07-31 16:07:08 -07:00
Yuki Okushi
3ad6feda56
Rollup merge of #74991 - JulianKnodt:74199, r=lcnr
Fix Const-Generic Cycle ICE #74199

This PR intends to fix the bug in Issue #74199 by following the suggestion provided of ignoring the error that causes the ICE.

This does not fix the underlying cycle detection issue, but fixes the ICE.
Also adds a test to check that it doesn't causes an ICE but returns a valid error for now.

r? @lcnr

Edit: Also it's funny how this PR number is an anagram of the issue number
2020-08-01 08:02:12 +09:00
Yuki Okushi
ff5ccc82eb
Rollup merge of #74986 - matthiaskrgr:cmp_true, r=oli-obk
fix part of comparison that would always evaluate to "true", probably an oversight

cc  @jumbatm
2020-08-01 08:02:11 +09:00