Dylan DPC
d392838b69
Rollup merge of #98933 - oli-obk:opaque_type_late_bound_lifetimes, r=lcnr
...
Opaque types' generic params do not imply anything about their hidden type's lifetimes
fixes #97104
cc ```@aliemjay```
2022-09-08 20:48:34 +05:30
lcnr
b79a2b3f73
update ParamKindOrd
2022-09-08 16:50:44 +02:00
bors
ccb5595df2
Auto merge of #98900 - lcnr:region-stuff, r=jackh726
...
const_generics: correctly deal with bound variables
removes the hack in `resolve` which was needed because we evaluated constants without caring about their bound variables.
Each commit should be fairly self-contained, even if they build on each other
r? `@jackh726`
2022-09-08 10:30:00 +00:00
lcnr
d15b00af48
don't evaluate with escaping bound vars
2022-09-08 11:41:00 +02:00
lcnr
01adb7e98d
stop evaluating constants in Relate
2022-09-08 11:14:33 +02:00
Oli Scherer
5c9d28d303
Opaque types' generic params do not imply anything about their hidden type's lifetimes
2022-09-08 08:10:21 +00:00
Luis Cardoso
24de9435e2
translations(rustc_session): remove lint allow rule to the methods marked with rustc_lint_diagnostic
...
This commit removes the allows rules for the SessionDiagnostic lint
that were being used in the session.rs file.
Thanks to the PR #101230 we do not need to annotate the methods with
the allow rule as they are part of the diagnostic machinery.
2022-09-08 08:30:57 +02:00
Luis Cardoso
0f06320c24
translations(rustc_session): migrate TargetDataLayout::parse
2022-09-08 08:30:57 +02:00
Dylan DPC
12b810063d
Rollup merge of #101498 - petrochenkov:visparam, r=cjgillot
...
rustc: Parameterize `ty::Visibility` over used ID
It allows using `LocalDefId` instead of `DefId` when possible, and also encode cheaper `Visibility<DefIndex>` into metadata.
2022-09-08 11:55:09 +05:30
Michael Goulet
97668a5589
We can print futures with {integer} too
2022-09-08 02:52:57 +00:00
Michael Goulet
2c94102df5
Generator return doesn't need to be a lang item
2022-09-08 02:52:57 +00:00
bors
4af35b8e30
Auto merge of #101303 - jyn514:jnelson/handle-cycle-enum, r=cjgillot
...
Make `HandleCycleError` an enum instead of a macro-generated closure
Helps with https://github.com/rust-lang/rust/issues/96524 . Based on https://github.com/rust-lang/rust/pull/100943 to avoid merge conflicts, so it looks larger than it is (only the last commit is relevant).
cc https://rust-lang.zulipchat.com/#narrow/stream/241847-t-compiler.2Fwg-incr-comp/topic/Moving.20.60Value.60.20to.20rustc_query_system.20.2396524
r? `@cjgillot`
2022-09-08 02:21:16 +00:00
Michael Goulet
48281b003f
Adjust spacing in suggestion, add a test
2022-09-08 02:06:48 +00:00
Michael Goulet
30e3673d43
Add associated item binding to non-param-ty where clause suggestions
2022-09-08 02:06:48 +00:00
bors
512bd84f51
Auto merge of #94075 - mikebenfield:wip-enum, r=oli-obk
...
Use niche-filling optimization even when multiple variants have data.
Fixes #46213
2022-09-07 23:40:06 +00:00
Takayuki Maeda
bdc865d8f7
remove unnecessary PartialOrd and Ord
2022-09-08 06:15:33 +09:00
Michael Benfield
d7a750b504
Use niche-filling optimization even when multiple variants have data.
...
Fixes #46213
2022-09-07 20:12:45 +00:00
Michael Benfield
1a08b96a0b
Change name of "dataful" variant to "untagged"
...
This is in anticipation of a new enum layout, in which the niche
optimization may be applied even when multiple variants have data.
2022-09-07 20:12:45 +00:00
Matthias Krüger
0a1c816dcd
Rollup merge of #101503 - spastorino:add-debug-calls, r=compiler-errors
...
Add debug calls
`@oli-obk` requested this and other changes as a way of simplifying https://github.com/rust-lang/rust/pull/101345 . This is just going to make the diff of https://github.com/rust-lang/rust/pull/101345 smaller.
r? `@oli-obk` `@cjgillot`
2022-09-07 21:48:16 +02:00
bors
f91ca2878a
Auto merge of #101522 - oli-obk:miriup, r=oli-obk
...
Update miri submodule
fixes #101344
cc `@rust-lang/miri`
r? `@ghost`
2022-09-07 16:31:39 +00:00
Oli Scherer
419c4e1c4f
Update miri submodule
2022-09-07 15:42:12 +00:00
bors
a4d034126d
Auto merge of #101432 - nnethercote:shrink-PredicateS, r=lcnr
...
Shrink `PredicateS`
r? `@ghost`
2022-09-07 13:49:58 +00:00
Santiago Pastorino
e3a738a942
Add instrument and debug calls
2022-09-07 10:46:14 -03:00
David Wood
38958aa8bd
ssa: implement #[collapse_debuginfo]
...
Debuginfo line information for macro invocations are collapsed by
default - line information are replaced by the line of the outermost
expansion site. Using `-Zdebug-macros` disables this behaviour.
When the `collapse_debuginfo` feature is enabled, the default behaviour
is reversed so that debuginfo is not collapsed by default. In addition,
the `#[collapse_debuginfo]` attribute is available and can be applied to
macro definitions which will then have their line information collapsed.
Signed-off-by: David Wood <david.wood@huawei.com >
2022-09-07 13:54:51 +01:00
David Wood
2991a7c715
middle: comment -> doc comment
...
Drive-by change of a regular comment to a documentation comment on
`TyCtxt::is_suitable_region`.
Signed-off-by: David Wood <david.wood@huawei.com >
2022-09-07 11:10:11 +01:00
bors
e7c7aa7288
Auto merge of #98332 - oli-obk:assume, r=wesleywiser
...
Lower the assume intrinsic to a MIR statement
This makes https://github.com/rust-lang/rust/pull/96862#issuecomment-1153739068 easier and will generally allow us to cheaply insert assume intrinsic calls in mir building.
r? rust-lang/wg-mir-opt
2022-09-07 09:47:23 +00:00
Vadim Petrochenkov
d8d3b83e3a
rustc: Parameterize ty::Visibility over used ID
...
It allows using `LocalDefId` instead of `DefId` when possible, and also encode cheaper `Visibility<DefIndex>` into metadata.
2022-09-07 13:35:41 +04:00
Joshua Nelson
3a4e3c7788
Get rid of the emitted rustc_query_names and rustc_cached_queries macro
...
We can avoid these by adding slightly more information to `rustc_query_append` instead.
2022-09-06 21:46:31 -05:00
Joshua Nelson
c630c87ceb
Support doc-comments in define_dep_nodes
2022-09-06 21:43:15 -05:00
Joshua Nelson
05886e28a4
Further simplify the macros generated by rustc_queries
...
- Add a new `rustc_query_names` macro. This allows a much simpler syntax for the matchers in the macros passed to it as a callback.
- Convert `define_dep_nodes` and `alloc_once` to use `rustc_query_names`. This is possible because they only use the names
(despite the quite complicated matchers in `define_dep_nodes`, none of the other arguments are used).
- Get rid of `rustc_dep_node_append`.
2022-09-06 21:43:15 -05:00
Joshua Nelson
4856affd90
Make HandleCycleError an enum instead of a macro-generated closure
...
- Add a `HandleCycleError` enum to rustc_query_system, along with a `handle_cycle_error` function
- Move `Value` to rustc_query_system, so `handle_cycle_error` can use it
- Move the `Value` impls from rustc_query_impl to rustc_middle. This is necessary due to orphan rules.
2022-09-06 19:26:08 -05:00
Guillaume Gomez
f21b6129a0
Rollup merge of #101473 - nnethercote:mir-size-assertions, r=lqd
...
Add more size assertions for MIR types.
And move them into a module, as has been done previously for AST, HIR,
etc.
r? `@lqd`
2022-09-06 17:00:30 +02:00
Guillaume Gomez
d13aefdc65
Rollup merge of #101357 - compiler-errors:variant-sugg-tweak, r=oli-obk
...
Include enum path in variant suggestion
(except for `Result` and `Option`, which we should have via the prelude)
Fixes #101356
2022-09-06 17:00:25 +02:00
Oli Scherer
7348284073
Update docs
2022-09-06 14:18:32 +00:00
Oli Scherer
b7413511dc
Generalize the Assume intrinsic statement to a general Intrinsic statement
2022-09-06 14:18:32 +00:00
Oli Scherer
3f07645120
Lower the assume intrinsic to a MIR statement
2022-09-06 14:18:32 +00:00
Dylan DPC
36144f2b3d
Rollup merge of #101021 - MingyuChen1:diagnostic, r=davidtwco
...
Migrate ``rustc_middle`` diagnostic
Part of #100717
2022-09-06 16:34:42 +05:30
Dylan DPC
3f22020006
Rollup merge of #100658 - chenyukang:100631-check-get-attr, r=lcnr
...
TyCtxt::get_attr should check that no duplicates are allowed
Fixes #100631
2022-09-06 16:34:41 +05:30
yukang
00b10a5552
get_attr should check that no duplicates are allowed
2022-09-06 14:16:54 +08:00
Nicholas Nethercote
246d126edd
Add more size assertions for MIR types.
...
And move them into a module, as has been done previously for AST, HIR,
etc.
2022-09-06 15:25:54 +10:00
bors
6c358c67d4
Auto merge of #101241 - camsteffen:refactor-binding-annotations, r=cjgillot
...
`BindingAnnotation` refactor
* `ast::BindingMode` is deleted and replaced with `hir::BindingAnnotation` (which is moved to `ast`)
* `BindingAnnotation` is changed from an enum to a tuple struct e.g. `BindingAnnotation(ByRef::No, Mutability::Mut)`
* Associated constants added for convenience `BindingAnnotation::{NONE, REF, MUT, REF_MUT}`
One goal is to make it more clear that `BindingAnnotation` merely represents syntax `ref mut` and not the actual binding mode. This was especially confusing since we had `ast::BindingMode`->`hir::BindingAnnotation`->`thir::BindingMode`.
I wish there were more symmetry between `ByRef` and `Mutability` (variant) naming (maybe `Mutable::Yes`?), and I also don't love how long the name `BindingAnnotation` is, but this seems like the best compromise. Ideas welcome.
2022-09-06 03:16:29 +00:00
Yuki Okushi
0d8a1f4cbf
Rollup merge of #101447 - cjgillot:no-remap-resolver, r=spastorino
...
Remove generics_def_id_map from the resolver.
This is internal state for lowering. This does not belong in the resolver.
r? ``@spastorino``
2022-09-06 08:36:10 +09:00
111
a42c0d79da
fix comment
2022-09-05 23:18:18 +08:00
Camille GILLOT
037ab1d183
Remove generics_def_id_map from the resolver.
2022-09-05 13:32:13 +02:00
Nicholas Nethercote
79db32b64e
Pack Term in the same way as GenericArg.
...
This shrinks the `PredicateS` type, which is instanted frequently.
2022-09-05 15:08:52 +10:00
Nicholas Nethercote
d565d51071
Put size assertions together.
...
As has already been done in various other places in the compiler.
2022-09-05 10:59:00 +10:00
Deadbeef
075084f772
Make const_eval_select a real intrinsic
2022-09-04 20:35:23 +08:00
Camille GILLOT
e7164267a2
Do not call object_lifetime_default on lifetime params.
2022-09-03 21:11:42 +02:00
Michael Goulet
be53bd8380
Include enum path in variant suggestion
2022-09-03 08:11:17 +00:00
bors
92086258e3
Auto merge of #101361 - Dylan-DPC:rollup-xj1syld, r=Dylan-DPC
...
Rollup of 7 pull requests
Successful merges:
- #99736 (Partially stabilize `bound_as_ref` by stabilizing `Bound::as_ref`)
- #100928 (Migrate rustc_metadata to SessionDiagnostics)
- #101217 ([drop tracking] Use parent expression for scope, not parent node )
- #101325 (Windows RNG: Use `BCRYPT_RNG_ALG_HANDLE` by default)
- #101330 (Fix `std::collections::HashSet::drain` documentation)
- #101338 (Fix unsupported syntax in .manifest file)
- #101348 (Cleanup css theme)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-09-03 07:00:07 +00:00