Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
4952963
respect borrow kind in `kill_borrows_on_place`
dianne Aug 11, 2026
7bc7d5a
Prepare for merging from rust-lang/rust
bjorn3 Oct 8, 2026
a7721d9
Merge ref '1d81eb4ad9cd' (nightly-2026-10-08) from rust-lang/rust
bjorn3 Oct 8, 2026
228c2a1
Fix rustc test suite
bjorn3 Oct 8, 2026
e8b09fb
Account for `use foo as bar;` on resolution error suggestions
estebank Oct 11, 2026
67ccc41
Prepare for merging from rust-lang/rust
bjorn3 Oct 12, 2026
517e3aa
Merge ref '080cc2714638' (nightly-2026-10-12) from rust-lang/rust
bjorn3 Oct 12, 2026
ce7b4b3
Fix rustc test suite
bjorn3 Oct 12, 2026
c915829
Ignore abi-cafe test that ICEs cg_ssa on Windows
bjorn3 Oct 13, 2026
eeb0c65
Prepare for merging from rust-lang/rust
bjorn3 Oct 14, 2026
5e32c13
Merge ref '822182db4c4a' (nightly-2026-10-14) from rust-lang/rust
bjorn3 Oct 14, 2026
6b7560c
Improve rustup.sh
bjorn3 Oct 14, 2026
d048b4d
Add test
mu001999 Oct 16, 2026
c7a023a
Make async drop shim proxy pinned
mu001999 Oct 16, 2026
a881c33
Prepare for merging from rust-lang/rust
bjorn3 Oct 19, 2026
b95ef6f
Merge ref 'b6eeb93c9920' (nightly-2026-10-19) from rust-lang/rust
bjorn3 Oct 19, 2026
ff8022e
Fix rustc test suite
bjorn3 Oct 19, 2026
dfc01e2
Update to Cranelift 0.137
bjorn3 Sep 21, 2026
db045ce
Re-enable x86_64 windows abi-cafe tests
bjorn3 Oct 6, 2026
2b8118e
Merge pull request #1709 from rust-lang/update_cranelift
bjorn3 Oct 21, 2026
87d99ba
Remove workaround for fixed ABI issue
bjorn3 Oct 21, 2026
23670f7
add test for the use<..> suggestion on elided lifetimes
Albab-Hasan Oct 3, 2026
eee351a
name the elided lifetimes in the use<..> suggestion for E0700
Albab-Hasan Oct 3, 2026
81b952e
reuse suggest_name_region for naming the elided lifetimes
Albab-Hasan Oct 14, 2026
acbf22b
std: keep value of local_pointer! until thread_cleanup is run
ivmarkov Oct 5, 2026
ca12745
Bump dist-x86_64-illumos to Ubuntu 22.04
Kobzol Oct 23, 2026
b40a816
Prepare for merging from rust-lang/rust
bjorn3 Oct 23, 2026
bb25654
Merge ref '7189d39d9ce9' (nightly-2026-10-23) from rust-lang/rust
bjorn3 Oct 23, 2026
bb99fe6
Replace "weak (alias)" with "free (alias (type))"
fmease Oct 18, 2026
9291760
Replace "lazy (type alias)" with "checked (type alias)"
fmease Oct 18, 2026
403a476
Replace "LTA" with "CTA"
fmease Oct 18, 2026
fe64545
Rename `tests/ui/checked-type-alias` to `tests/ui/checked-type-aliases`
fmease Oct 18, 2026
7594d47
miri: fix ICE when caller signature is c-variadic but callee is not
RalfJung Oct 23, 2026
ea99830
Rollup merge of #164792 - bjorn3:sync_cg_clif-2026-10-23, r=bjorn3
JonathanBrouwer Oct 23, 2026
1e440ba
Rollup merge of #163799 - ivmarkov:fix-thread-memory-leak, r=joboet
JonathanBrouwer Oct 23, 2026
0064361
Rollup merge of #164781 - Kobzol:illumos-ubuntu-22.04, r=jieyouxu
JonathanBrouwer Oct 23, 2026
5a23cbc
Rollup merge of #160902 - dianne:preserve-shallow, r=oli-obk
JonathanBrouwer Oct 23, 2026
09be9a6
Rollup merge of #163684 - Albab-Hasan:name-anon-lifetimes-in-use-boun…
JonathanBrouwer Oct 23, 2026
ce034d4
Rollup merge of #164167 - estebank:issue-76566, r=oli-obk
JonathanBrouwer Oct 23, 2026
8305fe4
Rollup merge of #164438 - mu001999-contrib:fix-164433, r=oli-obk
JonathanBrouwer Oct 23, 2026
9d5583c
Rollup merge of #164528 - fmease:cta-renamings, r=chenyukang
JonathanBrouwer Oct 23, 2026
0afcc37
Rollup merge of #164796 - RalfJung:variadic-ice, r=oli-obk
JonathanBrouwer Oct 23, 2026
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
12 changes: 8 additions & 4 deletions compiler/rustc_borrowck/src/dataflow.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ use rustc_mir_dataflow::impls::{
use rustc_mir_dataflow::{Analysis, GenKill, JoinSemiLattice};
use tracing::debug;

use crate::{BorrowSet, PlaceConflictBias, PlaceExt, RegionInferenceContext, places_conflict};
use crate::{
AccessDepth, BorrowSet, PlaceConflictBias, PlaceExt, RegionInferenceContext, places_conflict,
};

// This analysis is different to most others. Its results aren't computed with
// `iterate_to_fixpoint`, but are instead composed from the results of three sub-analyses that are
Expand Down Expand Up @@ -448,7 +450,7 @@ impl<'a, 'tcx> Borrows<'a, 'tcx> {

// If the borrowed place is a local with no projections, all other borrows of this
// local must conflict. This is purely an optimization so we don't have to call
// `places_conflict` for every borrow.
// `places_conflict::borrow_conflicts_with_place` for every borrow.
if place.projection.is_empty() {
if !self.body.local_decls[place.local].is_ref_to_static() {
state.kill_all(other_borrows_of_local);
Expand All @@ -461,11 +463,13 @@ impl<'a, 'tcx> Borrows<'a, 'tcx> {
// will be assured that two places being compared definitely denotes the same sets of
// locations.
let definitely_conflicting_borrows = other_borrows_of_local.filter(|&i| {
places_conflict(
places_conflict::borrow_conflicts_with_place(
self.tcx,
self.body,
self.borrow_set[i].borrowed_place,
place,
self.borrow_set[i].kind,
place.as_ref(),
AccessDepth::Deep,
PlaceConflictBias::NoOverlap,
)
});
Expand Down
86 changes: 47 additions & 39 deletions compiler/rustc_codegen_cranelift/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -43,46 +43,46 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"

[[package]]
name = "cranelift-assembler-x64"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4a59ddc4abd9c5560f4742864b2cd8c19e73c7263f0c866b2c45c2d31587adc"
checksum = "d3307701abcb90554ee72fdb0db36ee0334a4abe380c4d87a5b04a6942613c3a"
dependencies = [
"cranelift-assembler-x64-meta",
]

[[package]]
name = "cranelift-assembler-x64-meta"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a8c361cd22fd0fdd8e61af6bfd86ad9c0c62f78b2b1caa2b9e4e97cd8f605fe"
checksum = "e62d0e19f9f5fa0c4243236df1ffdf139d207600b4402ac41ceba8dbe7ca0f3d"
dependencies = [
"cranelift-srcgen",
]

[[package]]
name = "cranelift-bforest"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b86c34ae183cf2410318f899648fe1ef6ab9148486e7b938d7b4d814e61dafc9"
checksum = "47784bc3c4b57c0182bb8ff04aae5d5f5fc6bae8ba26b1212c9a659b90dab84e"
dependencies = [
"cranelift-entity",
"wasmtime-internal-core",
]

[[package]]
name = "cranelift-bitset"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "415f1a12668869e16ac3b66a729fb8cce8bbe6e50e68d1fa0142acd0c9c05f0c"
checksum = "e13d120406f713dbce1940751e77bbb14daad1261379b7200c19285953e79a1d"
dependencies = [
"wasmtime-internal-core",
]

[[package]]
name = "cranelift-codegen"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73eecedc85ffca4f34dbe197c6545c8ade6579a61352457936f53c3bffa6353b"
checksum = "a53dbec33ff86909e44be6f0ec2d17841aa38b931013707c9fc7279f1f0e5760"
dependencies = [
"bumpalo",
"cranelift-assembler-x64",
Expand All @@ -107,9 +107,9 @@ dependencies = [

[[package]]
name = "cranelift-codegen-meta"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "66834005198c3e9e3d89cd69cf1541419402ab75250afbeaa3128db6d5254025"
checksum = "42295b38e9182954cb32a71812e3d64d66a90efc0a2ababb73e465ad4a1efccf"
dependencies = [
"cranelift-assembler-x64-meta",
"cranelift-codegen-shared",
Expand All @@ -119,34 +119,34 @@ dependencies = [

[[package]]
name = "cranelift-codegen-shared"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e6efaf74077091a2ff41317cc8eb2779264dae4b8a16d955835f3fcda338f52"
checksum = "b5200fa877fb64cd30cabe0603f394333f88f69adf63e4db8d48a111d0c9d0dd"

[[package]]
name = "cranelift-control"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4258d4ed6ad4e698fe1fec4277b1fcbea6f2a17cb5ec3f04bddfb38ca83d93e"
checksum = "b86250e480795fbb4425ea703bca7b75282998458ce74f5360843a31949f2bbc"
dependencies = [
"arbitrary",
]

[[package]]
name = "cranelift-entity"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f016b6f87b1a46a3f5df59b82d88bb352bf2fa6d7868875dfc4d6b65de5242d"
checksum = "903c6592c7d600c251d20929f143543b7303ac70b072ad3394d65b29caf56f69"
dependencies = [
"cranelift-bitset",
"wasmtime-internal-core",
]

[[package]]
name = "cranelift-frontend"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b16f2b149dae6ea3886bee931445196d86d8e71b66f7c3b21abe434f77189be8"
checksum = "b929f09b82a270e2aae062945cf86cd9db39c59ad9bead6986ea6b09fcf8a969"
dependencies = [
"cranelift-codegen",
"hashbrown 0.17.0",
Expand All @@ -157,15 +157,15 @@ dependencies = [

[[package]]
name = "cranelift-isle"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f00258ff3d37f52ed731df679205e66175c728846dbde186ee20e93973d12ee7"
checksum = "b1c5809e8636a37e5a25ecc35242d33d6e7391c49b67488b83446e2898af2a2f"

[[package]]
name = "cranelift-jit"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa063cc98af51fb9090cd40b674503e21bdfa705d2bff75ebf98b79ffc0f598d"
checksum = "a86db0c01bd2f7f86fedbebd6bee15ab40d74bd1a87b35e19b2a1a07612427ba"
dependencies = [
"anyhow",
"cranelift-codegen",
Expand All @@ -184,31 +184,33 @@ dependencies = [

[[package]]
name = "cranelift-module"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bff0025f1ff6a0470cbd2a61b125f8501311ea9e6c46ed5bb2110ee6710c6a76"
checksum = "bb4f4b6e71b257549ffa6f14ddc0c314f332f66c7531b3c9a645c290a9d1effa"
dependencies = [
"anyhow",
"cranelift-codegen",
"cranelift-control",
"hashbrown 0.17.0",
]

[[package]]
name = "cranelift-native"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f31eb7e08f31e5bc9c167c35718b0325efa3d4e234e2e9342316e01b18a4b51"
checksum = "815c559daf605a5b4ea35530604643c1e87504353c0d1a14763f9c2b9d518493"
dependencies = [
"cranelift-codegen",
"libc",
"mach2 0.6.0",
"target-lexicon",
]

[[package]]
name = "cranelift-object"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ca0d86955529d5b9041c4c07745f6ffa42c32326e9f467a834e2b7bd9a9d156"
checksum = "78f98e6d6b502fa10bd1bb95776544033169d0c1860d6fe1ada03109ea500eb4"
dependencies = [
"anyhow",
"cranelift-codegen",
Expand All @@ -221,9 +223,9 @@ dependencies = [

[[package]]
name = "cranelift-srcgen"
version = "0.135.0"
version = "0.137.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e0b67d313f510520f40c1496c3446af0d6b30219d1ba9a4c09c77ec288a561b"
checksum = "d633ff621e7f31a943431da0d7dd37c4376766c60bd7171216de1c7ccabfb370"

[[package]]
name = "crc32fast"
Expand Down Expand Up @@ -332,6 +334,12 @@ dependencies = [
"libc",
]

[[package]]
name = "mach2"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b"

[[package]]
name = "memchr"
version = "2.7.6"
Expand All @@ -349,9 +357,9 @@ dependencies = [

[[package]]
name = "object"
version = "0.39.1"
version = "0.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b"
checksum = "dd229a0361b9d0d4396176e02d65897f487eebeab7caa6d443855ee152ca0b9c"
dependencies = [
"crc32fast",
"hashbrown 0.17.0",
Expand Down Expand Up @@ -399,7 +407,7 @@ checksum = "e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7"
dependencies = [
"bitflags",
"libc",
"mach2",
"mach2 0.4.3",
"windows-sys 0.52.0",
]

Expand Down Expand Up @@ -493,19 +501,19 @@ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"

[[package]]
name = "wasmtime-internal-core"
version = "48.0.0"
version = "50.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c01c81d781512e17b38c3a76ca9aa2564bc3f9fd8ff6ffc77ba3e1c290d488a"
checksum = "83d4ac46034b149aed44335595402503094a04e3b70d0cff8c169d83437318b8"
dependencies = [
"hashbrown 0.17.0",
"libm",
]

[[package]]
name = "wasmtime-internal-jit-icache-coherence"
version = "48.0.0"
version = "50.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a09abde04346919af1136a28f344e200685509e28815aef4c39dc08977cc1d8"
checksum = "cf25a1b3b925915f845927967554400554db9cebd3a7038a6fca0cf6e9bbaf6a"
dependencies = [
"libc",
"wasmtime-internal-core",
Expand Down
26 changes: 13 additions & 13 deletions compiler/rustc_codegen_cranelift/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,28 @@ crate-type = ["dylib"]

[dependencies]
# These have to be in sync with each other
cranelift-codegen = { version = "0.135.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
cranelift-frontend = { version = "0.135.0" }
cranelift-module = { version = "0.135.0" }
cranelift-native = { version = "0.135.0" }
cranelift-jit = { version = "0.135.0", optional = true }
cranelift-object = { version = "0.135.0", default-features = false }
cranelift-codegen = { version = "0.137.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
cranelift-frontend = { version = "0.137.0" }
cranelift-module = { version = "0.137.0" }
cranelift-native = { version = "0.137.0" }
cranelift-jit = { version = "0.137.0", optional = true }
cranelift-object = { version = "0.137.0", default-features = false }
target-lexicon = "0.13"
gimli = { version = "0.33", default-features = false, features = ["write"] }
object = { version = "0.39.1", default-features = false, features = ["std", "read_core", "write", "archive", "coff", "elf", "macho", "pe"] }
object = { version = "0.40.0", default-features = false, features = ["std", "read_core", "write", "archive", "coff", "elf", "macho", "pe"] }

indexmap = "2.0.0"
libloading = { version = "0.9.0", optional = true }
smallvec = "1.8.1"

# Uncomment to use an unreleased version of cranelift
#[patch.crates-io]
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-50.0.0" }
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-50.0.0" }
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-50.0.0" }
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-50.0.0" }
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-50.0.0" }
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-50.0.0" }

# Uncomment to use local checkout of cranelift
#cranelift-codegen = { path = "../wasmtime/cranelift/codegen" }
Expand Down

This file was deleted.

2 changes: 1 addition & 1 deletion compiler/rustc_codegen_cranelift/rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[toolchain]
channel = "nightly-2026-09-30"
channel = "nightly-2026-10-23"
components = ["rust-src", "rustc-dev", "llvm-tools", "rustfmt"]
profile = "minimal"
6 changes: 3 additions & 3 deletions compiler/rustc_codegen_cranelift/scripts/abi-cafe-rules.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
'OptionU128::conv_rust::repr_c::rustc_caller'.busted = "run"
'OptionU128::conv_rust::repr_c::cgclif_caller'.busted = "check"

[target.'cfg(all(target_arch = "x86_64", windows))']
'simple::conv_rust'.busted = "check"
'simple::conv_rust::rustc_caller'.busted = "run"
[target.'cfg(all(target_arch = "x86_64", target_env = "msvc"))']
# ICE: https://github.com/rust-lang/rust/issues/164207
'EmptyStruct::conv_c::repr_c::rustc_calls_cgclif'.run = "skip"

[target.'*'.'f16']
run = "skip"
Expand Down
Loading
Loading