about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-02-02fix use of deprecated rand APIRalf Jung-1/+1
2025-02-02Merge from rustcRalf Jung-37/+113
2025-02-02Preparing for merge from rustcRalf Jung-1/+1
2025-02-02Target modifiers (special marked options) are recorded in metainfo and ↵Andrew Zhogin-4/+5
compared to be equal in different crates
2025-02-02miri_get_backtrace: stop supporting the v0 protocolRalf Jung-51/+14
2025-02-02compiletest: remove useless path join in `rustdoc_json` runtest logic许杰友 Jieyou Xu (Joe)-2/+1
2025-02-02miri: improve error when offset_from preconditions are violatedRalf Jung-3/+45
2025-02-02compiletest: cleanup `is_rustdoc` logic许杰友 Jieyou Xu (Joe)-3/+1
2025-02-02Auto merge of #136433 - matthiaskrgr:rollup-co27itw, r=matthiaskrgrbors-15/+6
Rollup of 7 pull requests Successful merges: - #133266 (ci: fix explanation why LLVM download is disabled for windows-gnu) - #136133 (Fix sentence in process::abort) - #136279 (Rename `tcx.ensure()` to `tcx.ensure_ok()`, and improve the associated docs) - #136328 (Rework "long type names" printing logic) - #136358 (`#[optimize(none)]` implies `#[inline(never)]`) - #136368 (Make comma separated lists of anything easier to make for errors) - #136412 (Tweak fn pointer suggestion span) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-02rustc_allowed_through_unstable_modules: require deprecation messageRalf Jung-10/+2
2025-02-02Rollup merge of #136279 - Zalathar:ensure-ok, r=oli-obkMatthias Krüger-3/+3
Rename `tcx.ensure()` to `tcx.ensure_ok()`, and improve the associated docs This is all based on my archaeology for https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/.60TyCtxtEnsure.60. The main renamings are: - `tcx.ensure()` → `tcx.ensure_ok()` - `tcx.ensure_with_value()` → `tcx.ensure_done()` - Query modifier `ensure_forwards_result_if_red` → `return_result_from_ensure_ok` Hopefully these new names are a better fit for the *actual* function and purpose of these query call modes.
2025-02-02Rollup merge of #133266 - mati865:windows-gnu-llvm-download, r=KobzolMatthias Krüger-12/+3
ci: fix explanation why LLVM download is disabled for windows-gnu Continuation of https://github.com/rust-lang/rust/pull/132781
2025-02-02Auto merge of #136238 - marcoieni:free-disk-refactor, r=Kobzolbors-30/+64
ci: refactor how directories are removed in free-disk-space disk try-job: aarch64-gnu
2025-02-02More rustfmt hang investigationsLukas Wirth-14/+18
2025-02-02Merge pull request #2236 from rust-lang/rustc-pullYuki Okushi-3183/+10530
2025-02-02Apply suggestions from code reviewYuki Okushi-2/+2
2025-02-02Merge pull request #2233 from chiichen/nix-shell-devnora-26/+19
Use a more convinient way of developing rustc on NixOS
2025-02-02Merge pull request #2235 from Kobzol/docker-tests-rewriteOnur Özkan-33/+32
Rewrite section on executing Docker tests
2025-02-02Merge from rustcThe rustc-dev-guide Cronjob Bot-3182/+10529
2025-02-02Preparing for merge from rustcThe rustc-dev-guide Cronjob Bot-1/+1
2025-02-02Convert two `rustc_middle::lint` functions to `Span` methods.Nicholas Nethercote-224/+131
`rustc_middle` is a huge crate and it's always good to move stuff out of it. There are lots of similar methods already on `Span`, so these two functions, `in_external_macro` and `is_from_async_await`, fit right in. The diff is big because `in_external_macro` is used a lot by clippy lints.
2025-02-01Omit argument names from function pointers that do not have argument namesDavid Tolnay-6/+20
2025-02-01rustdoc-book: Clean up section on `--output-format`Alona Enraght-Moony-5/+11
2025-02-01Update cargoWeihang Lo-0/+0
2025-02-01rustdoc-json-types: Document that crate name isn't package name.Alona Enraght-Moony-0/+7
2025-02-01Reword submodule handlingJakub Beránek-1/+1
2025-02-01Rollup merge of #130514 - compiler-errors:unsafe-binders, r=oli-obkMatthias Krüger-1/+3
Implement MIR lowering for unsafe binders This is the final bit of the unsafe binders puzzle. It implements MIR, CTFE, and codegen for unsafe binders, and enforces that (for now) they are `Copy`. Later on, I'll introduce a new trait that relaxes this requirement to being "is `Copy` or `ManuallyDrop<T>`" which more closely models how we treat union fields. Namely, wrapping unsafe binders is now `Rvalue::WrapUnsafeBinder`, which acts much like an `Rvalue::Aggregate`. Unwrapping unsafe binders are implemented as a MIR projection `ProjectionElem::UnwrapUnsafeBinder`, which acts much like `ProjectionElem::Field`. Tracking: - https://github.com/rust-lang/rust/issues/130516
2025-02-01Test getrandom 0.3Eduardo Sánchez Muñoz-1/+35
2025-02-01Bump rand to 0.9 and getrandom to 0.3Eduardo Sánchez Muñoz-35/+99
2025-02-01Checkout repository sources in rustc-pull CI actionJakub Beránek-0/+1
This is needed for the `gh` command to work.
2025-02-01Auto merge of #136136 - marcoieni:ubuntu-24, r=Kobzolbors-2/+2
ci: use ubuntu 24 on free runners try-job: aarch64-gnu try-job: aarch64-gnu-debug
2025-02-01tests: port `split-debuginfo` to rmake.rs许杰友 Jieyou Xu (Joe)-1/+0
Co-authored-by: Oneirical <manchot@videotron.ca>
2025-02-01run-make-support: add some stable `rustc` flag helpers许杰友 Jieyou Xu (Joe)-0/+12
2025-02-01run-make-support: add `shallow_find_directories` helper许杰友 Jieyou Xu (Joe)-5/+22
2025-01-31PR feedbackScott McMurray-0/+20
2025-02-01Stop running some release workflows on forks and update old URLsLaurențiu Nicola-12/+17
2025-02-01fmtThe Miri Cronjob Bot-72/+93
2025-02-01Merge from rustcThe Miri Cronjob Bot-135/+458
2025-02-01Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-02-01Auto merge of #136371 - matthiaskrgr:rollup-0b880v3, r=matthiaskrgrbors-4/+44
Rollup of 7 pull requests Successful merges: - #135840 (omit unused args warnings for intrinsics without body) - #135900 (Manually walk into WF obligations in `BestObligation` proof tree visitor) - #136163 (Fix off-by-one error causing slice::sort to abort the program) - #136266 (fix broken release notes id) - #136314 (Use proper type when applying deref adjustment in const) - #136348 (miri: make float min/max non-deterministic) - #136351 (Add documentation for derive(CoercePointee)) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-01Rename `tcx.ensure()` to `tcx.ensure_ok()`Zalathar-3/+3
2025-02-01Auto merge of #135768 - jieyouxu:migrate-symbol-mangling-hashed, r=Noratriebbors-13/+50
tests: Port `symbol-mangling-hashed` to rmake.rs Part of #121876. This PR supersedes #128567 and is co-authored with `@lolbinarycat.` ### Summary This PR ports `tests/run-make/symbol-mangling-hashed` to rmake.rs. Notable differences when compared to the Makefile version includes: - It's no longer limited to linux + x86_64 only. In particular, this now is exercised on darwin and windows (esp. msvc) too. - The test uses `object` crate to be more precise in the filtering, and avoids relying on parsing the human-readable `nm` output for *some* `nm` in the given environment (which isn't really a thing on msvc anyway, and `llvm-nm` doesn't handle msvc dylibs AFAICT). - Dump the symbols satisfying various criteria on test failure to make it hopefully less of a pain to debug if it ever fails in CI. ### Review advice - Best reviewed commit-by-commit. - I'm not *super* sure about the msvc logic, would benefit from a MSVC (PE/COFF) expert taking a look. --- try-job: x86_64-msvc-1 try-job: i686-msvc-1 try-job: i686-mingw try-job: x86_64-mingw-1 try-job: x86_64-apple-1 try-job: aarch64-apple try-job: test-various
2025-02-01Rollup merge of #136348 - RalfJung:miri-float-min-max, r=oli-obkMatthias Krüger-4/+44
miri: make float min/max non-deterministic This makes Miri match the documentation that landed in https://github.com/rust-lang/rust/pull/136296. r? ``@oli-obk``
2025-01-31Auto merge of #136350 - matthiaskrgr:rollup-6eqfyvh, r=matthiaskrgrbors-38/+304
Rollup of 9 pull requests Successful merges: - #134531 ([rustdoc] Add `--extract-doctests` command-line flag) - #135860 (Compiler: Finalize dyn compatibility renaming) - #135992 (Improve documentation when adding a new target) - #136194 (Support clobber_abi in BPF inline assembly) - #136325 (Delay a bug when indexing unsized slices) - #136326 (Replace our `LLVMRustDIBuilderRef` with LLVM-C's `LLVMDIBuilderRef`) - #136330 (Remove unnecessary hooks) - #136336 (Overhaul `rustc_middle::util`) - #136341 (Remove myself from vacation) r? `@ghost` `@rustbot` modify labels: rollup
2025-01-31Enforce unsafe binders must be Copy (for now)Michael Goulet-0/+1
2025-01-31Implement MIR, CTFE, and codegen for unsafe bindersMichael Goulet-1/+2
2025-01-31interpret: adjust vtable validity check for higher-ranked typesLukas Markeffsky-0/+75
2025-01-31Pass `GITHUB_TOKEN` to Zulip CI stepJakub Beránek-2/+4
2025-01-31Auto merge of #134424 - 1c3t3a:null-checks, r=saethlinbors-1/+5
Insert null checks for pointer dereferences when debug assertions are enabled Similar to how the alignment is already checked, this adds a check for null pointer dereferences in debug mode. It is implemented similarly to the alignment check as a `MirPass`. This inserts checks in the same places as the `CheckAlignment` pass and additionally also inserts checks for `Borrows`, so code like ```rust let ptr: *const u32 = std::ptr::null(); let val: &u32 = unsafe { &*ptr }; ``` will have a check inserted on dereference. This is done because null references are UB. The alignment check doesn't cover these places, because in `&(*ptr).field`, the exact requirement is that the final reference must be aligned. This is something to consider further enhancements of the alignment check. For now this is implemented as a separate `MirPass`, to make it easy to disable this check if necessary. This is related to a 2025H1 project goal for better UB checks in debug mode: https://github.com/rust-lang/rust-project-goals/pull/177. r? `@saethlin`
2025-01-31clarify apply_random_float_error logicRalf Jung-4/+12