Skip to content

Rollup of 10 pull requests #124131

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 30 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f09c19a
Introduce perma-unstable `wasm-c-abi` flag
daxpedda Feb 27, 2024
9e2c658
Remove `TargetOptions::default_adjusted_cabi`
daxpedda Dec 13, 2023
d9a8903
force exhaustion in iter::ArrayChunks::into_remainder
krtab Apr 3, 2024
bbd359f
Add regression test for issue 120600
WaffleLapkin Apr 6, 2024
1737162
Add a test for `a == b` where `a: !, b: !`
WaffleLapkin Apr 6, 2024
62d956f
Correctly change type when adding adjustments on top of `NeverToAny`
WaffleLapkin Apr 6, 2024
19821ad
Properly handle emojis as literal prefix in macros
estebank Apr 10, 2024
857f5dd
Don't inline integer literals when out of range
tstsrt Apr 14, 2024
757f5bb
Fix formatting
tstsrt Apr 14, 2024
38c4885
Add more test cases
tstsrt Apr 14, 2024
4c8d210
Improve semantics of int_ty_max functions
tstsrt Apr 14, 2024
86a5765
Add an opt-in to store incoming edges in `VecGraph` + some docs
WaffleLapkin Apr 15, 2024
7d2cb3d
Make `graph::DepthFirstSearch` accept `G` by value
WaffleLapkin Apr 15, 2024
fa134b5
Add `graph::depth_first_search_as_undirected`
WaffleLapkin Apr 15, 2024
f68529f
Use raw-dylib for Windows futex APIs
ChrisDenton Apr 16, 2024
5b024d6
Cranelift: Revert raw-dylib for Windows futex APIs
ChrisDenton Apr 16, 2024
cc12a1b
Fix negating `f16` and `f128` constants
beetrees Apr 18, 2024
ed8f351
Fix ICE when there is a non-Unicode entry in the incremental crate di…
beetrees Apr 18, 2024
3e63398
when suggesting RUST_BACKTRACE=1, add a special note for Miri's env v…
RalfJung Apr 18, 2024
523fe2b
Add tests for predecessor-aware `VecGraph` mode
WaffleLapkin Apr 18, 2024
b61ff8c
Rollup merge of #117919 - daxpedda:wasm-c-abi, r=wesleywiser
GuillaumeGomez Apr 18, 2024
c8d529d
Rollup merge of #123406 - krtab:fix_remainder_iterchunk, r=scottmcm
GuillaumeGomez Apr 18, 2024
1beaaac
Rollup merge of #123571 - WaffleLapkin:properly-adjust-never, r=compi…
GuillaumeGomez Apr 18, 2024
901707c
Rollup merge of #123752 - estebank:emoji-prefix, r=wesleywiser
GuillaumeGomez Apr 18, 2024
aa82d66
Rollup merge of #123935 - tstsrt:fix-115423, r=oli-obk
GuillaumeGomez Apr 18, 2024
abdeb13
Rollup merge of #123980 - WaffleLapkin:graph-average-refactor, r=wesl…
GuillaumeGomez Apr 18, 2024
bfd6f62
Rollup merge of #124019 - ChrisDenton:futex-raw-dylib, r=joboet
GuillaumeGomez Apr 18, 2024
630c01f
Rollup merge of #124110 - beetrees:neg-f16-f128, r=compiler-errors
GuillaumeGomez Apr 18, 2024
4b97974
Rollup merge of #124112 - beetrees:incremental-os-str, r=Nadrieril
GuillaumeGomez Apr 18, 2024
e80f84c
Rollup merge of #124116 - RalfJung:miri-rust-backtrace, r=Nilstrieb
GuillaumeGomez Apr 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add a test for a == b where a: !, b: !
(this currently produces malformed mir: we call `eq` with first argument not
being a reference)
WaffleLapkin committed Apr 6, 2024
commit 17371626e7e793f8edac2115c0a7f10c93568b33
53 changes: 53 additions & 0 deletions tests/mir-opt/building/eq_never_type._f.built.after.mir
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// MIR for `_f` after built

fn _f(_1: !, _2: !) -> () {
debug a => _1;
debug b => _2;
let mut _0: ();
let mut _3: !;
let _4: bool;
let mut _5: ();
let mut _6: !;
let mut _7: &();
let _8: ();
let mut _9: !;

bb0: {
StorageLive(_4);
StorageLive(_5);
StorageLive(_6);
_6 = _1;
unreachable;
}

bb1: {
StorageDead(_6);
StorageLive(_7);
StorageLive(_8);
StorageLive(_9);
_9 = _2;
unreachable;
}

bb2: {
_7 = &_8;
StorageDead(_9);
_4 = <() as PartialEq>::eq(move _5, move _7) -> [return: bb3, unwind: bb5];
}

bb3: {
StorageDead(_7);
StorageDead(_5);
StorageDead(_8);
StorageDead(_4);
unreachable;
}

bb4: {
return;
}

bb5 (cleanup): {
resume;
}
}
13 changes: 13 additions & 0 deletions tests/mir-opt/building/eq_never_type.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// skip-filecheck
#![feature(never_type)]
#![allow(unreachable_code)]

// EMIT_MIR eq_never_type._f.built.after.mir
fn _f(a: !, b: !) {
// Both arguments must be references (i.e. == should auto-borrow/coerce-to-ref both arguments)
// (this previously was buggy due to `NeverToAny` coercion incorrectly throwing out other
// coercions)
a == b;
}

fn main() {}