about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2023-01-26change fn_sig query to use EarlyBinder; remove bound_fn_sig query; add ↵Kyle Matsuda-53/+53
EarlyBinder to fn_sig in metadata
2023-01-26replace usages of fn_sig query with bound_fn_sigKyle Matsuda-52/+53
2023-01-27Auto merge of #107269 - bjorn3:sync_cg_clif-2023-01-24, r=bjorn3bors-2/+2
Sync rustc_codegen_cranelift For cg_clif itself there have been a couple of bug fixes since the last sync, a Cranelift update and implemented all remaining simd platform intrinsics used by `std::simd`. (`std::arch` still misses a lot though) Most of the diff is from reworking of the cg_clif build system though. r? `@ghost` `@rustbot` label +A-codegen +A-cranelift +T-compiler
2023-01-26Auto merge of #106812 - oli-obk:output_filenames, r=petrochenkovbors-1/+1
make `output_filenames` a real query part of #105462 This may be a perf regression and is not obviously the right way forward. We may store this information in the resolver after freezing it for example.
2023-01-26rustdoc: remove mostly-unused CSS classes import/module-itemMichael Howell-4/+3
2023-01-26rustdoc: use smarter encoding for playground URLMichael Howell-1/+18
The old way would compress okay with DEFLATE, but this version makes uncompressed docs smaller, which matters for memory usage and stuff like `cargo doc`. Try it out: <https://play.rust-lang.org/?code=fn+main()+{%0Alet+mut+v+=+Vec::new();%0Av.push(1+/+1);%0Aprintln!(%22{}%22,+v[0]);%0A}> In local testing, this change shrinks sample pages by anywhere between 4.0% and 0.031% $ du -b after.dir/std/vec/struct.Vec.html before.dir/std/vec/struct.Vec.html 759235 after.dir/std/vec/struct.Vec.html 781842 before.dir/std/vec/struct.Vec.html 100*((759235-781842)/781842)=-2.8 $ du -b after.dir/std/num/struct.Wrapping.html before.dir/std/num/struct.Wrapping.html 3194173 after.dir/std/num/struct.Wrapping.html 3204351 before.dir/std/num/struct.Wrapping.html 100*((3194173-3204351)/3204351)=-0.031 $ du -b after.dir/std/keyword.match.html before.dir/std/keyword.match.html 8151 after.dir/std/keyword.match.html 8495 before.dir/std/keyword.match.html 100*((8151-8495)/8495)=-4.0 Gzipped tarball sizes seem shrunk, but not by much. du -s before.tar.gz after.tar.gz 69600 before.tar.gz 69480 after.tar.gz 100*((69480-69600)/69600)=-0.17
2023-01-27Fix woriding from `rustbuild` to `bootstrap`chansuke-1/+1
2023-01-26also document hidden itemsPietro Albini-1/+1
2023-01-26rustdoc: Stop using `HirId`sVadim Petrochenkov-151/+113
Use `LocalDefId`s instead
2023-01-26Auto merge of #106745 - m-ou-se:format-args-ast, r=oli-obkbors-26/+41
Move format_args!() into AST (and expand it during AST lowering) Implements https://github.com/rust-lang/compiler-team/issues/541 This moves FormatArgs from rustc_builtin_macros to rustc_ast_lowering. For now, the end result is the same. But this allows for future changes to do smarter things with format_args!(). It also allows Clippy to directly access the ast::FormatArgs, making things a lot easier. This change turns the format args types into lang items. The builtin macro used to refer to them by their path. After this change, the path is no longer relevant, making it easier to make changes in `core`. This updates clippy to use the new language items, but this doesn't yet make clippy use the ast::FormatArgs structure that's now available. That should be done after this is merged.
2023-01-26Add `rust.lto=off` to bootstrapclubby789-1/+17
2023-01-26Rollup merge of #107086 - clubby789:bootstrap-lock-pid-linux, r=albertlarsan68Matthias Krüger-2/+34
Print PID holding bootstrap build lock on Linux Partially address #107077 Parse `/proc/locks` to find the PID of the process which created the build directory lock
2023-01-25Rollup merge of #107266 - kadiwa4:source_viewer_scrollbar, r=notriddleMatthias Krüger-1/+1
rustdoc: prohibit scroll bar on source viewer in Safari Fixes #106455.
2023-01-25Rollup merge of #107244 - notriddle:notriddle/primitive-reference-link, ↵Matthias Krüger-8/+2
r=GuillaumeGomez rustdoc: rearrange HTML in primitive reference links This patch avoids hard-to-click single character links by making the generic part of the link: Before: <a href="#">&</a>T After: <a href="#">&T</a>
2023-01-25Rollup merge of #107239 - tmiasko:tests, r=Mark-SimulacrumMatthias Krüger-1/+1
Bring tests back into rustc source tarball They were missing after recent move from src/test to tests. cc ```@albertlarsan68``` Fixes #107081
2023-01-25rustdoc: Don't put non rustdoc-reachable impls into `all_trait_impls`Vadim Petrochenkov-3/+1
2023-01-25rustdoc: Use rustdoc-reachable set to prune extern implsVadim Petrochenkov-5/+9
2023-01-25rustdoc: Collect rustdoc-reachable items during early doc link resolutionVadim Petrochenkov-6/+77
2023-01-25add scfix testRalf Jung-0/+35
2023-01-25Auto merge of #103902 - vincenzopalazzo:macros/obligation_rulesv2, r=oli-obkbors-3/+4
use `LocalDefId` instead of `HirId` in trait resolution to simplify the obligation clause resolution This commit introduces a refactoring suggested by `@lcnr` to simplify the obligation clause resolution. This is just the first PR that introduces a type of refactoring, but others PRs will follow this to introduce name changing to change from the variable name from `body_id` to something else. Fixes https://github.com/rust-lang/rust/issues/104827 Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com> `@rustbot` r? `@lcnr`
2023-01-25Bump stage0.json to 1.68 betaMark Rousskov-344/+344
2023-01-25Cleanup extra check configs in bootstrapUrgau-14/+8
- `target_os=watchos`: no longer relevant because there are now proper targets `*-apple-watchos` - `target_arch=nvptx64`: `nvptx64-nvidia-cuda` - `target_arch=le32`: target was removed (https://github.com/rust-lang/rust/pull/45041) - `release`: was removed from rustfmt (https://github.com/rust-lang/rustfmt/pull/5375 and https://github.com/rust-lang/rustfmt/pull/5449) - `dont_compile_me`: was removed from stdarch (https://github.com/rust-lang/stdarch/pull/1308) Also made some external cfg exception mode clear and only activated for rustc and rustc tools (as to not have the Standard Library unintentionally depend on them).
2023-01-25Auto merge of #107290 - Dylan-DPC:rollup-tovojhr, r=Dylan-DPCbors-46/+33
Rollup of 9 pull requests Successful merges: - #105552 (Add help message about function pointers) - #106583 (Suggest coercion of `Result` using `?`) - #106767 (Allow setting CFG_DISABLE_UNSTABLE_FEATURES to 0) - #106823 (Allow fmt::Arguments::as_str() to return more Some(_).) - #107166 (rustc_metadata: Support non-`Option` nullable values in metadata tables) - #107213 (Add suggestion to remove if in let..else block) - #107223 (`sub_ptr()` is equivalent to `usize::try_from().unwrap_unchecked()`, not `usize::from().unwrap_unchecked()`) - #107227 (`new_outside_solver` -> `evaluate_root_goal`) - #107232 (rustdoc: simplify settings popover DOM, CSS, JS) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-01-25Rollup merge of #107232 - notriddle:notriddle/settings-choice, r=GuillaumeGomezDylan DPC-46/+33
rustdoc: simplify settings popover DOM, CSS, JS * Change the class names so that they all start with `setting-`. That should make it harder to accidentally use a setting class outside the settings popover, where loading the CSS might accidentally change the styles of something unrelated. * Get rid of an unnecessary wrapper DIV around the radio button line. * Simplify CSS selectors by making the DOM easier and more intuitive to target. * Remove dead settings JS for obsolete select-wrapper
2023-01-25Auto merge of #107277 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 11 commits in 985d561f0bb9b76ec043a2b12511790ec7a2b954..3c5af6bed9a1a243a693e8e22ee2486bd5b82a6c 2023-01-20 14:39:28 +0000 to 2023-01-24 15:48:15 +0000 - Add a note about verifying your email address on crates.io (rust-lang/cargo#11620) - Improve CI caching by skipping mtime checks for paths in $CARGO_HOME (rust-lang/cargo#11613) - test: Update for clap 4.1.3 (rust-lang/cargo#11619) - Fix unused attribute on Windows. (rust-lang/cargo#11614) - [Doc]: Added links to the `Target` section of the glossary for occurences of `target triple` (rust-lang/cargo#11603) - feat: stabilize auto fix note (rust-lang/cargo#11558) - Clarify the difference between CARGO_CRATE_NAME and CARGO_PKG_NAME (rust-lang/cargo#11576) - Temporarily pin libgit2-sys. (rust-lang/cargo#11609) - Disable network SSH tests on windows. (rust-lang/cargo#11610) - fix(toml): Add `default-features` to `TomlWorkspaceDependency` (rust-lang/cargo#11409) - doc(contrib): remove rls in release process (rust-lang/cargo#11601) r? `@ghost`
2023-01-24Port pgo.sh to PythonJakub Beránek-2/+665
2023-01-24Update cargoWeihang Lo-0/+0
11 commits in 985d561f0bb9b76ec043a2b12511790ec7a2b954..3c5af6bed9a1a243a693e8e22ee2486bd5b82a6c 2023-01-20 14:39:28 +0000 to 2023-01-24 15:48:15 +0000 - Add a note about verifying your email address on crates.io (rust-lang/cargo#11620) - Improve CI caching by skipping mtime checks for paths in $CARGO_HOME (rust-lang/cargo#11613) - test: Update for clap 4.1.3 (rust-lang/cargo#11619) - Fix unused attribute on Windows. (rust-lang/cargo#11614) - [Doc]: Added links to the `Target` section of the glossary for occurences of `target triple` (rust-lang/cargo#11603) - feat: stabilize auto fix note (rust-lang/cargo#11558) - Clarify the difference between CARGO_CRATE_NAME and CARGO_PKG_NAME (rust-lang/cargo#11576) - Temporarily pin libgit2-sys. (rust-lang/cargo#11609) - Disable network SSH tests on windows. (rust-lang/cargo#11610) - fix(toml): Add `default-features` to `TomlWorkspaceDependency` (rust-lang/cargo#11409) - doc(contrib): remove rls in release process (rust-lang/cargo#11601)
2023-01-24Merge commit '1d8491b120223272b13451fc81265aa64f7f4d5b' into sync-from-rustfmtCaleb Cartwright-187/+2591
2023-01-24Update tidy for cranelift-egraph removal and new windows-sys targetsbjorn3-2/+2
2023-01-24fix: version gate changes for multiline single generic boundCaleb Cartwright-11/+12
2023-01-24add option to include private items in library docsPietro Albini-0/+6
2023-01-24rustdoc: prevent scroll bar on source viewerKaDiWa-1/+1
2023-01-23Merge remote-tracking branch 'upstream/master' into subtree-sync-2023-01-24Caleb Cartwright-129/+613
2023-01-23rustdoc: rearrange HTML in primitive reference linksMichael Howell-8/+2
This patch avoids hard-to-click single character links by making the generic part of the link: Before: <a href="#">&</a>T After: <a href="#">&T</a>
2023-01-24Move const-eval/stable-metric ui testsBryan Garza-185/+0
2023-01-23Update Clippy for ConstEvalCounterBryan Garza-0/+1
2023-01-23Replace terminator-based const eval limitBryan Garza-36/+122
- Remove logic that limits const eval based on terminators, and use the stable metric instead (back edges + fn calls) - Add unstable flag `tiny-const-eval-limit` to add UI tests that do not have to go up to the regular 2M step limit
2023-01-23Clean up CtfeLimit MirPassBryan Garza-0/+37
2023-01-23Create stable metric to measure long computation in Const EvalBryan Garza-0/+68
This patch adds a `MirPass` that tracks the number of back-edges and function calls in the CFG, adds a new MIR instruction to increment a counter every time they are encountered during Const Eval, and emit a warning if a configured limit is breached.
2023-01-23Print PID holding bootstrap build lock on Linuxclubby789-2/+34
2023-01-23rustdoc: remove dead settings JS for obsolete select-wrapperMichael Howell-11/+0
2023-01-23rustdoc: simplify settings popover DOMMichael Howell-35/+33
* Changes the class names so that they all start with `setting-`. That should make it harder to accidentally use a setting class outside the settings popover, where loading the CSS might accidentally change the styles of something unrelated. * Get rid of an unnecessary wrapper DIV around the radio button line. * Simplify CSS selectors by making the DOM easier and more intuitive to target.
2023-01-23rustdoc: make item links consistently use `title="{shortty} {path}"`Michael Howell-1/+1
The ordering in item tables was flipped in 3030cbea957adbd560bf2eaa34c1b8a56daee16a, making it inconsistent with the ordering in method signatures. Compare these: https://github.com/rust-lang/rust/blob/c8e6a9e8b6251bbc8276cb78cabe1998deecbed7/src/librustdoc/html/render/print_item.rs#L455-L459 https://github.com/rust-lang/rust/blob/c8e6a9e8b6251bbc8276cb78cabe1998deecbed7/src/librustdoc/html/format.rs#L903-L908
2023-01-23Bring tests back into rustc source tarballTomasz Miąsko-1/+1
They were missing after recent move from src/test to tests.
2023-01-23fix: correct span for structs with const genericsCaleb Cartwright-1/+1
2023-01-23Auto merge of #107220 - JohnTitor:rollup-5pvuz0z, r=JohnTitorbors-7/+23
Rollup of 7 pull requests Successful merges: - #106796 (BPF: Disable atomic CAS) - #106886 (Make stage2 rustdoc and proc-macro-srv disableable in x.py install) - #107101 (Filter param-env predicates for errors before calling `to_opt_poly_trait_pred`) - #107109 (ThinBox: Add intra-doc-links for Metadata) - #107148 (remove error code from `E0789`, add UI test/docs) - #107151 (Instantiate dominators algorithm only once) - #107153 (Consistently use dominates instead of is_dominated_by) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-01-23fix: use LocalDefId instead of HirId in trait resVincenzo Palazzo-3/+4
use LocalDefId instead of HirId in trait resolution to simplify the obligation clause resolution Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2023-01-23Store the gctxt instead of fetching it twice.Oli Scherer-1/+1
2023-01-23Rollup merge of #107148 - Ezrashaw:uncode-e0789, ↵Yuki Okushi-1/+1
r=compiler-errors,GuillaumeGomez remove error code from `E0789`, add UI test/docs `E0789` shouldn't have an error code, it's explicitly internal-only and is tiny in scope. (I wonder if we can tighten the standard for this in the RFC?) I also added a UI test and error docs (done like `E0208`, they are "no longer emitted"). r? `@GuillaumeGomez` (shouldn't need a compiler review, it's pretty minor)
2023-01-23Rollup merge of #106886 - dtolnay:fastinstall, r=Mark-SimulacrumYuki Okushi-6/+22
Make stage2 rustdoc and proc-macro-srv disableable in x.py install Rustdoc will build if `[build] tools = ["rustdoc"]` is set, and rust-analyzer-proc-macro-srv will build if `[build] tools = ["rust-analyzer"]` is set. On my machine skipping these tools speeds up `x.py install` from 7m15s to 6m08s (0m43s for rustdoc and 0m24s for rust-analyzer-proc-macro-srv). This is a significant speedup, since I never use rust-analyzer-proc-macro-srv, and I practically never need to use a custom build of rustdoc.