about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-01-22make bootstrap self test to use bootstrap cargoonur-ozkan-15/+26
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-22fix outdated file path ref in llvmonur-ozkan-1/+1
This was added years ago and is outdated today. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-22ci: use 8 core arm runner for dist-aarch64-linuxMarcoIeni-1/+3
2025-01-22Run the glibc run-make test in opt-distJakub Beránek-1/+2
2025-01-22Apply LTO config to rustdocJakub Beránek-9/+29
Before, the LTO configuration from `config.toml` was not applied to `rustdoc`.
2025-01-22Use `structurally_normalize` instead of manual `normalizes-to` goalsBoxy-1/+1
2025-01-22rustdoc: extract duplicated code into methodYotam Ofek-72/+45
2025-01-22rustdoc: use std's (unstable) `fmt::from_fn` instead of open-coding itYotam Ofek-91/+73
2025-01-22rustdoc: pass around decoration info by refYotam Ofek-9/+9
2025-01-22tests: port `jobserver-error.rs` to rmake.rs许杰友 Jieyou Xu (Joe)-1/+0
Co-authored-by: Noa <coolreader18@gmail.com> Co-authored-by: Oneirical <manchot@videotron.ca>
2025-01-22run-make-support: add `set_aux_fd` helper许杰友 Jieyou Xu (Joe)-0/+66
Co-authored-by: Noa <coolreader18@gmail.com> Co-authored-by: Oneirical <manchot@videotron.ca>
2025-01-22rustdoc: Finalize dyn compatibility renamingLeón Orell Valerian Liehr-2/+1
2025-01-22Auto merge of #135848 - matthiaskrgr:rollup-sftciqm, r=matthiaskrgrbors-11/+11
Rollup of 8 pull requests Successful merges: - #132232 (CI: build FreeBSD artifacts on FreeBSD 13.4) - #135706 (Move `supertrait_def_ids` into the elaborate module like all other fns) - #135750 (Add an example of using `carrying_mul_add` to write wider multiplication) - #135793 (Ignore `mermaid.min.js`) - #135810 (Add Kobzol on vacation) - #135821 (fix OsString::from_encoded_bytes_unchecked description) - #135824 (tests: delete `cat-and-grep-sanity-check`) - #135833 (Add fixme and test for issue #135289) Failed merges: - #135816 (Use `structurally_normalize` instead of manual `normalizes-to` goals in alias relate errors) r? `@ghost` `@rustbot` modify labels: rollup
2025-01-22Point at invalid utf-8 span on user's source codeEsteban Küber-1/+3
``` error: couldn't read `$DIR/not-utf8-bin-file.rs`: stream did not contain valid UTF-8 --> $DIR/not-utf8-2.rs:6:5 | LL | include!("not-utf8-bin-file.rs"); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: `[193]` is not valid utf-8 --> $DIR/not-utf8-bin-file.rs:2:14 | LL | let _ = "�|�␂!5�cc␕␂��"; | ^ = note: this error originates in the macro `include` (in Nightly builds, run with -Z macro-backtrace for more info) ``` When we attempt to load a Rust source code file, if there is a OS file failure we try reading the file as bytes. If that succeeds we try to turn it into UTF-8. If *that* fails, we provide additional context about *where* the file has the first invalid UTF-8 character. Fix #76869.
2025-01-21Update the `wasm-component-ld` toolAlex Crichton-1/+1
This commit updates the `wasm-component-ld` tool from 0.5.11 to 0.5.12. This pulls in a fix for the binary adapters that are included with this tool for an issue described in bytecodealliance/wasmtime#10058. Some other dependencies have additionally been updated in the meantime of `wasm-component-ld` but there should otherwise be no major changes.
2025-01-21TRPL: integrate edits to Chapter 17Chris Krycho-0/+0
2025-01-21Rollup merge of #135824 - jieyouxu:delete-bintools-check, r=NoratriebMatthias Krüger-1/+0
tests: delete `cat-and-grep-sanity-check` Part of #121876. All remaining `Makefile`s have open PRs that do not rely on platform `cat` or `grep` or the `cat-and-grep` script.
2025-01-21Rollup merge of #135706 - compiler-errors:elaborate, r=lcnrMatthias Krüger-1/+2
Move `supertrait_def_ids` into the elaborate module like all other fns It's strange that this is the only elaborate-like fn on tcx. r? lcnr
2025-01-21Rollup merge of #132232 - asomers:fbsd-13.4, r=Mark-SimulacrumMatthias Krüger-9/+9
CI: build FreeBSD artifacts on FreeBSD 13.4 13.2 is EoL, and 13.3 will be EoL too in about 2 months. Plus, both suffer from a bug in LLVM's libunwind. It causes a segfault inside of std::backtrace::Backtrace::capture(). Fixes #132185 cc ``````@ehuss`````` . before you can do the trybuild, you'll also have to download new FreeBSD 13.4 base.txz images and place them in https://ci-mirrors.rust-lang.org/rustc , then update this PR with the correct file names. try-job: dist-x86_64-freebsd try-job: dist-various-2
2025-01-21Auto merge of #135487 - klensy:windows-0.59, r=Mark-Simulacrumbors-26/+7
bump compiler and tools to windows 0.59, bootstrap to 0.57 This bumps compiler and tools to windows 0.59 (temporary dupes version, as `sysinfo` still depend on <= 0.57). Bootstrap bumps only to 0.57 (the same sysinfo dep). This additionally resolves my comment https://github.com/rust-lang/rust/pull/130874#issuecomment-2393562071 Will work on it in follow up pr: There still some sus imports for `rustc_driver.dll` like ws2_32 or RoOriginateErrorW, but i will look at them later.
2025-01-21TRPL: more backward-compatible Edition changesChris Krycho-0/+0
- Improve the discussion of `unsafe` blocks within `unsafe` functions. - Fix formatting in Appendix A
2025-01-21manual: Document all rust-project.json fieldsWilfred Hughes-8/+84
Ensure that all the fields that rust-analyzer understands are in the manual, they all have doc comments, and they use consistent punctuation (`;` rather than mixing `,` and `;`). Whilst we're here, fix the `sysroot_src` example and add 2024 as a legal value for Rust edition.
2025-01-21Auto merge of #134299 - RalfJung:remove-start, r=compiler-errorsbors-331/+97
remove support for the (unstable) #[start] attribute As explained by `@Noratrieb:` `#[start]` should be deleted. It's nothing but an accidentally leaked implementation detail that's a not very useful mix between "portable" entrypoint logic and bad abstraction. I think the way the stable user-facing entrypoint should work (and works today on stable) is pretty simple: - `std`-using cross-platform programs should use `fn main()`. the compiler, together with `std`, will then ensure that code ends up at `main` (by having a platform-specific entrypoint that gets directed through `lang_start` in `std` to `main` - but that's just an implementation detail) - `no_std` platform-specific programs should use `#![no_main]` and define their own platform-specific entrypoint symbol with `#[no_mangle]`, like `main`, `_start`, `WinMain` or `my_embedded_platform_wants_to_start_here`. most of them only support a single platform anyways, and need cfg for the different platform's ways of passing arguments or other things *anyways* `#[start]` is in a super weird position of being neither of those two. It tries to pretend that it's cross-platform, but its signature is a total lie. Those arguments are just stubbed out to zero on ~~Windows~~ wasm, for example. It also only handles the platform-specific entrypoints for a few platforms that are supported by `std`, like Windows or Unix-likes. `my_embedded_platform_wants_to_start_here` can't use it, and neither could a libc-less Linux program. So we have an attribute that only works in some cases anyways, that has a signature that's a total lie (and a signature that, as I might want to add, has changed recently, and that I definitely would not be comfortable giving *any* stability guarantees on), and where there's a pretty easy way to get things working without it in the first place. Note that this feature has **not** been RFCed in the first place. *This comment was posted [in May](https://github.com/rust-lang/rust/issues/29633#issuecomment-2088596042) and so far nobody spoke up in that issue with a usecase that would require keeping the attribute.* Closes https://github.com/rust-lang/rust/issues/29633 try-job: x86_64-gnu-nopt try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: test-various
2025-01-21internal: Treat cfg fetching failures as a warningWilfred Hughes-1/+1
If the user doesn't have rustc on $PATH, rust-analyzer won't be able to run `rustc --print cfg`. This isn't really an error, as rust-analyzer can still proceed without it. This is particularly noticeable when loading crates defined in a rust-project.json. Until the configuration is loaded, the opened files are briefly treated as detached files and users see this error. Environments with rust-project.json generally have a sysroot and rustc elsewhere, so the error confuses users.
2025-01-21Move supertrait_def_ids into the elaborate module like all other fnsMichael Goulet-1/+2
2025-01-21Provide a config to control auto-insertion of `await` and `iter()`Chayim Refael Friedman-56/+111
2025-01-21Add `@bors rollup=never` to rustc-push PR bodyJakub Beránek-1/+1
2025-01-21CI: free disk with in-tree script instead of GitHub ActionMarcoIeni-0/+142
Co-authored-by: whiteio <chriswhiteiodev@gmail.com>
2025-01-21Keep already computed inlay hint properties instead of late resolving themLukas Wirth-92/+99
2025-01-21Make `InlayHint::linked_location` computation lazyLukas Wirth-204/+285
2025-01-21remove support for the #[start] attributeRalf Jung-331/+97
2025-01-21tidyklensy-0/+1
2025-01-21bump bootsrap windows to 0.57klensy-23/+4
2025-01-21bumpt compiler and tools to windows 0.59klensy-3/+2
2025-01-21remove is_pwr2Luuk Wester-17/+3
2025-01-21switch from using leading zeros to trailing zerosLuuk Wester-1/+4
2025-01-21tests: delete `cat-and-grep-sanity-check`许杰友 Jieyou Xu (Joe)-1/+0
All remaining `Makefile`s have open PRs that do not rely on platform `cat` or `grep`.
2025-01-21ci: use ghcr buildkit imageMarcoIeni-2/+7
2025-01-21Make it possible to build GCC on CIJakub Beránek-4/+57
This is the first step to enable download of precompiled GCC
2025-01-21Fix Param::as_local treating closures wrongLukas Wirth-53/+67
2025-01-21Sort completion items that skip `await` and `iter()` behind those that don'tChayim Refael Friedman-0/+26
I don't think my ranking is perfect, because it places them even behind snippet completions, but this is something.
2025-01-21make large niche description more terse, switch to using u128::is_power_of_twoLuuk Wester-5/+5
2025-01-21Merge pull request #18986 from Veykril/push-zlwvwlowpzqmLukas Wirth-0/+49
Goto `Display::fmt` when invoked on `to_string`
2025-01-21change lookup from `OsString.inner.inner.0` -> `OsString.inner.inner.bytes`Walnut-1/+1
2025-01-21Enable verbose tests in opt-dist testsJakub Beránek-0/+1
2025-01-21Add test for checking used glibc symbolsJakub Beránek-2/+16
2025-01-21Cleanup `Name` string renderingLukas Wirth-249/+145
2025-01-21Merge pull request #18977 from ChayimFriedman2/fix-upmappingLukas Wirth-13/+68
fix: Fix missing upmapping in trait impls completion
2025-01-21Auto merge of #135632 - marcoieni:split-x86_64-msvc-2025, r=Kobzolbors-11/+17
CI: split x86_64-msvc job using windows 2025 try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: dist-x86_64-msvc
2025-01-20Auto merge of #134286 - Urgau:unreach_pub-std, r=ibraheemdevbors-5/+5
Enable `unreachable_pub` lint in core This PR enables the [`unreachable_pub`](https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html#unreachable-pub) as warn in `core`, `rtstartup` and `panic_unwind`. The motivation is similar to the compiler [MCP: Enable deny(unreachable_pub) on `rustc_*` crates](https://github.com/rust-lang/compiler-team/issues/773#issue-2467219005) : > "Where is this thing used?" is a question I ask all the time when reading unfamiliar code. Because of this, I generally find it annoying when things are marked with a more permissive visibility than necessary. "This thing marked pub, which other crates is it used in? Oh, it's not used in any other crates." Another motivation is to help to lint by utilizing it in-tree and seeing it's limitation in more complex scenarios. The diff was mostly generated with `./x.py fix --stage 1 library/core/ -- --broken-code`, as well as manual edits for code in macros, generated code and other targets. r? libs