Commit graph

281649 commits

Author SHA1 Message Date
Josh Rotenberg
5aaf2f7627 toc for other editors 2025-02-21 20:40:19 -08:00
Laurențiu Nicola
010cba398d
Merge pull request #19192 from BenjaminBrienen/patch-4
Update style.md
2025-02-20 18:53:54 +00:00
Benjamin Brienen
67f408c350
Update style.md
fix dead link
2025-02-20 19:38:24 +01:00
Lukas Wirth
f9fb2db8aa
Merge pull request #19189 from Veykril/push-qutznxznnwqn
minor: Improve unset `OUT_DIR` error message
2025-02-20 18:15:29 +00:00
Lukas Wirth
b3a6168c99 Improve unset OUT_DIR error message 2025-02-20 19:00:23 +01:00
Laurențiu Nicola
2ba41e815a
Merge pull request #19190 from BenjaminBrienen/patch-4
Update editor_features.md
2025-02-20 16:20:35 +00:00
Benjamin Brienen
f97bbd32b4
Update editor_features.md
fix typos in snippets
2025-02-20 17:05:18 +01:00
Lukas Wirth
c0c0283eb9
Merge pull request #19151 from infiniteregrets/infi/fix-proc-macro
Use correct working directory for non-workspace proc-macro execution
2025-02-20 16:04:52 +00:00
Laurențiu Nicola
98fc39f8af
Merge pull request #19188 from lnicola/ubuntu-latest
internal: Use ubuntu-latest workers for releases
2025-02-20 07:50:21 +00:00
Laurențiu Nicola
52e878c3d1 Use ubuntu-latest workers for releases 2025-02-20 09:34:19 +02:00
Laurențiu Nicola
36768cd02e
Merge pull request #19185 from BenjaminBrienen/patch-3
Update architecture.md
2025-02-20 07:23:34 +00:00
Laurențiu Nicola
e14f40786e
Merge pull request #19187 from BenjaminBrienen/patch-4
Update configuration.md
2025-02-20 07:06:39 +00:00
Laurențiu Nicola
c55ad623b6
Merge pull request #19186 from joshrotenberg/fix-source-link-line-anchor
doc: missed the L for the line number
2025-02-20 07:06:13 +00:00
Benjamin Brienen
b53fc6e91a
Update configuration.md
fix dead links
2025-02-20 03:21:45 +01:00
Josh Rotenberg
d50c449617 missed the L for the line number 2025-02-19 16:52:12 -08:00
Benjamin Brienen
4bc72f720f
Update architecture.md
it is stable since 1.52
2025-02-20 01:28:20 +01:00
Lukas Wirth
1ad2fa8d8a
Merge pull request #19180 from joshrotenberg/fix-source-file-url
doc: use fully qualified url for source path
2025-02-19 06:37:01 +00:00
Chayim Refael Friedman
1ed047137e
Merge pull request #19179 from alibektas/19090_new
Ignore assists with many results if grouping not supported
2025-02-18 21:13:06 +00:00
Ali Bektas
6100c2c043 Add a check_assist_* overload and move tests under assists 2025-02-18 21:58:27 +01:00
Josh Rotenberg
d09cabb0b0 use fully qualified url for source path 2025-02-18 12:57:18 -08:00
Ali Bektas
ebe8c4882b Fix 19090 2025-02-18 20:51:42 +01:00
Laurențiu Nicola
e6c1e6cb8a
Merge pull request #19176 from BenjaminBrienen/patch-3
Fix dead link
2025-02-18 16:39:43 +00:00
Benjamin Brienen
176d3ff78c
Fix dead link 2025-02-18 17:22:45 +01:00
Lukas Wirth
78b739060f
Merge pull request #19173 from rust-lang/revert-19122-master
Revert "pass struct fields to chalk"
2025-02-18 10:53:35 +00:00
Lukas Wirth
3457775827
Revert "pass struct fields to chalk" 2025-02-18 11:37:43 +01:00
Lukas Wirth
501471a621
Merge pull request #19157 from joshrotenberg/dev-guide-to-book
doc: move dev docs to manual
2025-02-18 07:00:23 +00:00
Josh Rotenberg
9821bb0d6d move dev docs to manual
fix formatting
2025-02-17 10:47:27 -08:00
Mehul Arora
4d386f76a6 Use correct working directory for non-workspace proc-macro execution 2025-02-17 10:36:32 -05:00
Laurențiu Nicola
e08736d70d
Merge pull request #19170 from lnicola/update-lockfile
minor: Update lockfile
2025-02-17 13:06:12 +00:00
Laurențiu Nicola
bce3d0ff1c Update lockfile 2025-02-17 14:50:39 +02:00
Laurențiu Nicola
0c9c489355
Merge pull request #19169 from lnicola/sync-from-rust
minor: Sync from downstream
2025-02-17 12:30:13 +00:00
Laurențiu Nicola
952bfae057 Bump rustc crates 2025-02-17 14:11:12 +02:00
Lukas Wirth
2a0d16f3c4
Merge pull request #19167 from ChayimFriedman2/fix-ref-pat
fix: Fix detection of ref patterns for path patterns
2025-02-17 11:23:18 +00:00
Laurențiu Nicola
b571e8a8ac Merge from rust-lang/rust 2025-02-17 13:20:12 +02:00
Laurențiu Nicola
19fa3deab3 Preparing for merge from rust-lang/rust 2025-02-17 13:20:07 +02:00
Chayim Refael Friedman
b7a9a32126 Fix detection of ref patterns for path patterns
I was wrong on #19127, I thought hir-def resolver is enough for them, but it turns out not because of paths like `<Enum>::Variant` and `Type::AssocThatIsEnum::Variant`.
2025-02-17 11:51:29 +02:00
Lukas Wirth
c7a2986c20
Merge pull request #19158 from PoignardAzur/expaned_pub_glob_imports
Implement expand_glob_reexport assist
2025-02-17 09:46:29 +00:00
Lukas Wirth
d7fb8f15c7
Merge pull request #19122 from Austaras/master
pass struct fields to chalk
2025-02-17 09:37:55 +00:00
Lukas Wirth
123f17c57b
Merge pull request #19127 from ChayimFriedman2/different-generic-args
feat: Refactor path lowering and serve a new path diagnostic
2025-02-17 08:30:10 +00:00
bors
273465e1f2 Auto merge of #137163 - matthiaskrgr:rollup-ovgfkns, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #136466 (Start removing `rustc_middle::hir::map::Map`)
 - #136671 (Overhaul `rustc_middle::limits`)
 - #136817 (Pattern Migration 2024: clean up and comment)
 - #136844 (Use `const_error!` when possible)
 - #137080 (bootstrap: add more tracing to compiler/std/llvm flows)
 - #137101 (`invalid_from_utf8[_unchecked]`: also lint inherent methods)
 - #137140 (Fix const items not being allowed to be called `r#move` or `r#static`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-17 08:10:13 +00:00
Laurențiu Nicola
6b46937305
Merge pull request #19166 from ChayimFriedman2/runnables-order
fix: Fix sorting of runnables
2025-02-17 05:58:35 +00:00
Matthias Krüger
f0710999a9
Rollup merge of #137140 - Noratrieb:const-move, r=jieyouxu,compiler-errors
Fix const items not being allowed to be called `r#move` or `r#static`

Because of an ambiguity with const closures, the parser needs to ensure that for a const item, the `const` keyword isn't followed by a `move` or `static` keyword, as that would indicate a const closure:

```rust
fn main() {
  const move // ...
}
```

This check did not take raw identifiers into account, therefore being unable to distinguish between `const move` and `const r#move`. The latter is obviously not a const closure, so it should be allowed as a const item.

This fixes the check in the parser to only treat `const ...` as a const closure if it's followed by the *proper keyword*, and not a raw identifier.

Additionally, this adds a large test that tests for all raw identifiers in all kinds of positions, including `const`, to prevent issues like this one from occurring again.

fixes #137128
2025-02-17 06:37:39 +01:00
Matthias Krüger
86f3d525e0
Rollup merge of #137101 - GrigorenkoPV:str-inherent-lint, r=Urgau
`invalid_from_utf8[_unchecked]`: also lint inherent methods

Addressing https://github.com/rust-lang/rust/issues/131114#issuecomment-2646663535

Also corrected a typo: "_an_ invalid literal", not "_a_ invalid literal".
2025-02-17 06:37:38 +01:00
Matthias Krüger
5dd48bce7c
Rollup merge of #137080 - jieyouxu:more-tracing, r=onur-ozkan
bootstrap: add more tracing to compiler/std/llvm flows

- Add more tracing to compiler/std/llvm flows.
- Two drive-by nits:
    1. Take `TargetSelection` by-value for `builder.is_builder_target()`. Noticed while adding tracing; follow-up to #136767.
    2. Coalesce enzyme build logic into one branch.
- Document `COMPILER{,_FOR}` tracing targets for #96176.
- No functional changes.

### Testing

You can play with the tracing locally with:

```
$ BOOTSTRAP_TRACING=bootstrap=debug ./x build library
$ BOOTSTRAP_TRACING=bootstrap=trace ./x build library
$ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library
```

### Previews

```
$ BOOTSTRAP_TRACING=bootstrap=debug ./x build library
```

![Screenshot 2025-02-15 230824](https://github.com/user-attachments/assets/c3b02b62-d52e-4c03-a00a-da0d95618989)

```
$ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library
```

![Screenshot 2025-02-15 233859](https://github.com/user-attachments/assets/842e4ece-4c26-4191-acbb-5f93e42de4dc)

r? ``@onur-ozkan`` (or reroll)
2025-02-17 06:37:37 +01:00
Matthias Krüger
c04801dbb9
Rollup merge of #136844 - thaliaarchi:const-io-error, r=ChrisDenton
Use `const_error!` when possible

Replace usages of `io::Error::new(io::ErrorKind::Variant, "constant string")` with `io::const_error!(io::ErrorKind::Variant, "constant string")` to avoid allocations when possible. Additionally, fix `&&str` error messages in SGX and missing/misplaced trailing commas in `const_error!`.
2025-02-17 06:37:37 +01:00
Matthias Krüger
767ec0a8ad
Rollup merge of #136817 - dianne:clean-and-comment-pat-migration, r=Nadrieril
Pattern Migration 2024: clean up and comment

This follows up on #136577 by moving the pattern migration logic to its own module, removing a bit of unnecessary complexity, and adding comments. Since there's quite a bit of pattern migration logic now (and potentially more in #136496), I think it makes sense to keep it separate from THIR construction, at least as much as is convenient.

r? ``@Nadrieril``
2025-02-17 06:37:36 +01:00
Matthias Krüger
0c051c8196
Rollup merge of #136671 - nnethercote:middle-limits, r=Nadrieril
Overhaul `rustc_middle::limits`

In particular, to make `pattern_complexity` work more like other limits, which then enables some other simplifications.

r? ``@Nadrieril``
2025-02-17 06:37:35 +01:00
Matthias Krüger
f3a4f1a02a
Rollup merge of #136466 - nnethercote:start-removing-Map, r=cjgillot
Start removing `rustc_middle::hir::map::Map`

`rustc_middle::hir::map::Map` is now just a low-value wrapper around `TyCtxt`. This PR starts removing it.

r? `@cjgillot`
2025-02-17 06:37:35 +01:00
Nicholas Nethercote
f666361caa Remove TyCtxt::hir_krate.
It's a trivial wrapper around the `hir_crate` query with a small number
of uses.
2025-02-17 13:24:40 +11:00
Nicholas Nethercote
661f99ba03 Overhaul the intravisit::Map trait.
First of all, note that `Map` has three different relevant meanings.
- The `intravisit::Map` trait.
- The `map::Map` struct.
- The `NestedFilter::Map` associated type.

The `intravisit::Map` trait is impl'd twice.
- For `!`, where the methods are all unreachable.
- For `map::Map`, which gets HIR stuff from the `TyCtxt`.

As part of getting rid of `map::Map`, this commit changes `impl
intravisit::Map for map::Map` to `impl intravisit::Map for TyCtxt`. It's
fairly straightforward except various things are renamed, because the
existing names would no longer have made sense.

- `trait intravisit::Map` becomes `trait intravisit::HirTyCtxt`, so named
  because it gets some HIR stuff from a `TyCtxt`.
- `NestedFilter::Map` assoc type becomes `NestedFilter::MaybeTyCtxt`,
  because it's always `!` or `TyCtxt`.
- `Visitor::nested_visit_map` becomes `Visitor::maybe_tcx`.

I deliberately made the new trait and associated type names different to
avoid the old `type Map: Map` situation, which I found confusing. We now
have `type MaybeTyCtxt: HirTyCtxt`.
2025-02-17 13:21:35 +11:00