Commit graph

721 commits

Author SHA1 Message Date
Manish Goregaokar
2aff1e67b5 allowlist displaydoc 2022-10-19 17:18:17 -07:00
Manish Goregaokar
e4f56b9d16 Update license 2022-10-19 17:18:17 -07:00
nils
1b8012fa10
Also run alphabetical check in src and library 2022-10-14 22:00:44 +02:00
Dylan DPC
3017341dae
Rollup merge of #102938 - c410-f3r:here-we-go-again, r=petrochenkov
Move some tests to more reasonable directories

r? ``@petrochenkov``
2022-10-14 16:19:13 +05:30
Caio
dbc8f51da4 Move some tests to more reasonable directories 2022-10-13 12:32:58 -03:00
est31
c278700af4 tidy: error if a lang feature is already present
If a lang feature gets declared twice, like for example as
a result of a mistake during stabilization, emit an error
in tidy. Library features already have this logic.
2022-10-12 23:09:23 +02:00
Nilstrieb
ce3560979d Error if tidy-alphabetical-end was not found 2022-10-12 17:49:10 +05:30
Nilstrieb
0e3867338d Add tidy directoy tidy-alphabetical
It can be used to ensure that a list of things is sorted alphabetically.
It goes off lines, but contains several heuristics to work with normal
Rust code (looking at indentation, ignoring comments and attributes).
2022-10-12 17:48:20 +05:30
Matthias Krüger
973afb15e0
Rollup merge of #102846 - zertosh:update-syn, r=dtolnay
update to syn-1.0.102

This update removes the only `.gitignore` found in `rustc-src`:

    vendor/syn/tests/.gitignore
    vendor/syn-1.0.91/tests/.gitignore
    vendor/syn-1.0.95/tests/.gitignore

To check-in `rustc-src` for hermetic builds in environments with
restrictive `.gitignore` policies, one has to remove these
`tests/.gitignore` and patch the respective
`.cargo-checksum.json`.`syn` >1.0.101 includes dtolnay/syn@3c49303bed,
which removes its `tests/.gitignore`. Now the `syn` crates.io package
has no `.gitignore`.

[`rustc-src`'s `vendor`][] is produced from the root `Cargo.toml`,
`src/tools/rust-analyzer/Cargo.toml`,
`compiler/rustc_codegen_cranelift/Cargo.toml`, and
`src/bootstrap/Cargo.toml`. `rustc_codegen_cranelift` does not use
`syn`.

[`rustc-src`'s `vendor`]:
  c0784109da/src/bootstrap/dist.rs (L934-L940)

This was produced with:

    cargo update --package syn --precise 1.0.102 \

    cargo update --package syn --precise 1.0.102 \
        --manifest-path src/tools/rust-analyzer/Cargo.toml

    cargo update --package syn --precise 1.0.102 \
        --manifest-path src/bootstrap/Cargo.toml
2022-10-10 20:47:33 +02:00
Dylan DPC
0c17324c92
Rollup merge of #102055 - c410-f3r:moar-errors, r=petrochenkov
Move some tests to more reasonable directories

r? ``@petrochenkov``
2022-10-10 13:43:40 +05:30
Andres Suarez
a65ddf06e0 update to syn-1.0.102 2022-10-09 13:51:55 -04:00
Maybe Waffle
f606127be5 make tidy accept multi-line rustc_const_unstable attributes 2022-10-01 22:26:48 +00:00
Ralf Jung
79ad594488 more clear function and variable names 2022-09-29 16:09:14 +02:00
Ralf Jung
1377bab12e make tidy dependency error less confusing 2022-09-29 13:42:57 +02:00
Yuki Okushi
614e18bf59
Rollup merge of #102030 - est31:tidy_walk_no_reexport, r=Mark-Simulacrum
Don't crate-locally reexport walk functions in tidy

I've moved the walk functions into their own module in #100591 and didn't want to make changing the paths everywhere in tidy part of the PRs diff, so I just reexported the functions locally. This PR removes the crate-local reexport and instead does module level reexports. I'm not sure how much it's worth it and whether the new state is better, idk. Feel free to have any opinion on this.
2022-09-22 09:03:52 +09:00
Caio
d45f6db5ee Move some tests to more reasonable directories 2022-09-20 12:31:11 -03:00
est31
b8d2f5cde5 Don't crate-locally reexport walk functions in tidy 2022-09-19 22:33:09 +02:00
est31
cd3979dba1 Add all submodules to the list of directories tidy skips
I ran git config --file .gitmodules --name-only --get-regexp path
and added all submodules that were not already in the list to it.
2022-09-19 15:17:33 +02:00
Charles Lew
686a982f70 Allow using tinyvec_macros dependency, which was introduced by newer version of tinyvec 2022-09-17 02:56:03 +08:00
yukang
31d53489bc tidy will not check coding style in bootstrap/target 2022-09-14 14:44:42 +08:00
est31
dc2af5f876 Fix error printing mistake in tidy 2022-09-07 15:48:11 +02:00
bors
b11bf65e4a Auto merge of #101250 - klensy:bump-deps-08-22, r=Dylan-DPC
bump deps

Update few crates to drop old/duplicated versions.

updates pest* crates (no separate changelog, sadly: https://github.com/pest-parser/pest/releases), thiserror, handlebars(https://github.com/sunng87/handlebars-rust/blob/v4.3.3/CHANGELOG.md#433---2022-07-20) to drop old ones:
```
 Removing block-buffer v0.7.3
 Removing block-padding v0.1.5
 Removing byte-tools v0.3.1
 Removing byteorder v1.3.4
 Removing digest v0.8.1
 Removing fake-simd v0.1.2
 Removing generic-array v0.12.4
 Updating handlebars v4.1.0 -> v4.3.3
 Removing opaque-debug v0.2.3
 Updating pest v2.1.3 -> v2.3.0
 Updating pest_derive v2.1.0 -> v2.3.0
 Updating pest_generator v2.1.3 -> v2.3.0
 Updating pest_meta v2.1.3 -> v2.3.0
 Removing quick-error v2.0.0
 Removing sha-1 v0.8.2
 Updating thiserror v1.0.30 -> v1.0.33
 Updating thiserror-impl v1.0.30 -> v1.0.33
```

combine v4.6.3 -> v4.6.6: drops `use_std` features, addressed this comment:
4fd4de7ea3/src/tools/rustc-workspace-hack/Cargo.toml (L80-L82)

im-rc v15.0.0 -> v15.1.0 to drop rand_xoshiro duplicated version
```
Updating im-rc v15.0.0 -> v15.1.0
Removing rand_xoshiro v0.4.0
```
2022-09-04 10:43:44 +00:00
bors
eac6c33bc6 Auto merge of #100869 - nnethercote:replace-ThinVec, r=spastorino
Replace `rustc_data_structures::thin_vec::ThinVec` with `thin_vec::ThinVec`

`rustc_data_structures::thin_vec::ThinVec` looks like this:
```
pub struct ThinVec<T>(Option<Box<Vec<T>>>);
```
It's just a zero word if the vector is empty, but requires two
allocations if it is non-empty. So it's only usable in cases where the
vector is empty most of the time.

This commit removes it in favour of `thin_vec::ThinVec`, which is also
word-sized, but stores the length and capacity in the same allocation as
the elements. It's good in a wider variety of situation, e.g. in enum
variants where the vector is usually/always non-empty.

The commit also:
- Sorts some `Cargo.toml` dependency lists, to make additions easier.
- Sorts some `use` item lists, to make additions easier.
- Changes `clean_trait_ref_with_bindings` to take a
  `ThinVec<TypeBinding>` rather than a `&[TypeBinding]`, because this
  avoid some unnecessary allocations.

r? `@spastorino`
2022-09-01 08:01:06 +00:00
klensy
45fac3472b update few crates to drop old deps 2022-08-31 23:35:57 +03:00
bors
b96fa1a25c Auto merge of #98626 - oli-obk:tracing, r=lcnr
bump tracing version

Bump tracing dependency to 0.1.35 to give us features like printing the return value of functions
2022-08-29 11:13:42 +00:00
Nicholas Nethercote
b38106b6d8 Replace rustc_data_structures::thin_vec::ThinVec with thin_vec::ThinVec.
`rustc_data_structures::thin_vec::ThinVec` looks like this:
```
pub struct ThinVec<T>(Option<Box<Vec<T>>>);
```
It's just a zero word if the vector is empty, but requires two
allocations if it is non-empty. So it's only usable in cases where the
vector is empty most of the time.

This commit removes it in favour of `thin_vec::ThinVec`, which is also
word-sized, but stores the length and capacity in the same allocation as
the elements. It's good in a wider variety of situation, e.g. in enum
variants where the vector is usually/always non-empty.

The commit also:
- Sorts some `Cargo.toml` dependency lists, to make additions easier.
- Sorts some `use` item lists, to make additions easier.
- Changes `clean_trait_ref_with_bindings` to take a
  `ThinVec<TypeBinding>` rather than a `&[TypeBinding]`, because this
  avoid some unnecessary allocations.
2022-08-29 15:42:13 +10:00
bors
d5ef528beb Auto merge of #100863 - ehuss:sunset-rls, r=Mark-Simulacrum
Sunset RLS

This removes RLS per the plan outlined in https://blog.rust-lang.org/2022/07/01/RLS-deprecation.html. This replaces the `rls` executable with a small program which will display an alert telling the user that RLS is no longer available.

An overview of the changes here:
* Removes the rls submodule and replaces it with a small stub program.
* `rls` is removed from `./x.py install`. I do not think users running `install` will need the stub.
* `rls` is removed from `./x.py test`, it doesn't have any tests.

Other things of note:
* I kept `DIST_REQUIRE_ALL_TOOLS` even though it is no longer needed, with the thought that it could be useful in the feature. However, I could remove it if desired.
* I kept `extra_deps` in `tool_extended` (which allows tools to depend on other things), even though it is no longer needed. This can also be removed if desired.
* ~~This keeps RLS in the macOS `pkg` installer and the Windows `msi` installer. I kinda lean towards removing it from those, but I'm not sure?~~ RLS has been removed from pkg and msi.
* This does not remove the analysis component. It is not clear if we should keep this or not. RLS was the primary user, but I think there are a few users that have made tools around it.
* There will be several followup steps after this PR:
    * Updating the toolstate repo to remove RLS.
    * Updating documentation, such as rustc-dev-guide, to remove references to RLS.

The alert looks like this in VSCode:

<img width="989" alt="image" src="https://user-images.githubusercontent.com/43198/185817530-930c5842-24b5-4162-a213-016a25810955.png">

In Sublime it looks similar.

I would appreciate if others could help test with other editors such as vim or Emacs.
2022-08-28 07:04:21 +00:00
Eric Huss
4a7e2fbb7b Sunset RLS 2022-08-27 21:36:08 -07:00
bors
91f128baf7 Auto merge of #92845 - Amanieu:std_personality, r=Mark-Simulacrum
Move EH personality functions to std

These were previously in the panic_unwind crate with dummy stubs in the
panic_abort crate. However it turns out that this is insufficient: we
still need a proper personality function even with -C panic=abort to
handle the following cases:

1) `extern "C-unwind"` still needs to catch foreign exceptions with -C
panic=abort to turn them into aborts. This requires landing pads and a
personality function.

2) ARM EHABI uses the personality function when creating backtraces.
The dummy personality function in panic_abort was causing backtrace
generation to get stuck in a loop since the personality function is
responsible for advancing the unwind state to the next frame.

Fixes #41004
2022-08-28 04:16:29 +00:00
est31
a2e2d76768 tidy: move directory traversal utility functions into dedicated module 2022-08-27 17:39:11 +02:00
est31
d06e0e53eb tidy: forbid since values for features that point to the current release or future ones
It's a common phenomenon that feature stabilizations don't make it into
a particular release, but the version is still inaccurate. Often this
leads to subsequent changes to adjust/correct the version.

Instead, require people to put a placeholder that gets replaced during
beta branching time with the current rust version. That way, there is
no chance that an error can be introduced.

Usage of the placeholder is required on the nightly channel, and forbidden
on the stable and beta channels.
2022-08-27 17:08:52 +02:00
Yuki Okushi
e31bedc9cf
Rollup merge of #100924 - est31:closure_to_fn_ptr, r=Mark-Simulacrum
Smaller improvements of tidy and the unicode generator
2022-08-27 13:14:19 +09:00
bjorn3
716101c01d Add new allowed deps 2022-08-24 17:06:37 +00:00
est31
6a1f7afd2f Use direct pointer to filter_dirs function 2022-08-23 18:47:29 +02:00
Amanieu d'Antras
2a24a6971c Relax tidy rules for OS-specific code 2022-08-23 16:12:58 +08:00
Matthias Krüger
8332f6559b
Rollup merge of #100862 - ehuss:tidy-crossbeam, r=Mark-Simulacrum
tidy: remove crossbeam-utils

crossbeam-utils is no longer needed now that scoped threads are available in 1.63.
2022-08-23 06:55:29 +02:00
Eric Huss
add04f93de tidy: remove crossbeam-utils 2022-08-21 17:31:22 -07:00
Xiretza
00fec76ab5 tidy: check fluent files for style 2022-08-18 12:34:11 +02:00
Josh Stone
de8dedb0a5 Use an extensionless x script for non-Windows 2022-08-12 15:39:26 -07:00
Joshua Nelson
775c3c0493 Add x.sh and x.ps1 shell scripts
This is a more ambitious version of https://github.com/rust-lang/rust/pull/98716.
It still changes the shebang back to python3, for compatibility with non-Unix systems,
but also adds alternative entrypoints for systems without `python3` installed.

These scripts will be necessary for the rust entrypoint (#94829), so I see
little downside in adding them early.
2022-08-08 14:48:11 -05:00
Oli Scherer
e896228ef3 Update tracing to 0.1.31 2022-07-29 15:41:15 +00:00
bjorn3
9dc4ed8d90 Update list of allowed dependencies
Cranelift started depending on a couple of new crates
2022-07-25 17:08:20 +02:00
lcnr
43ccacf89b region_outlives_predicate no snapshot 2022-07-21 13:09:01 +02:00
bors
c2ecd3af87 Auto merge of #99283 - RalfJung:miri, r=RalfJung
update Miri

Fixes https://github.com/rust-lang/rust/issues/99224
r? `@ghost`
2022-07-17 13:08:06 +00:00
Ralf Jung
9b49a792ef make tidy accept another permutation of this license string 2022-07-17 08:47:42 -04:00
Jane Losare-Lusby
e4e6b1ebc6 fixes post rebase 2022-07-08 21:18:16 +00:00
Mark Rousskov
45b87fb75c Lint against executable files in the root directory
This avoids accidental introduction (such as in #97488).
2022-07-01 22:12:29 -04:00
Ralf Jung
8515475ffd get rid of some tidy 'unnecessarily ignored' warnings 2022-06-30 11:25:23 -04:00
Joshua Nelson
81482e67cb Remove individual crate checks for bootstrap in tidy
This duplicates a lot of checking, and doesn't seem particularly useful -
these are already caught in review.

Note that this still keeps the license check.
2022-06-22 00:33:35 -05:00
Joshua Nelson
85c87f6c67 Add bootstrap to tidy check 2022-06-21 23:42:56 -05:00