about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-07-02bootstrap: add build.tidy-extra-checks optionbinarycat-2/+8
2025-07-02miri: improve errors for type validity assertion failuresRalf Jung-62/+27
2025-07-03fix: Honor `rust-analyzer.cargo.noDeps` option when fetching sysroot metadataShoyu Vanilla-4/+15
2025-07-02Fix AsMut::as_mut nameA4-Tacks-1/+1
2025-07-02bootstrap: `validate rust.codegen-backends` & `targer.<triple>.codegen-backends`Pavel Grigorenko-36/+29
2025-07-02use more clever approach for genmc conditional importRalf Jung-12/+3
2025-07-02interpret: move the native call preparation logic into MiriRalf Jung-18/+38
2025-07-02Use non-global interner in `test_string_interning` in bootstrapJakub Beránek-4/+7
2025-07-02Apply review commentsJakub Beránek-2/+3
2025-07-02skip env var memory for leak checkRalf Jung-50/+9
2025-07-02Add `track_caller` attributes to trace origin of Clippy lintsSamuel Tardieu-0/+58
This allows the use of `-Z track-diagnostics` to see the origin of Clippy lints emission, as is already the case for lints coming from rustc.
2025-07-02Rename mingw-check-tidy to tidyChris Denton-8/+8
2025-07-02Add cross-compilation check testsJakub Beránek-0/+47
2025-07-02Add bootstrap tool check testJakub Beránek-0/+14
2025-07-02Add Rust Analyzer check testsJakub Beránek-0/+18
2025-07-02Add codegen check testsJakub Beránek-0/+25
2025-07-02Add compiletest check testsJakub Beránek-4/+30
2025-07-02Add snapshot tests for checking compiler, library and rustc toolsJakub Beránek-1/+182
2025-07-02Automatically derive stage in step metadata where possibleJakub Beránek-62/+60
2025-07-02Merge pull request #4406 from Stypox/tracingRalf Jung-102/+828
Add tracing_chrome under "tracing" feature
2025-07-02rename show_error -> fatal_errorRalf Jung-34/+34
2025-07-02Add tracing feature to enable tracing_chrome supportStypox-73/+799
2025-07-02Merge from rustcThe Miri Cronjob Bot-662/+542
2025-07-02Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-07-02Rename {`HeadersCache`, `iter_header`} -> {`DirectivesCache`, ↵Jieyou Xu-14/+14
`iter_directives`} for self-consistency
2025-07-02Update compiletest to use "directive" terminology consistentlyJieyou Xu-24/+23
2025-07-02Rename `header` -> `directives`Jieyou Xu-12/+12
compiletest has confusingly two terminology to refer to the same concept -- "headers" and "directives". To make this more self-consistent and less confusing, stick with "directives" only. This commit **intentionally** tries to be limited to move-only (modulo some key usage reference renames) to help git history.
2025-07-02Auto merge of #142974 - cuviper:stage0-bump, r=Mark-Simulacrumbors-486/+482
Update stage0 to 1.89.0-beta.1 - Update version placeholders - Update stage0 to 1.89.0-beta.1 - Update `STAGE0_MISSING_TARGETS` - Update `cfg(bootstrap)` r? `@Mark-Simulacrum` try-job: dist-i586-gnu-i586-i686-musl
2025-07-01Auto merge of #143036 - compiler-errors:no-dyn-star, r=oli-obkbors-128/+0
Remove support for `dyn*` from the compiler This PR removes support for `dyn*` (https://github.com/rust-lang/rust/issues/102425), which are a currently un-RFC'd experiment that was opened a few years ago to explore a component that we thought was necessary for AFIDT (async fn in dyn trait). It doesn't seem like we are going to need `dyn*` types -- even in an not-exposed-to-the-user way[^1] -- for us to implement AFIDT. Given that AFIDT was the original motivating purpose of `dyn*` types, I don't really see a compelling reason to have to maintain their implementation in the compiler. [^1]: Compared to, e.g., generators whih are an unstable building block we use to implement stable syntax like `async {}`. We've learned quite a lot from `dyn*`, but I think at this point its current behavior leads to more questions than answers. For example, `dyn*` support today remains somewhat fragile; it ICEs in many cases where the current "normal" `dyn Trait` types rely on their unsizedness for their vtable-based implementation to be sound I wouldn't be surprised if it's unsound in other ways, though I didn't play around with it too much. See the examples below. ```rust #![feature(dyn_star)] trait Foo { fn hello(self); } impl Foo for usize { fn hello(self) { println!("hello, world"); } } fn main() { let x: dyn* Foo = 1usize; x.hello(); } ``` And: ```rust #![feature(dyn_star)] trait Trait { type Out where Self: Sized; } fn main() { let x: <dyn* Trait as Trait>::Out; } ``` ...and probably many more problems having to do with the intersection of dyn-compatibility and `Self: Sized` bounds that I was too lazy to look into like: * GATs * Methods with invalid signatures * Associated consts Generally, `dyn*` types also end up getting in the way of working with [normal `dyn` types](https://github.com/rust-lang/rust/issues/102425#issuecomment-1712604409) to an extent that IMO outweighs the benefit of experimentation. I recognize that there are probably other, more creative usages of `dyn*` that are orthogonal to AFIDT. However, I think any work along those lines should first have to think through some of the more fundamental interactions between `dyn*` and dyn-compatibility before we think about reimplementing them in the type system. --- I'm planning on removing the `DynKind` enum and the `PointerLike` built-in trait from the compiler after this PR lands. Closes rust-lang/rust#102425. cc `@eholk` `@rust-lang/lang` `@rust-lang/types` Closes rust-lang/rust#116979. Closes rust-lang/rust#119694. Closes rust-lang/rust#134591. Closes rust-lang/rust#104800.
2025-07-01fix: remove unneeded(?) install scriptJayden Qi-3/+0
2025-07-01fix: error messageJayden Qi-3/+8
2025-07-01Rename mingw-* CI jobs to pr-*Chris Denton-79/+78
2025-07-01Remove support for dyn*Michael Goulet-128/+0
2025-07-01Update `cfg(bootstrap)`Josh Stone-24/+2
2025-07-01Update `STAGE0_MISSING_TARGETS`Josh Stone-2/+0
2025-07-01Update stage0 to 1.89.0-beta.1Josh Stone-460/+480
2025-07-02Migrate `wrap_unwrap_cfg_attr` assist to use `SyntaxEditor`Hayashi Mikihiro-42/+85
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01Fix `x clean` with a fifoEric Huss-1/+1
`x clean` was failing when it encountered a special file like a fifo because it thought it was a directory.
2025-07-01Rollup merge of #143279 - GuillaumeGomez:rm-itemkind-descr, r=oli-obkGuillaume Gomez-6/+12
Remove `ItemKind::descr` method Follow-up of rust-lang/rust#143234. After this PR is merged, it will remain two `descr` methods: * `hir::GenericArg::descr` * `hir::AssocItemConstraintKind::descr` For both these enums, I don't think there is the right equivalent in `hir::DefKind` so unless I missed something, we can't remove these two methods because we can't convert these enums into `hir::DefKind`. r? `@oli-obk`
2025-07-01Rollup merge of #143269 - tshepang:patch-1, r=KobzolGuillaume Gomez-2/+2
bootstrap: make comment more clear Reading that at first made me think the code block ensures that the said artefacts are created
2025-07-01Rollup merge of #143255 - Kobzol:disable-lld-by-default, r=jieyouxuGuillaume Gomez-5/+8
Do not enable LLD by default in the dist profile History of us building & shipping LLD for `dist` builds: 1) We used to unconditionally build & ship LLD in bootstrap 2) This was causing problems for people doing custom `dist` builds (https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/MSVC.20Runtime.20mismatch.20when.20building.20LLD) 3) https://github.com/rust-lang/rust/pull/126701 made shipping of LLD optional, but to preserve previous behavior, it forcefully enabled `rust.lld = true` in the `dist` profile by default, and overwrote the default to `false` on our CI for external LLVM builds. - This also didn't match the documentation of `rust.lld` in `bootstrap.example.toml`, which I previously missed. 4) However, since the external LLVM opt-out was only implemented for our CI, and not for all `dist` users, this started causing issues for people `dist`ing with external LLVM (https://github.com/rust-lang/rust/issues/143076). The problem is that the default shouldn't be "true", but "LLD is enabled when LLVM isn't external", but this is not possible to do only in TOML. So this PR reverses the behavior. LLD is not enabled by default in `dist` anymore. We switch our CI to *opt into* disting LLD, unless an external LLVM is used. External `dist` users can still opt into enabling LLD, but if they do so while also using external LLVM, they will now get a [hard error](https://github.com/rust-lang/rust/pull/143175). r? `@jieyouxu` try-job: `x86_64-mingw*` try-job: dist-x86_64-linux
2025-07-01Rollup merge of #143230 - jieyouxu:compiletest-maintenance-2, r=KobzolGuillaume Gomez-38/+84
[COMPILETEST-UNTANGLE 2/N] Make some compiletest errors/warnings/help more visually obvious This PR makes some compiletest errors/warnings/help more visually obvious. Note that this is only intended to help visually -- the error handling in compiletest is still a mess. ![Screenshot 2025-06-30 170010](https://github.com/user-attachments/assets/a56b7857-1926-48f8-a309-9e7fcf84df7f) r? ghost
2025-07-01Update clippy source code to make use of `TyCtxt::def_descr` instead of ↵Guillaume Gomez-6/+12
`ItemKind::descr`
2025-07-01Improve CSS for source code block line numbersGuillaume Gomez-68/+30
2025-07-01Migrate `toggle_macro_delimiter` assist to `SyntaxEditor`Hayashi Mikihiro-12/+14
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01document optional jobsMarcoIeni-0/+7
2025-07-01Merge pull request #4411 from LorrensP-2158466/remove-leaky-syncobjRalf Jung-184/+148
Remove leaky synchronisation objects.
2025-07-01Remove leaky synchronisation objects.LorrensP-2158466-184/+148
2025-07-01Auto merge of #143013 - bjorn3:split_exported_symbols, r=oli-obkbors-4/+4
Split exported_symbols for generic and non-generic symbols This reduces metadata decoder overhead during the monomorphization collector.
2025-07-01Give some UI tests more apropriate namesTrevor Gross-4/+0
Prepare for rework done by the rest of RUST-142440. Co-authored-by: Kivooeo <Kivooeo123@gmail.com>