Philipp Krones
583c97e9bb
Merge remote-tracking branch 'upstream/master' into rustup
2023-04-23 03:39:03 -07:00
DrMeepster
68c4776b46
offset_of
2023-04-21 02:14:02 -07:00
Gary Guo
293c1a1a6a
Fix tools
2023-04-06 09:34:16 +01:00
Gary Guo
f5ac844296
Refactor unwind from Option to a new enum
2023-04-06 09:34:16 +01:00
Philipp Krones
8df896c076
Merge commit 'd5e2a7aca55ed49fc943b7a07a8eba05ab5a0079' into clippyup
2023-03-24 14:26:19 +01:00
Philipp Krones
62cba5d971
Merge remote-tracking branch 'upstream/master' into rustup
2023-03-24 13:36:09 +01:00
bors
58eb9964cc
Auto merge of #108442 - scottmcm:mir-transmute, r=oli-obk
...
Add `CastKind::Transmute` to MIR
~~Nothing actually produces it in this commit, so I don't know how to test it, but it also means it shouldn't be possible for it to break anything.~~
Includes lowering `transmute` calls to it, so it's used.
Zulip Conversation: <https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Good.20first.20isssue/near/321849610 >
2023-03-23 18:43:04 +00:00
Michael Goulet
b506eb5338
Rename AliasEq -> AliasRelate
2023-03-23 05:56:40 +00:00
Scott McMurray
8bdd54e8c6
Add CastKind::Transmute
to MIR
...
Updates `interpret`, `codegen_ssa`, and `codegen_cranelift` to consume the new cast instead of the intrinsic.
Includes `CastTransmute` for custom MIR building, to be able to test the extra UB.
2023-03-22 15:15:41 -07:00
Camille GILLOT
27910cbcbd
Introduce a no-op PlaceMention statement for let _ =
.
2023-03-09 17:45:13 +00:00
Giacomo Pasini
5619fd5940
Remove DropAndReplace terminator
...
PR 107844 made DropAndReplace unused, let's remove it completely
from the codebase.
2023-03-07 14:25:22 +01:00
Boxy
8a66a6816b
Add Clause::ConstArgHasType
variant
2023-02-17 09:30:33 +00:00
Boxy
cd3bcbb8e5
add AliasEq
to PredicateKind
2023-02-10 13:44:46 +00:00
bors
17369f324c
Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk
...
Use stable metric for const eval limit instead of current terminator-based logic
This patch adds a `MirPass` that inserts a new MIR instruction `ConstEvalCounter` to any loops and function calls in the CFG. This instruction is used during Const Eval to count against the `const_eval_limit`, and emit the `StepLimitReached` error, replacing the current logic which uses Terminators only.
The new method of counting loops and function calls should be more stable across compiler versions (i.e., not cause crates that compiled successfully before, to no longer compile when changes to the MIR generation/optimization are made).
Also see: #103877
2023-01-29 04:11:27 +00:00
Kyle Matsuda
afb586fa1f
change fn_sig query to use EarlyBinder; remove bound_fn_sig query; add EarlyBinder to fn_sig in metadata
2023-01-26 20:28:25 -07:00
Kyle Matsuda
38899d0c29
replace usages of fn_sig query with bound_fn_sig
2023-01-26 20:15:36 -07:00
Bryan Garza
520814b713
Update Clippy for ConstEvalCounter
2023-01-23 23:56:22 +00:00
Philipp Krones
1c422524c7
Merge commit '4bdfb0741dbcecd5279a2635c3280726db0604b5' into clippyup
2022-12-17 14:12:54 +01:00
Michael Goulet
957ab6ae52
Combine projection and opaque into alias
2022-12-13 17:48:55 +00:00
Jakob Degen
dc50bb0961
Remove unneeded field from SwitchTargets
2022-12-09 04:53:10 -08:00
Philipp Krones
d05e2865a0
Merge commit 'd822110d3b5625b9dc80ccc442e06fc3cc851d76' into clippyup
2022-12-01 18:29:38 +01:00
Santiago Pastorino
3f059a49a4
Introduce PredicateKind::Clause
2022-11-25 00:04:54 -03:00
Manish Goregaokar
91d2ce3020
Rollup merge of #103488 - oli-obk:impl_trait_for_tait, r=lcnr
...
Allow opaque types in trait impl headers and rely on coherence to reject unsound cases
r? ````@lcnr````
fixes #99840
2022-11-22 22:54:38 -05:00
Philipp Krones
46c5a5d234
Merge commit 'f4850f7292efa33759b4f7f9b7621268979e9914' into clippyup
2022-11-21 20:51:52 +01:00
Oli Scherer
386d0a5c67
Add an always-ambiguous predicate to make sure that we don't accidentlally allow trait resolution to prove false things during coherence
2022-11-21 16:35:04 +00:00
Matthias Krüger
4013d367fe
Rollup merge of #102675 - ouz-a:mir-technical-debt, r=oli-obk
...
Remove `mir::CastKind::Misc`
As discussed in #97649 `mir::CastKind::Misc` is not clear, this PR addresses that by creating a new enum variant for every valid cast.
r? ````@oli-obk````
2022-10-08 14:38:18 +02:00
ouz-a
13dbc33d8f
Remove mir::CastKind::Misc
2022-10-06 15:32:41 +03:00
Philipp Krones
d75b25faab
Merge commit 'ac0e10aa68325235069a842f47499852b2dee79e' into clippyup
2022-10-06 09:44:38 +02:00
Nilstrieb
e30b37b84b
Fix clippy's const fn stability check for CURRENT_RUSTC_VERSION
...
Since clippy can use a projects MSRV for its lints, it might not want
to consider functions as const stable if they have been added lately.
Functions that have been stabilized this version use
CURRENT_RUSTC_VERSION as their version, which gets then turned into the
current version, which might be something like `1.66.0-dev`. The version
parser cannot deal with this version, so it has to be stripped off.
2022-09-23 21:04:54 +02:00
Oli Scherer
c2e9c991d5
Revert "Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank""
...
This reverts commit 4a742a691e7dd2522bad68b86fe2fd5a199d5561.
2022-09-16 11:36:39 +00:00
Eric Holk
27e91b65d5
Address code review comments
2022-09-13 14:50:12 -07:00
Eric Holk
b95b285ef4
Make x.py check work
2022-09-12 17:29:11 -07:00
Philipp Krones
98bf99e2f8
Merge commit 'b52fb5234cd7c11ecfae51897a6f7fa52e8777fc' into clippyup
2022-09-09 13:36:26 +02:00
Oli Scherer
9cbbd4a80e
Generalize the Assume intrinsic statement to a general Intrinsic statement
2022-09-06 14:18:32 +00:00
Oli Scherer
e1b3483ee8
Lower the assume intrinsic to a MIR statement
2022-09-06 14:18:32 +00:00
Tomasz Miąsko
e4eddc611a
Replace Body::basic_blocks()
with field access
2022-08-26 14:27:08 +02:00
Oli Scherer
bcd2241c9a
Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank"
...
This reverts commit 6f8fb911ad504b77549cf3256a09465621beab9d, reversing
changes made to 7210e46dc69a4b197a313d093fe145722c248b7d.
2022-07-20 07:55:58 +00:00
Oli Scherer
417a600c30
Introduce opaque type to hidden type projection
2022-07-15 15:49:22 +00:00
bors
6dc9746147
Auto merge of #95956 - yaahc:stable-in-unstable, r=cjgillot
...
Support unstable moves via stable in unstable items
part of https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/moving.20items.20to.20core.20unstably and a blocker of https://github.com/rust-lang/rust/pull/90328 .
The libs-api team needs the ability to move an already stable item to a new location unstably, in this case for Error in core. Otherwise these changes are insta-stable making them much harder to merge.
This PR attempts to solve the problem by checking the stability of path segments as well as the last item in the path itself, which is currently the only thing checked.
2022-07-14 13:42:09 +00:00
ouz-a
9d86ce6533
add new rval, pull deref early
2022-07-12 14:26:41 +03:00
Jane Lusby
d053a3dae0
add opt in attribute for stable-in-unstable items
2022-07-08 21:18:15 +00:00
Philipp Krones
f067783461
Merge commit 'd9ddce8a223cb9916389c039777b6966ea448dc8' into clippyup
2022-06-04 13:34:07 +02:00
Ralf Jung
0600de4d12
add cast kind of from_exposed_addr (int-to-ptr casts)
2022-06-02 10:46:13 -04:00
Ralf Jung
86092a77b3
rename PointerAddress → PointerExposeAddress
2022-06-01 14:08:17 -04:00
Tomasz Miąsko
4e45960abc
Add a pointer to address cast kind
...
A pointer to address cast are often special-cased.
Introduce a dedicated cast kind to make them easy distinguishable.
2022-05-31 00:00:00 +00:00
Jakob Degen
0684d62b56
Refactor call terminator to always hold a destination place
2022-05-23 17:49:04 -04:00
xFrednet
4587b6628d
Merge 'rust-clippy/master' into clippyup
2022-05-21 13:24:00 +02:00
Oli Scherer
0f30866259
Add a query for checking whether a function is an intrinsic.
2022-05-16 07:07:44 +00:00
flip1995
7cd86aa1be
Merge commit '7c21f91b15b7604f818565646b686d90f99d1baf' into clippyup
2022-05-05 15:12:52 +01:00
Jakob Degen
62d912e24d
Add new Deinit
statement kind
2022-04-11 08:55:03 -04:00