Uh oh!
There was an error while loading. Please reload this page.
Pass FnAbi to find_mir_or_eval_fn - #133103
Conversation
rustbot
commented
Nov 16, 2024
Some changes occurred to the CTFE machinery cc @rust-lang/wg-const-eval Some changes occurred to the CTFE / Miri interpreter cc @rust-lang/miri The Miri subtree was changed cc @rust-lang/miri |
Uh oh!
There was an error while loading. Please reload this page.
RalfJung
commented
Nov 24, 2024
@rustbot author |
@RalfJung There are some refactorings needed to remove |
This comment has been minimized.
This comment has been minimized.
RalfJung
commented
Nov 27, 2024
Yeah, they should pass |
Uh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
bors
commented
Dec 9, 2024
☔ The latest upstream changes (presumably #134052) made this pull request unmergeable. Please resolve the merge conflicts. |
Interesting... for the same test, running on Linux will pass, but running on Windows will fail because of incompatible ABI. For future reference:
This means that for the exact same function, whether we should use EDIT: Ok nevermind, it's just I used |
8404ac5 to
64e95f8CompareRalfJung
commented
Dec 10, 2024
via email
This means that for the exact same function, whether we should use Conv::C or Conv::X86Stdcall depends on the target we are running? Or maybe I just did something bad somewhere... Yes that makes sense, Windows has some special rules here. |
Uh oh!
There was an error while loading. Please reload this page.
tiif
commented
Dec 14, 2024
I might continue to fix some cosmetic issues such as stray new lines, but this PR is ready for review @rustbot ready |
RalfJung
left a comment
There was a problem hiding this comment.
Looks pretty good. :) Just some minor comments.
| if fn_abi.conv != exp_abi { | ||
| throw_ub_format!( | ||
| "calling a function with ABI {} using caller ABI {}", |
There was a problem hiding this comment.
Just use debug formatting for the error for now. We do the same in interpret/call.rs already.
The proper fix here would be a impl Display for Conv somewhere near this. If you want you can do that in a future PR. :)
There was a problem hiding this comment.
Sure, I can open one after this.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
RalfJung
commented
Dec 15, 2024
@rustbot author |
bors
commented
Dec 17, 2024
☔ The latest upstream changes (presumably #134381) made this pull request unmergeable. Please resolve the merge conflicts. |
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#133265 (Add a range argument to vec.extract_if) - rust-lang#133801 (Promote powerpc64le-unknown-linux-musl to tier 2 with host tools) - rust-lang#134323 (coverage: Dismantle `map_data.rs` by moving its responsibilities elsewhere) - rust-lang#134378 (An octuple of polonius fact generation cleanups) - rust-lang#134408 (Regression test for RPIT inheriting lifetime from projection) - rust-lang#134423 (bootstrap: use specific-purpose ui test path for `test_valid` self-test) - rust-lang#134426 (Fix typo in uint_macros.rs) Failed merges: - rust-lang#133103 (Pass FnAbi to find_mir_or_eval_fn) r? `@ghost` `@rustbot` modify labels: rollup
tiif
commented
Dec 18, 2024
I will need some time to figure out how to resolve the merge conflict, and will request for r+ again after resolving it. |
9c7593e to
45fc89aCompareHmm this is weird, the import is valid and I didn't change anything from attr, but got this error: --> compiler/rustc_hir/src/hir.rs:5:5
|
5 | use rustc_ast::attr::AttributeExt;
|^^^^^^^^^^^^^^^^^------------
|||||help: a similar name exists in the module: `Attribute`
| no `AttributeExt` in `attr`
error[E0432]: unresolved import `rustc_ast::UnsafeBinderCastKind`
--> compiler/rustc_hir/src/hir.rs:14:57
|
14 | ImplPolarity, IsAuto, Movability, Mutability, UnOp, UnsafeBinderCastKind,
|^^^^^^^^^^^^^^^^^^^^ no `UnsafeBinderCastKind` in the root
error[E0432]: unresolved import `rustc_ast::attr::AttributeExt`
--> compiler/rustc_hir/src/lang_items.rs:10:5
|
10 | use rustc_ast::attr::AttributeExt;
|^^^^^^^^^^^^^^^^^------------
|||||help: a similar name exists in the module: `Attribute`
| no `AttributeExt` in `attr`
For more information about this error, try `rustc --explain E0432`.@oli-obk since you reviewed #134381, do you know what's going on here and how to resolve this? |
oli-obk
commented
Dec 18, 2024
That's weird. Sounds like a cache issue where it doesn't think a crate has changed when it acrually has. Worst case try |
This comment has been minimized.
This comment has been minimized.
tiif
commented
Dec 18, 2024
|
bors
commented
Dec 18, 2024
☔ The latest upstream changes (presumably #134243) made this pull request unmergeable. Please resolve the merge conflicts. |
45fc89a to
5454c95Compare5454c95 to
fd8b983CompareRalfJung
commented
Dec 19, 2024
@bors r+ |
oli-obk
commented
Dec 19, 2024
@bors ping |
bors
commented
Dec 19, 2024
😪 I'm awake I'm awake |
oli-obk
commented
Dec 19, 2024
@bors r=RalfJung |
bors
commented
Dec 19, 2024
Rollup of 6 pull requests Successful merges: - rust-lang#126118 (docs: Mention `spare_capacity_mut()` in `Vec::set_len`) - rust-lang#132830 (Rename `elem_offset` to `element_offset`) - rust-lang#133103 (Pass FnAbi to find_mir_or_eval_fn) - rust-lang#134321 (Hide `= _` as associated constant value inside impl blocks) - rust-lang#134518 (fix typos in the example code in the doc comments of `Ipv4Addr::from_bits()`, `Ipv6Addr::from_bits()` & `Ipv6Addr::to_bits()`) - rust-lang#134521 (Arbitrary self types v2: roll loop.) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#133103 - tiif:fnabi, r=RalfJung Pass FnAbi to find_mir_or_eval_fn rust-lang/miri#4013 needs information from ``FnAbi``, hence it is passed to ``find_mir_or_eval_fn``. r? `@RalfJung`
Implement Display for ``rustc_target::callconv::Conv`` Follow up of rust-lang#133103 (comment)
Rollup merge of rust-lang#135808 - tiif:conv_display, r=workingjubilee Implement Display for ``rustc_target::callconv::Conv`` Follow up of rust-lang#133103 (comment)
Implement Display for ``rustc_target::callconv::Conv`` Follow up of rust-lang/rust#133103 (comment)
rust-lang/miri#4013 needs information from
FnAbi, hence it is passed tofind_mir_or_eval_fn.r? @RalfJung