Maybe Waffle
a17ccfa621
Accept TyCtxt instead of TyCtxtAt in Ty::is_* functions
...
Functions in answer:
- `Ty::is_freeze`
- `Ty::is_sized`
- `Ty::is_unpin`
- `Ty::is_copy_modulo_regions`
2022-10-27 15:06:08 +04:00
Dylan DPC
709462bfe1
Rollup merge of #103546 - RalfJung:cast, r=oli-obk
...
interpret: a bit of cast cleanup
r? `@oli-obk`
2022-10-26 17:32:55 +05:30
Dylan DPC
ffde0f722e
Rollup merge of #103428 - SarthakSingh31:issue-94187, r=compiler-errors
...
Removed verbose printing from the `PrettyPrinter` when printing constants
Partially solves #94187 by completing the first step described in [this comment](https://github.com/rust-lang/rust/issues/94187#issuecomment-1282339909 ).
2022-10-26 17:32:54 +05:30
bors
629a414d7b
Auto merge of #103562 - Dylan-DPC:rollup-sheepp5, r=Dylan-DPC
...
Rollup of 10 pull requests
Successful merges:
- #102951 (suggest type annotation for local statement initialed by ref expression)
- #103209 (Diagnostic derives: allow specifying multiple alternative suggestions)
- #103287 (Use a faster allocation size check in slice::from_raw_parts)
- #103416 (Name the `impl Trait` in region bound suggestions)
- #103430 (Workaround unstable stmt_expr_attributes for method receiver expressions)
- #103444 (Remove extra type error after missing semicolon error)
- #103520 (rustc_middle: Rearrange resolver outputs structures slightly)
- #103533 (Use &self instead of &mut self for cast methods)
- #103536 (Remove `rustc_driver::set_sigpipe_handler()`)
- #103542 (Pinning tests for some `macro_rules!` errors discussed in the lang meeting)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-26 07:58:28 +00:00
bors
d49e7e7fa1
Auto merge of #103279 - compiler-errors:normalize-hack-back, r=lcnr
...
Add eval hack in `super_relate_consts` back
Partially reverts 01adb7e98d .
This extra eval call *still* needs to happen, for example, in `normalize_param_env_or_error` when a param-env predicate has an unnormalized constant, since the param-env candidates never get normalized during candidate assembly (everywhere else we can assume that they are normalized fully).
r? `@lcnr,` though I feel like I've assigned quite a few PRs to you in the last few days, so feel free to reassign to someone else familiar with this code if you're busy!
cc #103243 (fixes the issue, but don't want to auto-close that until a backport is performed).
2022-10-26 05:17:46 +00:00
Ralf Jung
52fda858dd
interpret: a bit of cast cleanup
2022-10-25 22:09:35 +02:00
Jannis Christopher Köhl
5378c82d80
Use &self instead of &mut self for cast methods
2022-10-25 18:31:11 +02:00
Dylan DPC
8ba2a651fb
Rollup merge of #103122 - ouz-a:mir-technical-debt, r=oli-obk
...
Remove misc_cast and validate types when casting
Continuing our work in #102675
r? ````@oli-obk````
2022-10-25 14:43:14 +05:30
Sarthak Singh
5e46d8675c
Added helper to prevent verbose printing from the PrettyPrinter when printing constants
2022-10-25 13:05:34 +05:30
Michael Goulet
6e6fe30d0f
Comment why normalization is needed for debug assertions
2022-10-23 17:23:35 +00:00
ouz-a
4bd98443ed
remove misc_cast and validate types
2022-10-23 18:47:16 +03:00
Matthias Krüger
801e32647e
Rollup merge of #103315 - RalfJung:interpret-switchint-ice, r=bjorn3
...
interpret: remove an incorrect assertion
This fixes an ICE in Miri, [reported](https://rust-lang.zulipchat.com/#narrow/stream/269128-miri/topic/SwitchInt.20with.20no.20targets.3F ) by `@saethlin.` The faulty assertion was introduced by 432535da2b , when a previously correct assertion checking that the `otherwise` target exists got replaced by this assertion checking that at least one more target beyond `otherwise` exists.
Sadly we don't have a small reproducer so I don't think we can easily add a testcase.
2022-10-20 22:42:41 +02:00
Ralf Jung
bf14e3196b
interpret: remove an incorrect assertion
2022-10-20 19:06:34 +02:00
Rageking8
7122abaddf
more dupe word typos
2022-10-14 12:57:56 +08:00
Nilstrieb
7bfef19844
Use tidy-alphabetical in the compiler
2022-10-12 17:49:10 +05:30
Matthias Krüger
c731646d6a
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
Ralf Jung
fd59d44f58
make const_err a hard error
2022-10-07 18:08:49 +02:00
ouz-a
d59c7ff000
Remove mir::CastKind::Misc
2022-10-06 15:32:41 +03:00
bors
0152393048
Auto merge of #99324 - reez12g:issue-99144, r=jyn514
...
Enable doctests in compiler/ crates
Helps with https://github.com/rust-lang/rust/issues/99144
2022-10-06 03:01:57 +00:00
Michael Goulet
c7d1ec009c
Don't ICE when trying to copy unsized value in const prop
2022-10-02 19:21:06 +00:00
reez12g
00612e23cb
Mark ignore(illustrative) on docs in compiler/rustc_const_eval/src/interpret/validity.rs
2022-09-29 16:49:23 +09:00
Pietro Albini
3975d55d98
remove cfg(bootstrap)
2022-09-26 10:14:45 +02:00
Ralf Jung
0f4d7b6de8
OpTy: fix a method taking self rather than &self
2022-09-21 22:20:40 +02:00
Michael Howell
b149c48186
Rollup merge of #102021 - lcnr:tyConst-fun, r=b-naber,BoxyUwU
...
some post-valtree cleanup
r? project-const-generics cc ```@b-naber```
2022-09-20 10:13:01 -07:00
bors
4136b59b7d
Auto merge of #99806 - oli-obk:unconstrained_opaque_type, r=estebank
...
Allow patterns to constrain the hidden type of opaque types
fixes #96572
reverts a revert as original PR was a perf regression that was fixed by reverting it: https://github.com/rust-lang/rust/pull/99368#issuecomment-1186587864 )
TODO:
* check if https://github.com/rust-lang/rust/issues/99685 is avoided
2022-09-20 12:09:52 +00:00
Matthias Krüger
8c0f8a285f
Rollup merge of #101985 - RalfJung:generate_stacktrace, r=oli-obk
...
interpret: expose generate_stacktrace without full InterpCx
In Miri we sometimes want to emit diagnostics without having a full `&InterpCx` available. To avoid duplicating code, this adds a way to get a stacktrace from an arbitrary slice of interpreter frames, that Miri can use with access to just a thread manager.
2022-09-19 17:55:21 +02:00
lcnr
526856768d
ctfe, const_to_op only for mir constants
2022-09-19 16:17:33 +02:00
lcnr
647052fc04
remove the Subst trait, always use EarlyBinder
2022-09-19 11:37:27 +02:00
Ralf Jung
9fa3171015
interpret: expose generate_stacktrace without full InterpCx
2022-09-18 20:51:04 +02:00
bors
c524c7dd25
Auto merge of #98588 - b-naber:valtrees-cleanup, r=lcnr
...
Use only ty::Unevaluated<'tcx, ()> in type system
r? `@lcnr`
2022-09-17 03:04:22 +00:00
Oli Scherer
40e2de8c41
Revert "Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank""
...
This reverts commit 4a742a691e .
2022-09-16 11:36:39 +00:00
b-naber
6af8fb7936
address review again
2022-09-14 17:30:25 +02:00
Eric Holk
cf04547b0b
Address code review comments
2022-09-13 14:50:12 -07:00
b-naber
29c0364c37
rebase
2022-09-13 17:48:05 +02:00
b-naber
a7735cd329
fixes/working version
2022-09-13 17:41:02 +02:00
b-naber
a4bbb8db5c
use ty::Unevaluated<'tcx, ()> in type system
2022-09-13 17:40:59 +02:00
Michael Goulet
b2ed2dcaae
Rename some variants
2022-09-12 16:55:59 -07:00
Michael Goulet
12ec2f0e34
Construct dyn* during const interp
2022-09-12 16:55:59 -07:00
Eric Holk
549c105bb3
dyn* through more typechecking and MIR
2022-09-12 16:55:56 -07:00
Eric Holk
6c01273a15
Plumb dyn trait representation through ty::Dynamic
2022-09-12 16:55:55 -07:00
lcnr
e6660326a3
bound variables during ctfe are a bug
2022-09-08 11:41:00 +02: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
Oli Scherer
104f97e5aa
Move CTFE handling of nondiverging intrinsics to intrinsics.rs
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
Ben Kimock
563a75b6e3
Add a Machine hook for inline assembly
2022-09-03 18:05:02 -04:00
bors
06b72b06a2
Auto merge of #101154 - RalfJung:validation-perf, r=oli-obk
...
interpret: fix unnecessary allocation in validation visitor
Should fix the perf regression introduced by https://github.com/rust-lang/rust/pull/100043 .
r? `@oli-obk`
2022-09-03 09:20:54 +00:00
Oli Scherer
d3b22c7267
Directly use the instrument macro instead of its full path
2022-09-01 14:53:46 +00:00
bors
b32223fec1
Auto merge of #100707 - dzvon:fix-typo, r=davidtwco
...
Fix a bunch of typo
This PR will fix some typos detected by [typos].
I only picked the ones I was sure were spelling errors to fix, mostly in
the comments.
[typos]: https://github.com/crate-ci/typos
2022-09-01 05:39:58 +00:00