| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Co-authored-by: Michael Goulet <michael@errs.io>
|
|
|
|
|
|
|
|
Rollup of 10 pull requests
Successful merges:
- #108760 (Add lint to deny diagnostics composed of static strings)
- #109444 (Change tidy error message for TODOs)
- #110419 (Spelling library)
- #110550 (Suggest deref on comparison binop RHS even if type is not Copy)
- #110641 (Add new rustdoc book chapter to describe in-doc settings)
- #110798 (pass `unused_extern_crates` in `librustdoc::doctest::make_test`)
- #110819 (simplify TrustedLen impls)
- #110825 (diagnostics: add test case for already-solved issue)
- #110835 (Make some region folders a little stricter.)
- #110847 (rustdoc-json: Time serialization.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
rustdoc-json: Time serialization.
This lets us know how much time is spent in json specific code, and how much performance we could gain by using a different serialization format.
For aws-sdk-ec2, it takes 0.7s, out of a 43s build (of which 6s is spent in json specific code), and makes a 173M json file
```
$ cargo +rust_stage2 rustdoc -p aws-sdk-ec2 -- -Zunstable-options -w json -Ztime-passes
Documenting aws-sdk-ec2 v0.26.0 (/home/gh-aDotInTheVoid/aws-sdk-rust/sdk/ec2)
time: 5.229; rss: 64MB -> 891MB ( +827MB) expand_crate
time: 5.230; rss: 61MB -> 891MB ( +830MB) macro_expand_crate
time: 0.256; rss: 891MB -> 891MB ( +0MB) AST_validation
time: 0.025; rss: 891MB -> 891MB ( +1MB) finalize_imports
time: 0.093; rss: 891MB -> 891MB ( +0MB) compute_effective_visibilities
time: 0.122; rss: 891MB -> 891MB ( +0MB) finalize_macro_resolutions
time: 2.442; rss: 891MB -> 1188MB ( +297MB) late_resolve_crate
time: 0.120; rss: 1188MB -> 1190MB ( +2MB) resolve_check_unused
time: 0.211; rss: 1190MB -> 1190MB ( +0MB) resolve_postprocess
time: 3.017; rss: 891MB -> 1190MB ( +299MB) resolve_crate
time: 8.520; rss: 61MB -> 1181MB (+1120MB) prepare_outputs
time: 0.152; rss: 1181MB -> 1181MB ( +0MB) complete_gated_feature_checking
time: 0.539; rss: 1633MB -> 1632MB ( -1MB) drop_ast
time: 15.492; rss: 58MB -> 1621MB (+1563MB) type_collecting
time: 1.503; rss: 1621MB -> 1705MB ( +84MB) item_types_checking
time: 1.274; rss: 1705MB -> 1726MB ( +21MB) crate_lints
time: 1.275; rss: 1705MB -> 1726MB ( +21MB) missing_docs
time: 0.281; rss: 1726MB -> 1726MB ( +0MB) check_mod_attrs
time: 0.433; rss: 1744MB -> 1750MB ( +6MB) clean_crate
time: 11.581; rss: 1750MB -> 2107MB ( +357MB) collect_synthetic_impls
time: 0.019; rss: 2107MB -> 2107MB ( +0MB) collect_items_for_trait_impls
time: 12.588; rss: 1750MB -> 2139MB ( +389MB) collect-trait-impls
time: 0.197; rss: 2139MB -> 2139MB ( +0MB) check_doc_test_visibility
time: 0.281; rss: 2139MB -> 2150MB ( +11MB) strip-hidden
time: 0.260; rss: 2150MB -> 2150MB ( +0MB) strip-private
warning: unresolved link to `date`
--> sdk/ec2/src/client/describe_instances.rs:7:11184
|
7 | ...te of the instance (for example, shows "User Initiated [date]" when you stop or terminate the instance). Similar to the state-reason-code filter.<...
| ^^^^ no item named `date` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
= note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
time: 0.363; rss: 2150MB -> 2150MB ( +0MB) collect-intra-doc-links
time: 0.946; rss: 2150MB -> 2150MB ( +0MB) propagate-doc-cfg
time: 0.494; rss: 2150MB -> 2152MB ( +2MB) run-lints
time: 0.658; rss: 2152MB -> 2163MB ( +11MB) create_format_cache
time: 34.818; rss: 58MB -> 2163MB (+2105MB) run_global_ctxt
time: 0.016; rss: 2163MB -> 2163MB ( +0MB) create_renderer(json)
time: 0.723; rss: 2780MB -> 2780MB ( +0MB) rustdoc_json_serialization
time: 2.216; rss: 2399MB -> 2599MB ( +199MB) renderer_after_krate(json)
time: 6.639; rss: 2163MB -> 2417MB ( +254MB) render_json
time: 0.312; rss: 2417MB -> 2071MB ( -346MB) free_global_ctxt
warning: `aws-sdk-ec2` (lib doc) generated 1 warning
Finished dev [unoptimized + debuginfo] target(s) in 43.06s
```
[(Zulip Discussion)](https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/JSON.20metadata.20speed/near/352783145)
r? `@GuillaumeGomez`
|
|
Make some region folders a little stricter.
Because certain regions cannot occur in them.
r? ``@compiler-errors``
|
|
diagnostics: add test case for already-solved issue
Fixes #70082
|
|
simplify TrustedLen impls
Implement on FlattenCompat and delegate from Flatten and FlatMap.
/cc ``@the8472``
|
|
pass `unused_extern_crates` in `librustdoc::doctest::make_test`
blocker for https://github.com/rust-lang/rust/pull/106621
|
|
Add new rustdoc book chapter to describe in-doc settings
Fixes #55165.
I continue going through old rustdoc issues. This one made a lot of sense so decided to add the missing chapter.
r? ``@notriddle``
|
|
Suggest deref on comparison binop RHS even if type is not Copy
Fixes #110500
|
|
Spelling library
Split per https://github.com/rust-lang/rust/pull/110392
I can squash once people are happy w/ the changes. It's really uncommon for large sets of changes to be perfectly acceptable w/o at least some changes.
I probably won't have time to respond until tomorrow or the next day
|
|
Change tidy error message for TODOs
Blocked on #109440 (first few commits are from where)
IMO "deprecated" doesn't really explain anything, I've tried to highlight the actual reason we error on TODOs. The message is not at all perfect, maybe someone has ideas how to phrase it better?
|
|
Add lint to deny diagnostics composed of static strings
r? ghost
I'm hoping to have a lint that semi-automatically converts simple diagnostics such as `struct_span_err(span, "msg").help("msg").span_note(span2, "msg").emit()` to typed session diagnostics. It's quite hacky and not entirely working because of problems with `x fix` but should hopefully help reduce some of the work.
I'm going to start trying to apply what I can from this, but opening this as a draft in case anyone wants to develop on it.
cc #100717
|
|
|
|
Signed-off-by: cui fliter <imcusg@gmail.com>
|
|
Lower `intrinsics::offset` to `mir::BinOp::Offset`
They're [semantically the same](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.Rvalue.html#variant.BinaryOp), so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
|
|
|
|
|
|
coverage: Don't underflow column number
I noticed this when running coverage on a debug build of rustc. There
may be other places that do this but I'm just fixing the one I hit.
r? `@wesleywiser` `@richkadel`
|
|
|
|
Rollup of 9 pull requests
Successful merges:
- #108416 (black_box doc corrections for clarification - Issue #107957)
- #109379 (Replace `yes` command by `while-echo` in test `tests/ui/process/process-sigpipe.rs`)
- #110266 (Update documentation wording on path 'try_exists' functions)
- #110329 (Improve tests for #110138)
- #110418 (Spelling rustdoc)
- #110587 (Fix `std` compilation error for wasi+atomics)
- #110594 (`rustc --help` add `--cfg` SPEC declaration.)
- #110792 (Use the standard macOS CI runner)
- #110817 (Add regression tests for const-generic inherent associated types)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Add regression tests for const-generic inherent associated types
Fixes #109759.
The tests are no longer failing since #96840 which was merged recently (#109410 is no longer necessary for them).
`@rustbot` label F-inherent_associated_types
|
|
Use the standard macOS CI runner
This moves back to the standard macOS CI runner instead of the large runners. The infra team is discussing whether the large runners are worth the cost at our heavy usage and whether those credits are better spent elsewhere. This will slow down CI build times unfortunately, but while we figure out our CI spending budget, that's a price we'll unfortunately have to pay.
r? `@pietroalbini`
|
|
`rustc --help` add `--cfg` SPEC declaration.
1. fixes #110462
2. add spec arguments based on https://doc.rust-lang.org/reference/conditional-compilation.html
|
|
Fix `std` compilation error for wasi+atomics
Fix https://github.com/rust-lang/rust/issues/109727
It seems that the `unsupported/once.rs` module isn't meant to exist at the same time as the `futex` module, as they have conflicting definitions.
I've solved this by defining the `once` module only if `not(target_feature = "atomics")`.
The `wasm32-unknown-unknown` target [similarly only defines the `once` module if `not(target_feature = "atomics")`](https://github.com/tomaka/rust/blob/01c4f319276da912dd2be768ae0ce9857ad6bb63/library/std/src/sys/wasm/mod.rs#L69-L70).
As show in [this block of code](https://github.com/tomaka/rust/blob/01c4f319276da912dd2be768ae0ce9857ad6bb63/library/std/src/sys_common/once/mod.rs#L10-L34), the `sys::once` module doesn't need to exist if `all(target_arch = "wasm32", target_feature = "atomics")`.
|
|
Spelling rustdoc
Split per https://github.com/rust-lang/rust/pull/110392#issuecomment-1510148682
|
|
Improve tests for #110138
These should live in rustdoc-json, not rustdoc-ui, so we can run assertions, and not just check there's no ICE
CC #100515, as we never document this suite
r? rustdoc
|
|
Update documentation wording on path 'try_exists' functions
Just eliminate the quadruple negation in `doesn't silently ignore errors unrelated to ... not existing.`
|
|
Replace `yes` command by `while-echo` in test `tests/ui/process/process-sigpipe.rs`
The `yes` command is not available on all platforms.
Fixes #108596.
Inviting `@mvf` as he contributed to this patch. Thanks! This issue has been discussed in https://github.com/rust-lang/rust/pull/106673 but was moved to #108596 to get going.
CC `@gh-tr`
r? `@workingjubilee`
`@rustbot` label +O-neutrino
Notes about the comments https://github.com/rust-lang/rust/pull/106673#discussion_r1117324265:
- The `echo` command is `/proc/boot/echo` (not built-in)
- `/bin/sh` is a symlink to `/proc/boot/ksh`
```sh
# ls -l /bin/sh /proc/boot/ksh /proc/boot/echo
lrwxrwxrwx 1 root root 14 Mar 20 07:52 /bin/sh -> /proc/boot/ksh
-r-xr-xr-x 1 root root 9390 Sep 12 2022 /proc/boot/echo
-r-xr-xr-x 1 root root 308114 Sep 12 2022 /proc/boot/ksh
```
|
|
black_box doc corrections for clarification - Issue #107957
Made a complete pass through the docs to help resolve https://github.com/rust-lang/rust/issues/107957
No code changes, just documentation
`@rustbot` label +T-libs-api -T-libs
|
|
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
|
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
|
* advance
* aligned
* borrowed
* calculate
* debugable
* debuggable
* declarations
* desugaring
* documentation
* enclave
* ignorable
* initialized
* iterator
* kaboom
* monomorphization
* nonexistent
* optimizer
* panicking
* process
* reentrant
* rustonomicon
* the
* uninitialized
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
|
Because the derived versions are good enough.
|
|
|
|
use name[=value] syntax.
Signed-off-by: clundro <859287553@qq.com>
|
|
Revert "Download the GCC sources insecurely"
This reverts commit 3da037f82988b8b3aca2ce13c5c81ba975923cab.
This workaround was added after TLS problems with Debian 6 were noted in <https://github.com/rust-lang/rust/pull/86586#issuecomment-868355356>, but we should be well past that since #95026, where our oldest images are now based on CentOS 7.
|
|
Rewrite MemDecoder around pointers not a slice
This is basically https://github.com/rust-lang/rust/pull/109910 but I'm being a lot more aggressive. The pointer-based structure means that it makes a lot more sense to absorb more complexity into `MemDecoder`, most of the diff is just complexity moving from one place to another.
The primary argument for this structure is that we only incur a single bounds check when doing multi-byte reads from a `MemDecoder`. With the slice-based implementation we need to do those with `data[position..position + len]` , which needs to account for `position + len` wrapping. It would be possible to dodge the first bounds check if we stored a slice that starts at `position`, but that would require updating the pointer and length on every read.
This PR also embeds the failure path in a separate function, which means that this PR should subsume all the perf wins observed in https://github.com/rust-lang/rust/pull/109867.
|
|
They're semantically the same, so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
|
|
Update cargo
17 commits in de80432f04da61d98dcbbc1572598071718ccfd2..9e586fbd8b931494067144623b76c37d213b1ab6
2023-04-21 13:18:32 +0000 to 2023-04-25 22:09:11 +0000
- Update home dependency (rust-lang/cargo#12037)
- Warn instead of error in `cargo package` on empty `readme` or `license-file` in manifest (rust-lang/cargo#12036)
- Clarify documentation around test target setting. (rust-lang/cargo#12032)
- fix: apply `[env]` to target info discovery rustc (rust-lang/cargo#12029)
- CI: ensure intra links for all members are checked (rust-lang/cargo#12025)
- chore: make credential dependencies platform-specific (rust-lang/cargo#12027)
- CI: use `-p` to specify workspace members instead of `--manifest-path` (rust-lang/cargo#12024)
- ci: requires `test_gitoxide` and `lockfile` for both bors success and failure (rust-lang/cargo#12026)
- Update windows-sys (rust-lang/cargo#12021)
- Bump libc to 0.2.142 (rust-lang/cargo#12014)
- Update openssl-src to 111.25.3+1.1.1t (rust-lang/cargo#12005)
- Improve error message for empty dep (rust-lang/cargo#12001)
- Remove wrong url in benchsuite manifest. (rust-lang/cargo#12020)
- Bump versions of local crates (rust-lang/cargo#12019)
- Add the Win32_System_Console feature since it is used (rust-lang/cargo#12016)
- Update outdated crates.io URLs in publishing guide (rust-lang/cargo#12018)
- Allow named debuginfo options in Cargo.toml (rust-lang/cargo#11958)
r? `@ghost`
|
|
Because certain regions cannot occur in them.
|
|
|
|
|
|
Use `?0` notation for ty/ct/int/float/region vars
Aligns the notation for infer vars that T-types and friends most often uses for inference variables with the notation in the compiler (which is kinda a sigil nightmare IMO: `_#`) by adopting `?0` style infer vars.
This mostly affects debug output since verbose infer vars shouldn't show up in user-facing places.
Does this need an MCP? It's debug output, so I'm thinking no, but happy to open one. :thinking:
r? types
|
|
|
|
Fixes #70082
|