David Wood
84ec77769f
macros: fix documentation link for diag derive
...
Signed-off-by: David Wood <david.wood@huawei.com>
2022-07-05 16:00:20 +01:00
bors
efb171e235
Auto merge of #98584 - lcnr:region-stuff-more-beans, r=oli-obk
...
continue nll transition by removing stuff
r? `@jackh726` for now
building on #98641
2022-07-05 14:58:31 +00:00
bors
54f79babae
Auto merge of #98925 - Dylan-DPC:rollup-9185c9y, r=Dylan-DPC
...
Rollup of 5 pull requests
Successful merges:
- #97712 (ptr::copy and ptr::swap are doing untyped copies)
- #98624 (lints: mostly translatable diagnostics)
- #98776 (rustdoc: improve click behavior of the source code mobile full-screen "sidebar")
- #98856 (Remove FIXME from rustdoc intra-doc test)
- #98913 (⬆️ rust-analyzer)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-07-05 12:17:26 +00:00
Ralf Jung
46956f76ca
adjust dangling-int-ptr error message
2022-07-05 08:08:24 -04:00
Ralf Jung
2f6e996662
always check overflow in CheckedBinOp in CTFE
2022-07-05 07:32:38 -04:00
Dylan DPC
291df97fae
Rollup merge of #98624 - davidtwco:translation-on-lints, r=compiler-errors
...
lints: mostly translatable diagnostics
As lints are created slightly differently than other diagnostics, intended to try make them translatable first and then look into the applicability of diagnostic structs but ended up just making most of the diagnostics in the crate translatable (which will still be useful if I do make a lot of them structs later anyway).
r? ``@compiler-errors``
2022-07-05 16:04:32 +05:30
bors
53792b9c5c
Auto merge of #96862 - oli-obk:enum_cast_mir, r=RalfJung
...
Change enum->int casts to not go through MIR casts.
follow-up to https://github.com/rust-lang/rust/pull/96814
this simplifies all backends and even gives LLVM more information about the return value of `Rvalue::Discriminant`, enabling optimizations in more cases.
2022-07-05 09:36:29 +00:00
Takayuki Maeda
c9e2aa4d7f
refactor: remove a redundant mutable variable
2022-07-05 18:28:36 +09:00
Oli Scherer
82c73af4a6
Prefer trace level instrumentation for the new noisy instrument attributes
2022-07-05 09:27:06 +00:00
Oli Scherer
c3aec3056e
Add a helper method with an explicit name instead of hand rolling a match 3x
2022-07-05 09:26:45 +00:00
bors
4045ce641a
Auto merge of #98910 - Dylan-DPC:rollup-9x82wdg, r=Dylan-DPC
...
Rollup of 6 pull requests
Successful merges:
- #97300 (Implement `FusedIterator` for `std::net::[Into]Incoming`)
- #98761 (more `need_type_info` improvements)
- #98811 (Interpret: AllocRange Debug impl, and use it more consistently)
- #98847 (fix interpreter validity check on Box)
- #98854 (clean up the borrowing in rustc_hir_pretty)
- #98873 (Suggest `#[derive(Default)]` to enums with `#[default]`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-07-05 06:44:49 +00:00
Dylan DPC
9a2274cf81
Rollup merge of #98873 - TaKO8Ki:suggest-default-derive-to-enum-with-default-attribute, r=fee1-dead
...
Suggest `#[derive(Default)]` to enums with `#[default]`
fixes #95226
2022-07-05 10:42:59 +05:30
Dylan DPC
6e5f1d491a
Rollup merge of #98854 - kadiwa4:rustc_hir_pretty_clean_up_borrowing, r=oli-obk
...
clean up the borrowing in rustc_hir_pretty
A whole lot of the `&`s and `ref`s were redundant. I hope doing this in one big commit is fine, because all of the changes are pretty self-contained.
`@rustbot` label: +C-cleanup
2022-07-05 10:42:58 +05:30
Dylan DPC
7702c50ea5
Rollup merge of #98847 - RalfJung:box-is-special, r=oli-obk
...
fix interpreter validity check on Box
Follow-up to https://github.com/rust-lang/rust/pull/98554 : avoid walking over parts of the value twice.
And then move all that logic into the general visitor so not each visitor implementation has to deal with it...
2022-07-05 10:42:57 +05:30
Dylan DPC
522d52cef7
Rollup merge of #98811 - RalfJung:interpret-alloc-range, r=oli-obk
...
Interpret: AllocRange Debug impl, and use it more consistently
The two commits are pretty independent but it did not seem worth having two PRs for them.
r? ``@oli-obk``
2022-07-05 10:42:55 +05:30
Dylan DPC
6a9db39f6c
Rollup merge of #98761 - lcnr:need_type_info-cont, r=estebank
...
more `need_type_info` improvements
this now deals with macros in suggestions and the source cost computation does what I want for `channel` 🎉
r? ``@estebank``
2022-07-05 10:42:54 +05:30
bors
880646ca9c
Auto merge of #98872 - JakobDegen:no-invalidate, r=davidtwco
...
Add method to mutate MIR body without invalidating CFG caches.
In addition to adding this method, a handful of passes are updated to use it. There's still quite a few passes that could in principle make use of this as well, but do not at the moment because they use `VisitorMut` or `MirPatch`, which needs additional support for this.
The method name is slightly unwieldy, but I don't expect anyone to be writing it a lot, and at least it says what it does. If anyone has a suggestion for a better name though, would be happy to rename.
r? rust-lang/mir-opt
2022-07-05 04:04:04 +00:00
Ralf Jung
6f01ff61b3
interpret: fix CheckedBinOp behavior when overflow checking is disabled
2022-07-04 23:29:41 -04:00
bors
4008dd8c6d
Auto merge of #98846 - RalfJung:alignment-is-a-type-thing, r=oli-obk
...
interpret: track place alignment together with the type, not the value
This matches how I handle alignment in [MiniRust](https://github.com/RalfJung/minirust ). I think it makes conceptually a lot more sense.
Fixes https://github.com/rust-lang/rust/issues/63085
r? `@oli-obk`
2022-07-05 01:23:09 +00:00
bors
e1d1848cc6
Auto merge of #98904 - matthiaskrgr:rollup-05owsx7, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #98738 (Clarify MIR semantics of checked binary operations)
- #98782 (Improve spans for specialization error)
- #98793 (Lint against executable files in the root directory)
- #98814 (rustdoc: Censor certain complex unevaluated const exprs)
- #98878 (add more `rustc_pass_by_value`)
- #98879 (Fix "wrap closure in parenthesis" suggestion for `async` closure)
- #98886 (incr.comp.: Make split-dwarf commandline options [TRACKED].)
- #98898 (Add "no-div-regex" eslint rule)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-07-04 22:42:15 +00:00
Matthias Krüger
adfcb74db0
Rollup merge of #98886 - michaelwoerister:tracked-split-dwarf-kind, r=davidtwco
...
incr.comp.: Make split-dwarf commandline options [TRACKED].
This commandline options have an influence on the contents of object files (and .dwo files), so they need to be `[TRACKED]`.
r? `@davidtwco`
2022-07-04 23:11:14 +02:00
Matthias Krüger
accb41ef01
Rollup merge of #98879 - compiler-errors:async-closure-wrap-parens, r=oli-obk
...
Fix "wrap closure in parenthesis" suggestion for `async` closure
Fixes #98023
2022-07-04 23:11:13 +02:00
Matthias Krüger
cb2d3bb198
Rollup merge of #98878 - lcnr:more-rustc_pass_by_value, r=oli-obk
...
add more `rustc_pass_by_value`
r? ```@oli-obk``` cc #98766
2022-07-04 23:11:12 +02:00
Matthias Krüger
da630de3bd
Rollup merge of #98782 - compiler-errors:specialization-error-span, r=oli-obk
...
Improve spans for specialization error
Fixes #98777
2022-07-04 23:11:09 +02:00
Matthias Krüger
82660a2525
Rollup merge of #98738 - tmiasko:checked-binop, r=oli-obk
...
Clarify MIR semantics of checked binary operations
2022-07-04 23:11:07 +02:00
bors
27eb6d7018
Auto merge of #98627 - RalfJung:interpret-arith, r=lcnr
...
interpret: don't rely on ScalarPair for overflowed arithmetic
This is for https://github.com/rust-lang/rust/pull/97861 .
Cc `@eddyb`
I would like to avoid making this depend on `dest.layout.abi` to avoid a branch that we are not usually covering both sides of. Though OTOH this seems like fairly straight-forward code. But let's benchmark this option first to see how bad that extra `force_allocation` really is.
2022-07-04 20:00:41 +00:00
Ralf Jung
0850bad94d
extra assertion, extra sure
2022-07-04 09:12:22 -04:00
Ralf Jung
b1568e6f34
clarify comment
2022-07-04 09:05:23 -04:00
lcnr
9f95c605f8
region obligations, remove body_id
2022-07-04 14:35:20 +02:00
lcnr
a0d2d9f315
implied bounds byebye nested hir ids
2022-07-04 14:35:20 +02:00
lcnr
e78e0e2ad0
rip out RegionCtxt
from hir typeck
2022-07-04 14:35:20 +02:00
lcnr
68d70fc5bd
only use FnCtxt
for regionck inside of bodies
2022-07-04 14:35:20 +02:00
lcnr
edd45f9d41
RegionCtxt merged body_id
with body_owner
2022-07-04 14:35:20 +02:00
lcnr
24799e3720
remove an unused DefId
2022-07-04 14:35:19 +02:00
Michael Woerister
822957f49c
incr.comp.: Make split-dwarf commandline options [TRACKED].
2022-07-04 14:11:28 +02:00
lcnr
f475e880a4
InferSource::GenericArg
, check for contains
2022-07-04 14:04:07 +02:00
lcnr
7952d2ed83
resolve vars in node substs
2022-07-04 13:58:29 +02:00
lcnr
eef34a648b
stop suggesting things inside of macros
2022-07-04 13:58:29 +02:00
lcnr
f1836c453a
update infer cost computation for types
2022-07-04 13:58:29 +02:00
lcnr
c2ed08715b
remove unused function argument
2022-07-04 13:58:28 +02:00
Takayuki Maeda
eb80407d79
suggest #[derive(Default)]
to enums with #[default]
2022-07-04 20:46:59 +09:00
bors
a3beeaa84d
Auto merge of #98641 - lcnr:mir-dropck, r=oli-obk
...
fully move dropck to mir
r? `@oli-obk`
2022-07-04 09:23:01 +00:00
Camille GILLOT
e3d63203a3
Only compute DefKind through the query.
2022-07-04 10:42:23 +02:00
lcnr
8deadfa271
fully move dropck to mir
2022-07-04 10:26:23 +02:00
Michael Goulet
eef56306f0
Fix wrap parenthesis suggestion for async closure
2022-07-04 08:07:12 +00:00
lcnr
658b7f3652
more rustc_pass_by_value
2022-07-04 09:40:58 +02:00
Jakob Degen
26d153ac67
Add method to mutate MIR body without invalidating CFG caches.
...
In addition to adding this method, a handful of passes are updated to use it.
2022-07-03 23:26:39 -07:00
Matthias Krüger
79add33692
Rollup merge of #98823 - compiler-errors:rust-call-mir-inline, r=cjgillot
...
Fix rust-call ICE in mir-inliner
Fixes #98821
r? ``@cjgillot``
2022-07-04 06:08:10 +02:00
Matthias Krüger
7352c7b6cd
Rollup merge of #98501 - Enselic:err_if_attr_found, r=compiler-errors
...
rustc_passes/src/entry.rs: De-duplicate more code with `fn throw_attr_err()`
So we can more easily re-use the code for other attributes later. More specifically [`#[unix_sigpipe]`](https://github.com/rust-lang/rust/pull/97802 ). This refactoring is covered by this test:
8aab472d52/src/test/ui/feature-gates/issue-43106-gating-of-builtin-attrs-error.rs (L120)
(Well, only `#[start]`, but the code for `#[rustc_main]` is identical.)
2022-07-04 06:08:07 +02:00
Ralf Jung
d7edf66a5a
move Box mess handling into general visitor
2022-07-03 22:55:25 -04:00