| Age | Commit message (Collapse) | Author | Lines |
|
Partially back out "fix: Fix sourceroot construction for virtual manifests"
|
|
|
|
feat: show go-to-type-def actions for func param and trait bound when hovering
|
|
feat: Add smart completions that skip `await` or `iter()` and `into_iter()`
|
|
|
|
|
|
tests: Port `extern-fn-reachable` to rmake.rs
Part of #121876.
## Summary
This PR ports `tests/run-make/extern-fn-reachable` to use `rmake.rs`. Notable changes:
- We now use the `object` crate and look at the exported symbols specifically.
- This test's coverage regressed against windows-msvc back in [replace dynamic library module with libloading #90716](https://github.com/rust-lang/rust/pull/90716), but since we use `object` now, we're able to claw the test coverage back.
- The checks are now stricter:
1. It no longer looks for substring symbol matches in `nm` textual outputs, it inspects the symbol names precisely.
2. We now also explicitly check for the presence of leading underscore in exported symbol names on apple vs non-apple targets.
- Added another case of `#[no_mangle] fn fun6() {}` (note the lack of `pub`) to check that Rust nameres visibility is orthogonal to symbol visibility in dylib.
## History
- Test was initially introduced as a run-pass[^run-pass] test as part of [Don't mark reachable extern fns as internal #10539](https://github.com/rust-lang/rust/pull/10539).
- Test re-introduced as a run-make test in https://github.com/rust-lang/rust/pull/13741.
- Later, the test coverage regressed in https://github.com/rust-lang/rust/pull/90716.
[^run-pass]: no longer a thing nowadays
Supersedes #128314.
Co-authored with `@lolbinarycat.`
try-job: x86_64-msvc
try-job: i686-msvc
try-job: i686-mingw
try-job: x86_64-mingw-1
try-job: x86_64-apple-1
try-job: aarch64-apple
try-job: test-various
|
|
|
|
|
|
|
|
this brings in support from trait upcasting, yay!
(and as such fixes a test)
|
|
this adds a test asserting *incorrect* behavior that can be seen in
<https://github.com/rust-lang/rust-analyzer/issues/18083>, and a test
asserting the *correct* behavior for the case of no super traits.
|
|
E.g. complete `await.foo()`.
|
|
fix: Make test_runner::TestState::stdout optional to fix parsing cargo test json output
|
|
Rollup of 6 pull requests
Successful merges:
- #132654 (std: lazily allocate the main thread handle)
- #135003 (deprecate `std::intrinsics::transmute` etc, use `std::mem::*` instead)
- #135428 (rustdoc: Remove `AttributesExt` trait magic that added needless complexity)
- #135498 (Prefer lower `TraitUpcasting` candidates in selection)
- #135507 (TRPL: incorporate all backward-compatible Edition changes)
- #135529 (remove outdated FIXME)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Add COPYRIGHT-*.html files to distribution and update `COPYRIGHT`
* Updates the `COPYRIGHT` file to describe how we actually do things now, and removes the licence text from it as they are stored elsewhere.
* dist tarballs get all of the files in `LICENSES/*`.
* This folder is managed by `reuse` and each file exists because we refer to the licence somewhere in our tree. We should be supplying these licence texts to anyone who obtains a copy of the source code and now we do.
* The binary rust tarball gets `COPYRIGHT.html` and `COPYRIGHT-library.html`, which are auto-generated files that describe the licence information for both the in-tree source files used to build the Rust toolchain, and the out-of-tree dependencies we used to build the toolchain.
* The other binary tarballs are unchanged, for now. In future you need to make a call whether to ship multiple version of COPYRIGHT.html, or whether to try and make, for example, a cargo-specific COPYRIGHT.html file.
* The `LICENSE-MIT` file now includes a blanket copyright statement, as the text indicates that it should and because users will expect to know who owns the copyright of the material they have been given (even if the answer is 'lots of people').
try-job: x86_64-fuchsia
|
|
r=davidtwco
deprecate `std::intrinsics::transmute` etc, use `std::mem::*` instead
The `rustc_allowed_through_unstable_modules` attribute lets users call `std::mem::transmute` as `std::intrinsics::transmute`. The former is a reexport of the latter, and for a long time we didn't properly check stability for reexports, so making this a hard error now would be a breaking change for little gain. But at the same time, `std::intrinsics::transmute` is not the intended path for this function, so I think it is a good idea to show a deprecation warning when that path is used. This PR implements that, for all the functions in `std::intrinsics` that carry the attribute.
I assume this will need ``@rust-lang/libs-api`` FCP.
|
|
fix: Don't return inlay hints outside requested range
|
|
|
|
fix: Fix semantics not always correctly caching file roots
|
|
fix: Fix another bug when reaching macro expansion limit caused a stack overflow
|
|
Flip on typing config to be opt-in, better defaults
|
|
|
|
|
|
r=wesleywiser
Treat safe target_feature functions as unsafe by default [less invasive variant]
This unblocks
* #134090
As I stated in https://github.com/rust-lang/rust/pull/134090#issuecomment-2541332415 I think the previous impl was too easy to get wrong, as by default it treated safe target feature functions as safe and had to add additional checks for when they weren't. Now the logic is inverted. By default they are unsafe and you have to explicitly handle safe target feature functions.
This is the less (imo) invasive variant of #134317, as it doesn't require changing the Safety enum, so it only affects FnDefs and nothing else, as it should.
|
|
|
|
|
|
|
|
Detect unstable lint docs that dont enable their feature
Makes sure that we detect cases where unstable lint's docs don't enable the corresponding feature.
r? ehuss
|
|
ci: Enable opt-dist for dist-aarch64-linux builds
Move the CI dist-aarch64-linux job to an aarch64 runner and enable optimised dist builds with the opt-dist pipeline.
For the time being, disable bolt on aarch64 due to upstream bolt bugs.
r? `@Kobzol`
cc `@lqd`
try-job: dist-aarch64-linux
|
|
Make missing_abi lint warn-by-default.
This makes the missing_abi lint warn-by-default, as suggested here: https://github.com/rust-lang/rfcs/pull/3722#issuecomment-2447719047
This needs a lang FCP.
|
|
|
|
|
|
the unstable module name is used
|
|
feat: Render type parameter projection target bounds in inlays
|
|
|
|
feat: Add dereferencing autocomplete
|
|
|
|
|
|
Weekly `cargo update`
Automation to keep dependencies in `Cargo.lock` current.
The following is the output from `cargo update`:
```txt
compiler & tools dependencies:
Locking 27 packages to latest compatible versions
Updating bitflags v2.6.0 -> v2.7.0
Updating clap v4.5.23 -> v4.5.26
Updating clap_builder v4.5.23 -> v4.5.26
Updating clap_complete v4.5.40 -> v4.5.42
Updating clap_derive v4.5.18 -> v4.5.24
Updating handlebars v6.2.0 -> v6.3.0
Updating libz-sys v1.1.20 -> v1.1.21
Updating linux-raw-sys v0.4.14 -> v0.4.15
Updating phf v0.11.2 -> v0.11.3
Updating phf_codegen v0.11.2 -> v0.11.3
Updating phf_generator v0.11.2 -> v0.11.3
Updating phf_shared v0.11.2 -> v0.11.3
Updating pin-project-lite v0.2.15 -> v0.2.16
Updating proc-macro2 v1.0.92 -> v1.0.93
Updating rustix v0.38.42 -> v0.38.43
Updating serde_json v1.0.134 -> v1.0.135
Adding siphasher v1.0.1
Updating syn v2.0.94 -> v2.0.96
Updating thiserror v2.0.9 -> v2.0.11
Updating thiserror-impl v2.0.9 -> v2.0.11
Updating tokio v1.42.0 -> v1.43.0
Updating uuid v1.11.0 -> v1.11.1
Updating wasm-encoder v0.222.0 -> v0.223.0
Adding wasmparser v0.223.0
Updating wast v222.0.0 -> v223.0.0
Updating wat v1.222.0 -> v1.223.0
Updating xattr v1.3.1 -> v1.4.0
note: pass `--verbose` to see 39 unchanged dependencies behind latest
library dependencies:
Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 4 unchanged dependencies behind latest
rustbook dependencies:
Locking 27 packages to latest compatible versions
Updating bitflags v2.6.0 -> v2.7.0
Updating cc v1.2.7 -> v1.2.8
Updating clap v4.5.23 -> v4.5.26
Updating clap_builder v4.5.23 -> v4.5.26
Updating clap_complete v4.5.40 -> v4.5.42
Updating clap_derive v4.5.18 -> v4.5.24
Adding darling v0.20.10
Adding darling_core v0.20.10
Adding darling_macro v0.20.10
Adding derive_builder v0.20.2
Adding derive_builder_core v0.20.2
Adding derive_builder_macro v0.20.2
Updating handlebars v6.2.0 -> v6.3.0
Adding ident_case v1.0.1
Updating linux-raw-sys v0.4.14 -> v0.4.15
Updating phf v0.11.2 -> v0.11.3
Updating phf_codegen v0.11.2 -> v0.11.3
Updating phf_generator v0.11.2 -> v0.11.3
Updating phf_shared v0.11.2 -> v0.11.3
Updating proc-macro2 v1.0.92 -> v1.0.93
Updating rustix v0.38.42 -> v0.38.43
Updating serde_json v1.0.134 -> v1.0.135
Adding siphasher v1.0.1
Updating syn v2.0.94 -> v2.0.96
Updating thiserror v2.0.9 -> v2.0.11
Updating thiserror-impl v2.0.9 -> v2.0.11
Updating winnow v0.6.22 -> v0.6.24
```
|
|
This makes tidy warn on the presence of any directives it does not recognize.
There are changes in compiletest because that file used "tidy-alphabet" instead of "tidy-alphabetical".
|
|
|
|
Co-authored-by: Eric Huss <eric@huss.org>
|
|
Co-authored-by: binarycat <binarycat@envs.net>
|
|
|
|
|
|
|
|
|
|
Use deref_poiner_as instead of deref_pointer
|
|
|