Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wip] rustdoc: rewrite predicate clean #21

Closed
wants to merge 1,254 commits into from
Closed

Conversation

fmease
Copy link
Owner

@fmease fmease commented Jul 24, 2024

No description provided.

matthiaskrgr and others added 30 commits August 1, 2024 08:33
…ss35

android: Remove libstd hacks for unsupported Android APIs

Our minimum supported API version is 21, remove hacks to support older Android APIs.

try-job: arm-android

r? tgross35
…rly, r=albertlarsan68,Kobzol

improve bootstrap to allow selecting llvm tools individually

Everything works as before, + now bootstrap allows for individually selecting LLVM tools (e.g., `x dist opt llvm-dis`) to include in the dist artifact.
Create COFF archives for non-LLVM backends

`ar_archive_writer` now supports creating COFF archives, so enable them for the non-LLVM backends when requested.

r? ``@bjorn3``
…compiler-errors

Emit an error if `#[optimize]` is applied to an incompatible item

rust-lang#54882

The RFC specifies that this should emit a lint. I used the same allow logic as the `coverage` attribute (also allowing modules and impl blocks) - this should possibly be changed depending on if it's decided to allow 'propogation' of the attribute.
Finish blessing `coverage/mcdc` tests after LLVM 19 upgrade

Context: rust-lang#127513 (comment)

These changes aren't needed for Rust CI, because after the LLVM 19 upgrade we have no jobs that run these tests in `coverage-run` mode against LLVM 18. But they might help external builds.

The longer-term plan is to completely drop (unstable) MC/DC support on LLVM 18, as part of getting it working on LLVM 19 in rust-lang#126733.

cc `@cuviper`
…e-revs, r=jieyouxu

Ignore `use` declaration reformatting in `.git-blame-ignore-revs`.

The reformatting was done in rust-lang#125443.

r? `@lcnr`
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#128416 (android: Remove libstd hacks for unsupported Android APIs)
 - rust-lang#128437 (improve bootstrap to allow selecting llvm tools individually)
 - rust-lang#128450 (Create COFF archives for non-LLVM backends)
 - rust-lang#128458 (Emit an error if `#[optimize]` is applied to an incompatible item)
 - rust-lang#128477 (Finish blessing `coverage/mcdc` tests after LLVM 19 upgrade)
 - rust-lang#128478 (Ignore `use` declaration reformatting in `.git-blame-ignore-revs`.)

r? `@ghost`
`@rustbot` modify labels: rollup
docs: Fix JSON example for rust-analyzer.workspace.discoverConfig

The user does not specify `{arg}` in their JSON, and be pedantic about commas in JSON sample.
It can be done more concisely.
When collecting tokens there are two kinds of range:
- a range relative to the parser's full token stream (which we get when
  we are parsing);
- a range relative to a single AST node's token stream (which we use
  within `LazyAttrTokenStreamImpl` when replacing tokens).

These are currently both represented with `Range<u32>` and it's easy to
mix them up -- until now I hadn't properly understood the difference.

This commit introduces `ParserRange` and `NodeRange` to distinguish
them. This also requires splitting `ReplaceRange` in two, giving the new
types `ParserReplacement` and `NodeReplacement`. (These latter two names
reduce the overloading of the word "range".)

The commit also rewrites some comments to be clearer.

The end result is a little more verbose, but much clearer.
when josh-proxy screws up the roundtrip, say what the involved commits are
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
when josh-proxy screws up the roundtrip, say what the involved commits are

Helps debugging rust-lang/rust-analyzer#17733
…ication, r=estebank,traviscross

More unsafe attr verification

This code denies unsafe on attributes such as `#[test]` and `#[ignore]`, while also changing the `MetaItem` parsing so `unsafe` in args like `#[allow(unsafe(dead_code))]` is not accidentally allowed.

Tracking:

- rust-lang#123757
Subtree update of `rust-analyzer`

r? `@ghost`
matthiaskrgr and others added 25 commits August 5, 2024 18:36
…impls, r=lcnr

Add `Debug` impls to API types in `rustc_codegen_ssa`

Some types used in `rustc_codegen_ssa`'s interface traits are missing `Debug` impls. Though I did not smear `#[derive(Debug)]` all over the crate (some structs are quite large).
…r=Kobzol

fix the invalid argument type

It was obviously wrong..
…iaskrgr

Rollup of 5 pull requests

Successful merges:

 - rust-lang#128385 (rustdoc-json: discard non-local inherent impls for primitives)
 - rust-lang#128559 (Don't re-elaborated already elaborated caller bounds in method probe)
 - rust-lang#128631 (handle crates when they are not specified for std docs)
 - rust-lang#128664 (Add `Debug` impls to API types in `rustc_codegen_ssa`)
 - rust-lang#128686 (fix the invalid argument type)

r? `@ghost`
`@rustbot` modify labels: rollup
use a Miri-specific folder for ui tests
bump dependencies

In particular pick up RalfJung/rustc-build-sysroot#22 to fix the fallout from rust-lang#128534.
…-Simulacrum

Promote riscv64gc-unknown-linux-musl to tier 2
Use `ParamEnv::reveal_all` in CFI

I left a huge comment for why this ICEs in the test I committed.

`typeid_for_instance` should only be called on monomorphic instances during codegen, and we should just be using `ParamEnv::reveal_all()` rather than the param-env of the instance itself. I added an assertion to ensure that we only do this for fully substituted instances (this may break with polymorphization, but I kinda don't care lol).

Fixes rust-lang#114160
cc `@rcvalle`
…compiler-errors

custom MIR: add support for tail calls

Cc ``@WaffleLapkin``
Normalize when equating `dyn` tails in MIR borrowck

See the explanation in the comment.

Fixes rust-lang#128621
cc `@WaffleLapkin`
…rors

interpret: move nullary-op evaluation into operator.rs

We call it an operator, so we might as well treat it like one. :)

Also use more consistent naming for the "evaluate intrinsic" functions. "emulate" is really the wrong term, this *is* a genuine implementation of the intrinsic semantics after all.
…iaskrgr

Rollup of 5 pull requests

Successful merges:

 - rust-lang#122049 (Promote riscv64gc-unknown-linux-musl to tier 2)
 - rust-lang#128580 (Use `ParamEnv::reveal_all` in CFI)
 - rust-lang#128688 (custom MIR: add support for tail calls)
 - rust-lang#128694 (Normalize when equating `dyn` tails in MIR borrowck)
 - rust-lang#128697 (interpret: move nullary-op evaluation into operator.rs)

r? `@ghost`
`@rustbot` modify labels: rollup
Tweak type inference for `const` operands in inline asm

Previously these would be treated like integer literals and default to `i32` if a type could not be determined. To allow for forward-compatibility with `str` constants in the future, this PR changes type inference to use an unbound type variable instead.

The actual type checking is deferred until after typeck where we still ensure that the final type for the `const` operand is an integer type.

<!--
If this PR is related to an unstable feature or an otherwise tracked effort,
please link to the relevant tracking issue here. If you don't know of a related
tracking issue or there are none, feel free to ignore this.

This PR will get automatically assigned to a reviewer. In case you would like
a specific user to review your work, you can assign it to them by using

    r​? <reviewer name>
-->
…felix

Change output normalization logic to be linear against size of output

Modify the rendered output normalization routine to scan each character *once* and construct a `String` to be printed out to the terminal *once*, instead of using `String::replace` in a loop multiple times. The output doesn't change, but the time spent to prepare a diagnostic is now faster (or rather, closer to what it was before rust-lang#127528).
The `error-format=short` output only displays the path, error code and
main error message all in the same line. We now add the primary span label
as well after the error message, to provide more context.
…r=davidtwco

On short error format, append primary span label to message

The `error-format=short` output only displays the path, error code and main error message all in the same line. We now add the primary span label as well after the error message, to provide more context.
…eyouxu

Migrate `cdylib-dylib-linkage` `run-make` test to rmake

Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

~~Those sysroot tests are always fun. I'm getting local errors that don't make a lot of sense about my own sysroot not existing, so I am trying this in CI to see what happens.~~

~~EDIT: I am getting the same error here. The strange thing is, when I try to navigate to `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib` on my personal computer, the directory does exist, but the error message is that the directory does not.~~

EDIT 2: The sysroot path just needed to be trimmed!

Please try:

// try-job: x86_64-msvc // passed previously
try-job: x86_64-mingw
try-job: x86_64-gnu-llvm-18
try-job: i686-msvc
try-job: aarch64-apple
@fmease fmease force-pushed the rustdoc-rewrite-pred-clean branch from f580d11 to 20cec98 Compare August 6, 2024 16:13
@fmease fmease closed this Aug 6, 2024
@fmease fmease deleted the rustdoc-rewrite-pred-clean branch August 6, 2024 16:14
@fmease fmease restored the rustdoc-rewrite-pred-clean branch August 6, 2024 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.