about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2024-05-02Fix impl trait params not being counted properlyLukas Wirth-4/+33
2024-05-02Auto merge of #17175 - Veykril:fix-implicit-ty-args, r=Veykrilbors-120/+116
fix: Fix implicit ty args being lowered where they shouldn't Fixes https://github.com/rust-lang/rust-analyzer/issues/17173
2024-05-02fix: Fix implicit ty args being lowered where they shouldn'tLukas Wirth-120/+116
2024-05-02Auto merge of #3532 - RalfJung:tb-protectors, r=RalfJungbors-2/+2
Tree Borrows: first apply transition, then check protector with new 'initialized'
2024-05-02Tree Borrows: first apply transition, then check protector with new ↵Ralf Jung-2/+2
'initialized'
2024-05-02fix: Correctly handle `no_core`/`no_std` for preludesLukas Wirth-71/+120
2024-05-01Step bootstrap cfgsMark Rousskov-7/+4
2024-05-02run-make-support: preserve tooks.mk behavior for EXTRACXXFLAGS许杰友 Jieyou Xu (Joe)-2/+3
2024-05-01Bump stage0 to next betaMark Rousskov-420/+428
2024-05-01Auto merge of #124404 - jonathanpallant:arm-target-changes-new, r=chrisncbors-99/+577
Arm bare-metal target doc changes Updates the Arm bare-metal target docs: * Detailed pages for all the Cortex-M targets, including details about setting target-cpu and target-features to suit specific Arm models * More detail about the difference between `eabi` and `eabihf` * Marks the Embedded Devices Working Group Cortex-M Team as the maintainer of the Cortex-M targets
2024-05-01Auto merge of #121564 - ojeda:rustc-jobserver, r=ehussbors-1/+90
rustc: document the jobserver Explicitly document that the jobserver may be used by `rustc`, as well as recommend the `+` indicator for integration of `rustc` into GNU Make. In particular, show the warning to increase the chances that this document is found when searching for solutions online. In addition, add a note about the issue with GNU Make 4.3 since it is important that users realize they should do this even if they do not expect parallelism from `rustc`. Finally, show how to workaround the issue of `$(shell ...)` calls in recursive Make (which e.g. was needed for the Linux kernel). The GNU Make 4.4 case under `--jobserver-style=pipe` is not added since it got fixed after Rust 1.76.0 already (i.e. `rustc` will not warn if it finds the negative file descriptors). From: https://github.com/rust-lang/rust/issues/120515 Cc: `@petrochenkov` `@belovdv` `@weihanglo` `@bjorn3` --- v2: To be able to use tab characters for the Make examples, add `<!-- ignore-tidy-{check} -->` support to `tidy`. v3: Added "Integration with build systems" section to hold the GNU Make one. Added "by clearing the `MAKEFLAGS` variable". Added "aforementioned" so that it is clear we are talking about the warning above. v4: Added CMake subsection. Added a note that `rustc` may be affected by other flags, e.g. `CARGO_MAKEFLAGS`. v5: Added that `rustc` will choose the number of jobs if a jobserver is not passed.
2024-05-01no longer strip `Preparing a sysroot` message from test outputPaul Gey-5/+1
2024-05-01fix usage example for `--print-sysroot`Paul Gey-1/+1
2024-05-01Don’t print `Preparing a sysroot` when `-q`/`--quiet` is passedPaul Gey-3/+8
2024-05-01Auto merge of #122427 - psumbera:bootstrap_out_path, r=clubby789bors-1/+6
Normalize bootstrap_out path Fixes #112785
2024-05-01Stabilize `custom_code_classes_in_docs` featureGuillaume Gomez-295/+62
2024-05-01Update rust-analyzer to use windows-sys crateKenny Kerr-10/+9
2024-05-01Auto merge of #124572 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 15 commits in b60a1555155111e962018007a6d0ef85207db463..6087566b3fa73bfda29702632493e938b12d19e5 2024-04-26 16:37:29 +0000 to 2024-04-30 20:45:20 +0000 - fix(cargo-fix): dont fix into standard library (rust-lang/cargo#13792) - refactor: Move diagnostic printing to Shell (rust-lang/cargo#13813) - Populate git information when building Cargo from Rust's source tarball (rust-lang/cargo#13832) - docs: fix several typos found by `typos-cli` (rust-lang/cargo#13831) - fix(alias): Aliases without subcommands should not panic (rust-lang/cargo#13819) - fix(toml): Improve granularity of traces (rust-lang/cargo#13830) - fix(toml): Warn, rather than fail publish, if a target is excluded (rust-lang/cargo#13713) - test(cargo-lints): Add a test to ensure cap-lints works (rust-lang/cargo#13829) - fix(toml)!: Remove support for inheriting badges (rust-lang/cargo#13788) - chore(ci): Don't check `cargo` against beta channel (rust-lang/cargo#13827) - Fix target entry in .gitignore (rust-lang/cargo#13817) - Bump to 0.81.0; update changelog (rust-lang/cargo#13823) - Add failing test: artifact_dep_target_specified (rust-lang/cargo#13816) - fix(cargo-lints): Don't always inherit workspace lints (rust-lang/cargo#13812) - Update SleepTraker returns_in_order unit test (rust-lang/cargo#13811) r? ghost
2024-05-01add a reference link to the comment of the "cc" and "cmake".onur-ozkan-3/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-04-30Update cargoWeihang Lo-0/+0
2024-05-01Auto merge of #124491 - madsmtm:target_vendor-apple, r=workingjubileebors-2/+2
Use `target_vendor = "apple"` instead of `target_os = "..."` Use `target_vendor = "apple"` instead of `all(target_os = "macos", target_os = "ios", target_os = "tvos", target_os = "watchos", target_os = "visionos")`. The apple targets are quite close to being identical, with iOS, tvOS, watchOS and visionOS being even closer, so using `target_vendor` when possible makes it clearer when something is actually OS-specific, or just Apple-specific. Note that `target_vendor` will [be deprecated in the future](https://github.com/rust-lang/rust/issues/100343), but not before an alternative (like `target_family = "apple"`) is available. While doing this, I found various inconsistencies and small mistakes in the standard library, see the commits for details. Will follow-up with an extra PR for a similar issue that need a bit more discussion. EDIT: https://github.com/rust-lang/rust/pull/124494 Since you've talked about using `target_vendor = "apple"` in the past: r? workingjubilee CC `@simlay,` `@thomcc` `@rustbot` label O-macos O-ios O-tvos O-watchos O-visionos
2024-04-30Auto merge of #17148 - Wilfred:span_names, r=Veykrilbors-31/+31
fix: Tracing span names should match function names When viewing traces, it's slightly confusing when the span name doesn't match the function name. Ensure the names are consistent. (It might be worth moving most of these to use `#[tracing::instrument]` so the name can never go stale. `@davidbarsky` suggested that is marginally slower, so I've just done the simple change here.)
2024-04-30Rollup merge of #124561 - GuillaumeGomez:run-make-normalize, r=jieyouxu许杰友 Jieyou Xu (Joe)-3/+47
Add `normalize()` in run-make `Diff` type I need it to do the same as: ``` //@ normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" ``` in doctests. I need it in particular for the https://github.com/rust-lang/rust/pull/123974 PR (which contains this commit until this PR current PR is merged). cc `@Urgau` r? `@jieyouxu`
2024-04-30Rollup merge of #124553 - ferrocene:pa-cargo-git-info, r=onur-ozkan许杰友 Jieyou Xu (Joe)-5/+12
Write `git-commit-{sha,info}` for Cargo in source tarballs Right now Cargo doesn't populate the commit hash or date in its version output when it's built from the plain source tarball. That's because we don't include the git information for it, and Cargo's build script doesn't pick it up. This PR *partially* solves the problem by storing the git information for Cargo in `src/tools/cargo` in the plain source tarball. We store separate information because even when built in CI Cargo uses its own git information rather than Rust's. This PR will also require a change in the Cargo repository to consume this information (https://github.com/rust-lang/cargo/pull/13832), but it doesn't have to be blocked on the Cargo PR being merged.
2024-04-30Rollup merge of #124280 - beetrees:repr128-test-rmake, r=jieyouxu许杰友 Jieyou Xu (Joe)-1/+3
Port repr128-dwarf run-make test to rmake This PR ports the repr128-dwarf run-make test to rmake, using the `gimli` crate instead of the `llvm-dwarfdump` command. Note that this PR changes `rmake.rs` files to be compiled with the 2021 edition (previously no edition was passed to `rustc`, meaning they were compiled with the 2015 edition). This means that `panic!("{variable}")` will now work as expected in `rmake.rs` files (there's already a usage in the [wasm-symbols-not-exported test](https://github.com/rust-lang/rust/blob/aca749eefceaed0cda19a7ec5e472fce9387bc00/tests/run-make/wasm-symbols-not-exported/rmake.rs#L34) that this will fix). Tracking issue: #121876
2024-04-30fix: Tracing span names should match function namesWilfred Hughes-31/+31
When viewing traces, it's slightly confusing when the span name doesn't match the function name. Ensure the names are consistent. (It might be worth moving most of these to use #[tracing::instrument] so the name can never go stale. @davidbarsky suggested that is marginally slower, so I've just done the simple change here.)
2024-04-30docs: Fix typo in VS Code setting descriptionWilfred Hughes-3/+3
2024-04-30braces around {self} in UseTree are not unnecessaryHarry Sarson-2/+53
Before this commit `UseTree::remove_unnecessary_braces` removed the braces around `{self}` in `use x::y::{self};` but `use x::y::self;` is not valid rust.
2024-04-30Use Server 2022 in CI for mingw jobsDaniel Paoliello-8/+16
2024-04-30Port repr128-dwarf run-make test to rmakebeetrees-1/+3
2024-04-30Add `normalize()` in run-make `Diff` typeGuillaume Gomez-3/+47
2024-04-30Auto merge of #17160 - dfireBird:fix_impl_trait, r=Veykrilbors-17/+102
Implement creating generics for impl traits in associated types Hopefully fix #17017
2024-04-30Use `RefCell::take`Lukas Wirth-1/+1
2024-04-30Auto merge of #17138 - Kohei316:generate-function-assist-for-new, r=Veykrilbors-26/+270
feature: Make generate function assist generate a function as a constructor if the generated function has the name "new" and is an asscociated function. close #17050 This PR makes `generate function assist` generate a function as a constructor if the generated function has the name "new" and is an asscociated function. If the asscociate type is a record struct, it generates the constructor like this. ```rust impl Foo { fn new() -> Self { Self { field_1: todo!(), field_2: todo!() } } } ``` If the asscociate type is a tuple struct, it generates the constructor like this. ```rust impl Foo { fn new() -> Self { Self(todo!(), todo!()) } } ``` If the asscociate type is a unit struct, it generates the constructor like this. ```rust impl Foo { fn new() -> Self { Self } } ``` If the asscociate type is another adt, it generates the constructor like this. ```rust impl Foo { fn new() -> Self { todo!() } } ```
2024-04-30write git-commit-{sha,info} for Cargo in source tarballsPietro Albini-5/+12
This will allow Cargo's build script to pick it up, and populate the correct git information in its version output.
2024-04-30Fix coercion of async blockmorine0122-1/+42
2024-04-30arm target docs: clarify A32/T32/Arm ISA/Thumb ISA/Thumb-2 ISAJonathan Pallant-15/+36
2024-04-30Recapitalise ARMvX{-Y} to ArmvX{-Y}Jonathan Pallant-81/+81
Yes it looks weird, but this is how Arm write it now. I left ARM64 alone, because it's a Microsoft/Apple term but not an Arm term (they have Armv8-A and Armv9-A architectures, which say that A64 instructions are executed when in the Aarch64 state), and I don't want to get into that, especially for a Tier 1 target.
2024-04-30Make generate function assist generate a function as a constructor if the ↵morine0122-0/+492346
name of function is new
2024-04-30rustc: document the jobserverMiguel Ojeda-0/+87
Explicitly document that the jobserver may be used by `rustc` and show the warning to increase the chances that this document is found when searching for solutions online. In particular, add a section about the interaction with build systems, which is intended to contain recommendations on how to integrate `rustc` with different built systems. For GNU Make, recommend using the `+` indicator. In addition, add a note about the issue with GNU Make 4.3 since it is important that users realize they should do this even if they do not expect parallelism from `rustc`. Finally, show how to workaround the issue of `$(shell ...)` calls in recursive Make (which e.g. was needed for the Linux kernel). The GNU Make 4.4 case under `--jobserver-style=pipe` is not added since it got fixed after Rust 1.76.0 already (i.e. `rustc` will not warn if it finds the negative file descriptors). For CMake, recommend using `JOB_SERVER_AWARE` and show a workaround using `$(MAKE)` for earlier versions (when using the Makefile generator). From: https://github.com/rust-lang/rust/issues/120515 Cc: @petrochenkov @belovdv @weihanglo @bjorn3 Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-04-30discard when the path is invalid utf8 symbol.Yu Zeng-1/+1
2024-04-30Auto merge of #124366 - Kobzol:remove-yaml-expansion, r=pietroalbinibors-594/+32
CI: remove `expand-yaml-anchors` This PR unifies all CI outcome jobs in a single job, and then removes the `expand-yaml-anchors` tool, since it is no longer needed after this change. I have tested try builds for both situations with the new `outcome` job (note that these two workflow runs use a different step structure in the outcome job, I have simplified it since): - [Success](https://github.com/rust-lang-ci/rust/actions/runs/8831529677/job/24251135366) - [Failure](https://github.com/rust-lang-ci/rust/actions/runs/8833052319/job/24251628792) r? `@ghost`
2024-04-30Auto merge of #124547 - matthiaskrgr:rollup-9tv8upg, r=matthiaskrgrbors-4/+15
Rollup of 4 pull requests Successful merges: - #124519 (adapt a codegen test for llvm 19) - #124524 (Add StaticForeignItem and use it on ForeignItemKind) - #124540 (Give proof tree visitors the ability to instantiate nested goals directly) - #124543 (codegen tests: Tolerate `range()` qualifications in enum tests) r? `@ghost` `@rustbot` modify labels: rollup
2024-04-30Rollup merge of #124524 - spastorino:make-foreign-static-use-struct, r=oli-obkMatthias Krüger-4/+15
Add StaticForeignItem and use it on ForeignItemKind This is in preparation for unsafe extern blocks that adds a safe variant for functions inside extern blocks. r? `@oli-obk` cc `@compiler-errors`
2024-04-30Auto merge of #124507 - Zalathar:coverage-level, r=compiler-errorsbors-6/+11
coverage: Replace boolean options with a `CoverageLevel` enum After #123409, and some discussion at https://github.com/rust-lang/rust/issues/79649#issuecomment-2042093553 and #124120, it became clear to me that we should have a unified concept of “coverage level”, instead of having several separate boolean flags that aren't actually independent. This PR therefore introduces a `CoverageLevel` enum, to replace the existing boolean flags for `branch` and `mcdc`. The `no-branch` value (for `-Zcoverage-options`) has been renamed to `block`, instructing the compiler to only instrument for block coverage, with no branch coverage or MD/DC instrumentation. `@rustbot` label +A-code-coverage cc `@ZhuUx` `@Lambdaris` `@RenjiSann`
2024-04-30Auto merge of #124398 - klensy:trailing-ws, r=compiler-errorsbors-6/+6
tests: remove some trailing ws Cleans one more case of trailing whitespace in tests.
2024-04-29Output `run_type` from the matrix calculation jobJakub Beránek-1/+14
2024-04-29Rename `JobType` to `WorkflowRunType`Jakub Beránek-13/+13
2024-04-29Remove the `expand-yaml-anchors` toolJakub Beránek-278/+5
2024-04-29Replace dynamically generated `ci.yml` file with the original templateJakub Beránek-301/+0