Oli Scherer
d9d92ed7da
Move alignment failure error reporting to machine
2022-12-15 16:07:35 +00:00
Oli Scherer
d66824dbc4
Make alignment checks a future incompat lint
2022-12-15 16:07:28 +00:00
Oli Scherer
ed71e32e14
Always pass alignment and handle checking lazily
2022-12-15 15:51:43 +00:00
Michael Goulet
96cb18e864
Combine identical alias arms
2022-12-13 17:48:55 +00:00
Michael Goulet
61adaf8187
Combine projection and opaque into alias
2022-12-13 17:48:55 +00:00
Michael Goulet
c13bd83528
squash OpaqueTy and ProjectionTy into AliasTy
2022-12-13 17:40:27 +00:00
Michael Goulet
7f3af72606
Use ty::OpaqueTy everywhere
2022-12-13 17:29:26 +00:00
Matthias Krüger
2daa3bcbc2
Rollup merge of #105537 - kadiwa4:remove_some_imports, r=fee1-dead
...
compiler: remove unnecessary imports and qualified paths
Some of these imports were necessary before Edition 2021, others were already in the prelude.
I hope it's fine that this PR is so spread-out across files :/
2022-12-11 09:51:57 +01:00
KaDiWa
9bc69925cb
compiler: remove unnecessary imports and qualified paths
2022-12-10 18:45:34 +01:00
Jakob Degen
9fb8da8f8f
Remove unneeded field from SwitchTargets
2022-12-09 04:53:10 -08:00
bors
badd6a5a03
Auto merge of #104449 - oli-obk:unhide_unknown_spans, r=estebank,RalfJung
...
Start emitting labels even if their pointed to file is not available locally
r? `@estebank`
cc `@RalfJung`
fixes #97699
2022-12-09 06:24:28 +00:00
Oli Scherer
7782a2b70d
Remove now-redundant file/line info from const backtraces
2022-12-06 18:59:46 +00:00
Ralf Jung
9397ea1368
make retagging work even with 'unstable' places
2022-12-06 10:33:34 +01:00
Ralf Jung
51ac2af99f
interpret: clobber return place when calling function
2022-12-03 13:37:13 +01:00
Matthias Krüger
3aace9a641
Rollup merge of #104982 - RalfJung:norun, r=oli-obk
...
interpret: get rid of run() function
Miri needs its own loop anyway, so there's not much of a point in trying to share this code.
2022-11-28 17:25:49 +01:00
Matthias Krüger
86304f5149
Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot
...
Prefer doc comments over `//`-comments in compiler
Doc comments are generally nicer: they show up in the documentation, they are shown in IDEs when you hover other mentions of items, etc. Thus it makes sense to use them instead of `//`-comments.
2022-11-27 22:14:08 +01:00
Ralf Jung
60d5d65a4d
interpret: get rid of run() function
2022-11-27 15:20:26 +01:00
Maybe Waffle
1d42936b18
Prefer doc comments over //-comments in compiler
2022-11-27 11:19:04 +00:00
bors
df04d28163
Auto merge of #103917 - oli-obk:layout_math, r=RalfJung,lcnr
...
Various cleanups around scalar layout restrictions
Pulled out of https://github.com/rust-lang/rust/pull/103724
2022-11-27 10:35:00 +00:00
Boxy
430f7d16e6
add FIXME's
2022-11-25 09:28:44 +00:00
kadmin
f9750c1554
Add empty ConstKind::Abstract
...
Initial pass at expr/abstract const/s
Address comments
Switch to using a list instead of &[ty::Const], rm `AbstractConst`
Remove try_unify_abstract_consts
Update comments
Add edits
Recurse more
More edits
Prevent equating associated consts
Move failing test to ui
Changes this test from incremental to ui, and mark it as failing and a known bug.
Does not cause the compiler to ICE, so should be ok.
2022-11-25 09:28:43 +00:00
Oli Scherer
2e79f5f9f8
Move a comment to the right place
2022-11-25 08:11:53 +00:00
Oli Scherer
c3eb8f2778
rustc_layout_scalar_valid_range can be applied to scalar pairs and affects teh first scalar
2022-11-25 08:00:26 +00:00
Matthias Krüger
820a41580e
Rollup merge of #104564 - RalfJung:either, r=oli-obk
...
interpret: use Either over Result when it is not representing an error condition
r? `@oli-obk`
2022-11-20 18:21:48 +01:00
Lukas Markeffsky
f13c4f4d6a
constify exact_div intrinsic
2022-11-19 16:36:08 +01:00
Dylan DPC
00876c68c4
Rollup merge of #104411 - lcnr:bivariance-nll, r=compiler-errors
...
nll: correctly deal with bivariance
fixes #104409
when in a bivariant context, relating stuff should always trivially succeed. Also changes the mir validator to correctly deal with higher ranked regions.
r? types cc ``@RalfJung``
2022-11-19 11:54:44 +05:30
Ralf Jung
09a887cebf
review feedback
2022-11-18 14:24:48 +01:00
Ralf Jung
4101889786
interpret: use Either over Result when it is not representing an error condition
2022-11-18 10:18:32 +01:00
Ralf Jung
1115ec601a
cleanup and dedupe CTFE and Miri error reporting
2022-11-16 10:13:29 +01:00
bors
a00f8ba7fc
Auto merge of #104054 - RalfJung:byte-provenance, r=oli-obk
...
interpret: support for per-byte provenance
Also factors the provenance map into its own module.
The third commit does the same for the init mask. I can move it in a separate PR if you prefer.
Fixes https://github.com/rust-lang/miri/issues/2181
r? `@oli-obk`
2022-11-15 17:37:15 +00:00
lcnr
6aa611a84c
mv utility methods into separate module
2022-11-15 13:50:13 +01:00
lcnr
45f441a7b4
nll: correctly deal with bivariance
2022-11-15 13:34:08 +01:00
Matthias Krüger
050ece6765
Rollup merge of #104356 - RalfJung:interpret-check-mplace, r=oli-obk
...
interpret: make check_mplace public
This helps avoid code duplication in https://github.com/rust-lang/miri/pull/2661 .
2022-11-14 19:26:18 +01:00
Matthias Krüger
5763fa74f0
Rollup merge of #104349 - rustaceanclub:master, r=oli-obk
...
fix some typos in comments
2022-11-14 19:26:18 +01:00
Ralf Jung
68af46c112
assert that we are (de)seiralizing ProvenanceMap correctly
2022-11-14 18:26:40 +01:00
Ralf Jung
7982d6ac64
interpret: make check_mplace public
2022-11-13 12:56:48 +01:00
Ralf Jung
c78021709a
add is_sized method on Abi and Layout, and use it
2022-11-13 12:23:53 +01:00
cui fliter
442f848d74
fix some typos in comments
...
Signed-off-by: cui fliter <imcusg@gmail.com>
2022-11-13 15:26:17 +08:00
Ralf Jung
c3a7ca1125
move InitMask to its own module
2022-11-06 14:17:10 +01:00
Ralf Jung
2cef9e3d19
interpret: support for per-byte provenance
2022-11-06 14:17:10 +01:00
Matthias Krüger
61c6cdb5f4
Rollup merge of #103915 - chenyukang:yukang/fix-103874, r=lcnr
...
Improve use of ErrorGuaranteed and code cleanup
Part of #103874
2022-11-04 06:40:32 +01:00
yukang
7df9d818ab
deprecate DelaySpanBugEmitted and use ErrorGuaranteed directly
2022-11-02 23:15:49 +08:00
Dylan DPC
20528baac4
Rollup merge of #103729 - RalfJung:align-of-val-packed, r=oli-obk
...
interpret: fix align_of_val on packed types
Fixes https://github.com/rust-lang/miri/issues/2632
r? `@oli-obk`
2022-11-01 14:12:26 +05:30
Ralf Jung
fa2aa1cedb
interpret: move type_name implementation to an interpreter-independent helper file
2022-10-31 11:04:03 +01:00
Sarthak Singh
8609364480
All verbosity checks in PrettyPrinter now go through PrettyPrinter::should_print_verbose
2022-10-30 20:37:43 +05:30
Ralf Jung
d366471e58
interpret: fix align_of_val on packed types
2022-10-29 15:58:32 +02:00
Guillaume Gomez
2414a4c31a
Rollup merge of #103625 - WaffleLapkin:no_tyctxt_dogs_allowed, r=compiler-errors
...
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`
This allows to remove a lot of useless `.at(DUMMY_SP)`, making the code a bit nicer :3
r? `@compiler-errors`
2022-10-29 14:18:03 +02:00
bors
5237c4d83d
Auto merge of #102674 - CastilloDel:master, r=oli-obk
...
Remove allow(rustc::potential_query_instability) in rustc_const_eval
The use of FxHashMap has been replaced with FxIndexMap.
Related to #84447
2022-10-28 12:52:17 +00:00
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