Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
584a710
dynamically test for symlink permission
RalfJung Sep 30, 2026
21aaaf0
Merge pull request #5365 from RalfJung/symink-perm
RalfJung Sep 30, 2026
cef096d
Add native FreeBSD runner to CI
WhySoBad Sep 24, 2026
3158ec2
Store `Span` instead of `SpanData`
nnethercote Oct 1, 2026
fdc7532
Prepare for merging from rust-lang/rust
RalfJung Oct 1, 2026
9184773
Merge ref '837b18aae097' from rust-lang/rust
RalfJung Oct 1, 2026
a8a8111
Revert "temporarily disable broken test on freebsd"
RalfJung Oct 1, 2026
b433834
Merge pull request #5366 from nnethercote/store-Span
RalfJung Oct 1, 2026
86aed35
Merge pull request #5368 from RalfJung/freebsd-numcpu
RalfJung Oct 1, 2026
d4c82e7
freebsd: add FIXME for st_mode on a pipe
RalfJung Oct 1, 2026
9777590
Merge pull request #5354 from WhySoBad/native-freebsd-ci
RalfJung Oct 1, 2026
9cab556
Handle ENETUNREACH in socket tests which connect to blackhole addresses
WhySoBad Oct 1, 2026
545a884
remove some unnecessary @only-on-host
RalfJung Oct 1, 2026
54ef8ec
Merge pull request #5372 from RalfJung/only-on-host
RalfJung Oct 1, 2026
4bf4c94
make Linux current_exe work on non-Linux hosts
RalfJung Oct 1, 2026
e62ff22
Merge pull request #5373 from RalfJung/linux-current-exe
RalfJung Oct 1, 2026
6ef28db
Merge pull request #5369 from WhySoBad/handle-enetunreach
RalfJung Oct 2, 2026
da9fe25
getaddrinfo test: ensure we see both IPv4 and IPv6
RalfJung Oct 2, 2026
97b9a27
Merge pull request #5376 from RalfJung/getaddrinfo-test
RalfJung Oct 2, 2026
422a964
bump dependencies
RalfJung Oct 2, 2026
42a105c
Merge pull request #5377 from RalfJung/deps
RalfJung Oct 2, 2026
b592ad4
pick more sensible path for current_exe
RalfJung Oct 2, 2026
f04ffd9
we have to normalize stderr as well
RalfJung Oct 2, 2026
ef66a06
run some more tests natively
RalfJung Oct 2, 2026
15471df
Merge pull request #5378 from RalfJung/current_exe
RalfJung Oct 2, 2026
52e14c7
Prepare for merging from rust-lang/rust
Oct 3, 2026
7a776ea
Merge ref 'e0452e266c9a' from rust-lang/rust
Oct 3, 2026
5e524bb
fmt
Oct 3, 2026
5342681
Merge pull request #5380 from rust-lang/rustup-2026-10-03
RalfJung Oct 3, 2026
bfbfe1e
unix open: support opening directories
RalfJung Oct 3, 2026
552ce44
slightly extend window-fs test
RalfJung Oct 3, 2026
ed592ea
fix windows behavior for '.' relative path
RalfJung Oct 3, 2026
e14ff84
fix forwarding O_NOFOLLOW to Dir::open
RalfJung Oct 3, 2026
a1ab85a
add test for opening dangling symlinks
RalfJung Oct 3, 2026
a836ca5
solarish: support current_exe via /proc/self/path/a.out in readlink.
devnexen Oct 3, 2026
340f276
Prepare for merging from rust-lang/rust
Oct 4, 2026
6737021
Merge ref '56343b1a7d3f' from rust-lang/rust
Oct 4, 2026
574af06
Merge pull request #5384 from rust-lang/rustup-2026-10-04
RalfJung Oct 4, 2026
b4d2b85
replace directory handling retry loop by more lower-level shenanigans
RalfJung Oct 3, 2026
4e604a9
support F_GETFL on files and directories
RalfJung Oct 4, 2026
8c4ce2e
Merge pull request #5382 from RalfJung/unix-open-dir
RalfJung Oct 4, 2026
a9b166b
Merge pull request #5383 from devnexen/solarish_current_exe
RalfJung Oct 4, 2026
63c07bd
lower spans of error const args and test binder bounds
paradoxicalguy Oct 4, 2026
58eda6e
Use `LLVMGlobalAddMetadata`
Zalathar Oct 2, 2026
9c4bef5
optimize empty `NestedGoals::extend_from_child`
lcnr Oct 1, 2026
13c0a61
Rollup merge of #163790 - RalfJung:miri, r=RalfJung
JonathanBrouwer Oct 5, 2026
94c2bd2
Rollup merge of #163610 - lcnr:nested-goals-opt, r=oli-obk
JonathanBrouwer Oct 5, 2026
8a50d50
Rollup merge of #163697 - Zalathar:llvm-22, r=mejrs
JonathanBrouwer Oct 5, 2026
b9eb49a
Rollup merge of #163750 - paradoxicalguy:ice-span-wo-parent, r=oli-obk
JonathanBrouwer Oct 5, 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
2 changes: 1 addition & 1 deletion compiler/rustc_ast_lowering/src/item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2122,7 +2122,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
);

hir::TestBinderBoundTypeConstraint {
span: *span,
span: self.lower_span(*span),
hir_id: self.lower_node_id(*node_id),
params: generics.params,
lhs,
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_ast_lowering/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3394,7 +3394,7 @@ impl UnrepresentableConstArgError {
ConstArg {
hir_id: lowering_context.next_id(),
kind: hir::ConstArgKind::Error(e),
span: self.span,
span: lowering_context.lower_span(self.span),
}
}
}
4 changes: 2 additions & 2 deletions compiler/rustc_codegen_llvm/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1234,15 +1234,15 @@ impl<'ll, CX: Borrow<SCx<'ll>>> GenericCx<'ll, CX> {

/// Helper method for the sequence of calls:
/// - `LLVMMDNodeInContext2` (to create an `llvm::MDNode` from a list of metadata)
/// - `LLVMRustGlobalAddMetadata` (to set that node as metadata of `kind_id` for `global`)
/// - `LLVMGlobalAddMetadata` (to set that node as metadata of `kind_id` for `global`)
pub(crate) fn global_add_metadata_node(
&self,
global: &'ll Value,
kind_id: MetadataKindId,
md_list: &[&'ll Metadata],
) {
let md = self.md_node_in_context(md_list);
unsafe { llvm::LLVMRustGlobalAddMetadata(global, kind_id, md) };
unsafe { llvm::LLVMGlobalAddMetadata(global, kind_id, md) };
}

/// Helper method for the sequence of calls:
Expand Down
11 changes: 5 additions & 6 deletions compiler/rustc_codegen_llvm/src/llvm/ffi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -993,6 +993,11 @@ unsafe extern "C" {
KindID: MetadataKindId,
Metadata: &'a Metadata,
);
pub(crate) fn LLVMGlobalAddMetadata<'ll>(
Global: &'ll Value,
Kind: MetadataKindId,
MD: &'ll Metadata,
);
pub(crate) safe fn LLVMValueAsMetadata(Node: &Value) -> &Metadata;

// Operations on constants of any type
Expand Down Expand Up @@ -1968,12 +1973,6 @@ unsafe extern "C" {
pub(crate) fn LLVMRustDisableSystemDialogsOnCrash();

// Operations on all values
/// FIXME: After dropping LLVM 21, migrate to LLVM-C's `LLVMGlobalAddMetadata`.
pub(crate) fn LLVMRustGlobalAddMetadata<'a>(
Val: &'a Value,
KindID: MetadataKindId,
Metadata: &'a Metadata,
);
pub(crate) fn LLVMRustIsNonGVFunctionPointerTy(Val: &Value) -> bool;
pub(crate) fn LLVMRustStripPointerCasts<'a>(Val: &'a Value) -> &'a Value;

Expand Down
5 changes: 0 additions & 5 deletions compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1002,11 +1002,6 @@ extern "C" void LLVMRustRemoveFnAttribute(LLVMValueRef Fn, const char *Name,
}
}

extern "C" void LLVMRustGlobalAddMetadata(LLVMValueRef Global, unsigned Kind,
LLVMMetadataRef MD) {
unwrap<GlobalObject>(Global)->addMetadata(Kind, *unwrap<MDNode>(MD));
}

extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateCompileUnit(
LLVMDIBuilderRef Builder, unsigned Lang, LLVMMetadataRef FileRef,
const char *Producer, size_t ProducerLen, bool isOptimized,
Expand Down
25 changes: 19 additions & 6 deletions compiler/rustc_type_ir/src/search_graph/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -531,12 +531,25 @@ impl<X: Cx> NestedGoals<X> {
/// to all nested goals of that nested goal are also inductive. Otherwise the paths are
/// the same as for the child.
fn extend_from_child(&mut self, step_kind: PathKind, nested_goals: &NestedGoals<X>) {
// Each nested goal is updated independently, and `insert` only unions paths for that
// goal, so traversal order cannot affect the result.
#[allow(rustc::potential_query_instability)]
for (input, paths_to_nested) in nested_goals.iter() {
let paths_to_nested = paths_to_nested.extend_with(step_kind);
self.insert(input, paths_to_nested);
if nested_goals.is_empty() {
return;
}

// Each nested goal is updated independently, so traversal order cannot
// affect the result.
#[expect(rustc::potential_query_instability)]
if self.is_empty() {
// Manually avoid HashMap lookups for every input if there aren't
// any preexisting entries.
self.nested_goals.clone_from(&nested_goals.nested_goals);
for paths_to_nested in self.nested_goals.values_mut() {
*paths_to_nested = paths_to_nested.extend_with(step_kind);
}
} else {
for (input, paths_to_nested) in nested_goals.iter() {
let paths_to_nested = paths_to_nested.extend_with(step_kind);
self.insert(input, paths_to_nested);
}
}
}

Expand Down
25 changes: 23 additions & 2 deletions src/tools/miri/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,27 @@ jobs:
- name: clippy
run: ./miri clippy -- -D warnings

test-vm-freebsd:
name: test (x86_64-unknown-freebsd)
env:
HOST_TARGET: x86_64-unknown-freebsd
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: vmactions/freebsd-vm@v1
with:
# Use FreeBSD 15.x
release: "15"
# We don't want to copy the modified source tree back to the host
# file system as this would just be a waste of time.
copyback: false
envs: HOST_TARGET
prepare: ./ci/vm-prepare.sh
run: |
# Source the cargo environment.
. "$HOME/.cargo/env"
./ci/ci.sh

style:
name: style checks
runs-on: ubuntu-latest
Expand Down Expand Up @@ -194,7 +215,7 @@ jobs:
# ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
# And they should be added below in `cron-fail-notify` as well.
conclusion:
needs: [test, style, bootstrap, coverage, priroda]
needs: [test, test-vm-freebsd, style, bootstrap, coverage, priroda]
# We need to ensure this job does *not* get skipped if its dependencies fail,
# because a skipped job is considered a success by GitHub. So we have to
# overwrite `if:`. We use `!cancelled()` to ensure the job does still not get run
Expand Down Expand Up @@ -278,7 +299,7 @@ jobs:
cron-fail-notify:
name: cronjob failure notification
runs-on: ubuntu-latest
needs: [test, style, bootstrap, coverage, priroda]
needs: [test, test-vm-freebsd, style, bootstrap, coverage, priroda]
if: ${{ github.event_name == 'schedule' && failure() }}
steps:
# Send a Zulip notification
Expand Down
Loading
Loading