profile
viewpoint
jyn jyn514 Austin, TX https://jyn.dev/ Maintainer of docs.rs. Bootstrap enthusiast. Objecting to features.

brendanzab/codespan 904

Beautiful diagnostic reporting for text-based programming languages.

holmgr/cargo-sweep 494

A cargo subcommand for cleaning up unused build files generated by Cargo

CyberSecurityUSC/PCDC-and-SECCDC 7

Resources for PCDC and SECCDC competitions

justinba1010/USCCodeathon-F19-Upper 4

ACM Fall 2019 240/350 Codeathon Problems

jyn514/base56 3

human-readable binary encoding

JamesPC44/USC_LowerDivision_Fall2018 2

Repository for Fall 2018 problems and solutions for 145/146 problems

issue commentrust-lang/rust

Track which tests are run in CI

@pietroalbini mentions that since https://github.com/rust-lang/rust/pull/111936 we track individual test names in build-metrics, which should make this a lot easier :)

jyn514

comment created time in 11 hours

issue commentrust-lang/rust

ICE: "no entry found for key" while building stage0 tools

someone on discord ran into a similar bug today:

error: internal compiler error: compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs:595:32: uninterned StableCrateId: StableCrateId(11571398144161577719)

   7: <rustc_metadata::creader::CStore as rustc_session::cstore::CrateStore>::stable_crate_id_to_crate_num
   8: <rustc_span::span_encoding::Span as rustc_serialize::serialize::Decodable<rustc_middle::query::on_disk_cache::CacheDecoder>>::decode
   9: <rustc_middle::ty::generics::GenericPredicates as rustc_serialize::serialize::Decodable<rustc_middle::query::on_disk_cache::CacheDecoder>>::decode
  10: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 24]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
  11: <rustc_trait_selection::traits::wf::WfPredicates>::compute
  12: rustc_trait_selection::traits::wf::obligations
  13: rustc_trait_selection::traits::query::type_op::implied_outlives_bounds::compute_implied_outlives_bounds_inner
  14: <rustc_infer::infer::InferCtxtBuilder as rustc_trait_selection::infer::InferCtxtBuilderExt>::enter_canonical_trait_query::<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, alloc::vec::Vec<rustc_middle::traits::query::OutlivesBound>, rustc_traits::implied_outlives_bounds::implied_outlives_bounds::{closure#0}>
  15: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::outlives_bounds::InferCtxtExt>::implied_outlives_bounds
  16: <rustc_infer::infer::outlives::env::OutlivesEnvironment>::with_bounds::<core::iter::adapters::flatten::FlatMap<indexmap::set::IntoIter<rustc_middle::ty::Ty>, alloc::vec::Vec<rustc_middle::traits::query::OutlivesBound>, <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::outlives_bounds::InferCtxtExt>::implied_bounds_tys::{closure#0}>>
  17: rustc_trait_selection::traits::misc::all_fields_implement_trait
  18: rustc_hir_analysis::coherence::coherent_trait
  19: <rustc_session::session::Session>::track_errors::<rustc_hir_analysis::check_crate::{closure#3}, ()>
  20: rustc_hir_analysis::check_crate

note: rustc 1.71.0-beta.1 (eff24c06d 2023-05-29) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no -C debuginfo=0 -Z unstable-options -C incremental=[REDACTED] -C symbol-mangling-version=v0 -Z unstable-options -Z macro-backtrace -C link-args=-Wl,-z,origin -C link-args=-Wl,-rpath,$ORIGIN/../lib -C split-debuginfo=off -C llvm-args=-import-instr-limit=10 -Z unstable-options -Z binary-dep-depinfo -Z tls-model=initial-exec

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
thread panicked while processing panic. aborting.
rustc exited with signal: 6 (SIGABRT) (core dumped)
error: could not compile `rustdoc` (lib)
yoshuawuyts

comment created time in 12 hours

Pull request review commentrust-lang/rust

Test the cargo args generated by bootstrap.py

 def unpack_component(download_info):         verbose=download_info.verbose,     ) -class RustBuild(object):-    """Provide all the methods required to build Rust"""-    def __init__(self):-        self.checksums_sha256 = {}-        self.stage0_compiler = None-        self.download_url = ''+class FakeArgs:+    """Used for unit tests to avoid updating all call sites"""+    def __init__(self) -> None:

whoops, my editor generated this. will fix it

jyn514

comment created time in 13 hours

PullRequestReviewEvent

pull request commentrust-lang/rust

Greatly decrease the size of `rustc_driver.so` when debuginfo is enabled

:/

--- stderr -------------------------------
thread 'main' panicked at 'client.read_exact(&mut header) failed with Connection reset by peer (os error 104)', src/tools/remote-test-client/src/main.rs:310:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
------------------------------------------



failures:
    [ui] tests/ui/associated-consts/associated-const-use-default.rs

@bors retry

jyn514

comment created time in 21 hours

push eventjyn514/rust

jyn

commit sha 8334dd17b37c5259c3eb31385647afc1291287d9

don't try to cross-compile sanitizer tests this was a pre-existing latent bug, we just didn't have any CI builders exercising it. fixes the following errors: ``` ---- [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt1 stdout ---- error in revision `opt1`: test compilation failed although it shouldn't! status: exit status: 1 command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=i686-unknown-linux-gnu" "--cfg" "opt1" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--remap-path-prefix=/checkout/tests/ui=fake-test-src-base" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/sanitize/new-llvm-pass-manager-thin-lto.opt1/a" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/i686-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=x86_64-linux-gnu-gcc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/sanitize/new-llvm-pass-manager-thin-lto.opt1/auxiliary" "-Zsanitizer=address" "-Clto=thin" "-Copt-level=1" --- stderr ------------------------------- error: linking with `x86_64-linux-gnu-gcc` failed: exit status: 1 = note: x86_64-linux-gnu-gcc: error: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/i686-unknown-linux-gnu/lib/librustc-nightly_rt.asan.a: No such file or directory failures: [ui] tests/ui/sanitize/badfree.rs [ui] tests/ui/sanitize/address.rs [ui] tests/ui/sanitize/use-after-scope.rs [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt0 [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt1 ```

view details

push time in a day

push eventjyn514/rust

jyn

commit sha 63cb54d6c5a67b4bcfb2408b8fff09cbb101a94f

don't try to cross-compile sanitizer tests this was a pre-existing latent bug, we just didn't have any CI builders exercising it. fixes the following errors: ``` ---- [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt1 stdout ---- error in revision `opt1`: test compilation failed although it shouldn't! status: exit status: 1 command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=i686-unknown-linux-gnu" "--cfg" "opt1" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--remap-path-prefix=/checkout/tests/ui=fake-test-src-base" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/sanitize/new-llvm-pass-manager-thin-lto.opt1/a" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/i686-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=x86_64-linux-gnu-gcc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/sanitize/new-llvm-pass-manager-thin-lto.opt1/auxiliary" "-Zsanitizer=address" "-Clto=thin" "-Copt-level=1" --- stderr ------------------------------- error: linking with `x86_64-linux-gnu-gcc` failed: exit status: 1 = note: x86_64-linux-gnu-gcc: error: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/i686-unknown-linux-gnu/lib/librustc-nightly_rt.asan.a: No such file or directory failures: [ui] tests/ui/sanitize/badfree.rs [ui] tests/ui/sanitize/address.rs [ui] tests/ui/sanitize/use-after-scope.rs [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt0 [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt1 ```

view details

push time in a day

push eventjyn514/rust

jyn

commit sha 0b8f98a79a97a7e9dab4c7a666e90e304a9e94da

don't try to cross-compile sanitizer tests this was a pre-existing latent bug, we just didn't have any CI builders exercising it. fixes the following errors: ``` ---- [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt1 stdout ---- error in revision `opt1`: test compilation failed although it shouldn't! status: exit status: 1 command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=i686-unknown-linux-gnu" "--cfg" "opt1" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--remap-path-prefix=/checkout/tests/ui=fake-test-src-base" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/sanitize/new-llvm-pass-manager-thin-lto.opt1/a" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/i686-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=x86_64-linux-gnu-gcc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/sanitize/new-llvm-pass-manager-thin-lto.opt1/auxiliary" "-Zsanitizer=address" "-Clto=thin" "-Copt-level=1" --- stderr ------------------------------- error: linking with `x86_64-linux-gnu-gcc` failed: exit status: 1 = note: x86_64-linux-gnu-gcc: error: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/i686-unknown-linux-gnu/lib/librustc-nightly_rt.asan.a: No such file or directory failures: [ui] tests/ui/sanitize/badfree.rs [ui] tests/ui/sanitize/address.rs [ui] tests/ui/sanitize/use-after-scope.rs [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt0 [ui] tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt1 ```

view details

push time in a day

push eventjyn514/rust

jyn

commit sha c73c5dd35fa8171ba1634bf9111073706ccf993a

cleanup now that Kind is no longer used for excludes

view details

push time in a day

push eventjyn514/rust

jyn

commit sha 76ab44f0424332de8a3153ba7677a1bc27b04ce2

Test `x86_64-gnu` in PR CI, not x86_64-gnu-llvm-14 This is a pre-requisite for https://github.com/rust-lang/rust/pull/112143, which wants to start using download-rustc in PRs. download-rustc doesn't allow providing an external LLVM.

view details

jyn

commit sha d3a7cab8996c59660d1a7cedb58bc4da981a596c

Use `download-rustc = "if-unchanged"` in PR CI This has two main benefits: 1. It tests that download-rustc doesn't regress. This doesn't reduce our test coverage, since we still never use `download-rustc` in a full bors merge, but it should make it a lot less likely that this breaks by accident. 2. It greatly speeds up CI when compiler/ and library/ haven't been modified. Once the changes in https://github.com/rust-lang/compiler-team/issues/619 land, this will also be faster for changes to library/, and only changes to compiler/ will have to rebuild.

view details

jyn

commit sha 6bc3d784e7d4ab88ed4b2093a8812790baa7c5aa

don't enable llvm assertions when download-rustc is enabled

view details

jyn

commit sha aaf213282d9d30a6b4628741cdbc2d7b78cd6c32

Make `--dry-run` more useful when download-rustc is enabled Previously, it would always treat download-rustc as set to false, which made bootstrap issues with download-rustc hard to debug.

view details

jyn

commit sha 5dee431d87783cc9fff2e80613959594c20e3336

check ci-rustc options

view details

jyn

commit sha 91f2664b21f1f6fc74123e8e6cb007c574d7be0e

fix `x test --stage 0 core`

view details

push time in a day

push eventjyn514/rust

jyn

commit sha 76ab44f0424332de8a3153ba7677a1bc27b04ce2

Test `x86_64-gnu` in PR CI, not x86_64-gnu-llvm-14 This is a pre-requisite for https://github.com/rust-lang/rust/pull/112143, which wants to start using download-rustc in PRs. download-rustc doesn't allow providing an external LLVM.

view details

push time in a day

PR opened rust-lang/rust

Don't double-print status messages in GHA

Before:

Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
  Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
   Downloading crates ...

After:

Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
   Downloading crates ...

r? @oli-obk

+2 -1

0 comment

2 changed files

pr created time in a day

create barnchjyn514/rust

branch : gha-progress

created branch time in a day

push eventjyn514/rust

jyn

commit sha 3b136d42f173f7412f3004239dd7f8a01def3c2b

Test `x86_64-gnu` in PR CI, not x86_64-gnu-llvm-14 This is a pre-requisite for https://github.com/rust-lang/rust/pull/112143, which wants to start using download-rustc in PRs. download-rustc doesn't allow providing an external LLVM.

view details

push time in a day

PR opened rust-lang/rust

bootstrap: Disallow `--exclude test::std`

Use the top-level Kind to determine whether Steps are excluded.

Previously, this would use the Kind passed to --exclude (and not do any filtering at all if no kind was passed). That meant that x test linkchecker --exclude std would fail - you had to explicitly say --exclude test::std.

Change bootstrap to use the top-level Kind instead, which does the right thing automatically. Note that this breaks things like x test --exclude doc::std, but I'm not sure why you'd ever want to do that.

There's a lot of churn here, but the 1-line change in the first commit is the actual behavior change, the rest is just cleanup.

cc @pietroalbini

+13 -40

0 comment

4 changed files

pr created time in a day

create barnchjyn514/rust

branch : remove-exclude-kind

created branch time in a day

PullRequestReviewEvent

Pull request review commentrust-lang/rust-forge

Mention that people on some teams automatically have access

 We might ask you to create an issue in the [rust-lang/simpleinfra] repository. [rust-lang/rust]: https://github.com/rust-lang/rust [rust-lang/simpleinfra]: https://github.com/rust-lang/simpleinfra [visual studio code]: https://code.visualstudio.com/+[certain teams]: https://github.com/search?q=repo%3Arust-lang%2Fteam+path%3Ateams%2F*.toml+dev-desktop&type=code&ref=advsearch

nice!

Manishearth

comment created time in a day

PullRequestReviewEvent

push eventjyn514/rust

Dante Broggi

commit sha 7fb34c99e32c01082110dc7281049e26622f924d

add `#[doc(alias="flatmap")]` to `Option::and_then` I keep forgetting that rust calls this `and_then` and trying to search for `flatmap`. `and_then`'s docs even mention "Some languages call this operation flatmap", but it doesn't show up as a result in the search at `https://doc.rust-lang.org/std/?search=flatmap`

view details

Kai Luo

commit sha 91471c8da1594935389e360d1548a3cf511768f2

Rpath is not supported on AIX

view details

Matt Palmer

commit sha 3e71f4dd2306cc8b5f04f55f8e587bc020303573

Extra context for unreachable_pub lint (fixes #110922) While experienced Rustaceans no doubt know this sort of thing already, as more of a newbie I had trouble understanding why I was triggering the lint. Hopefully this expanded explanation saves someone else some head-scratching.

view details

Michael Goulet

commit sha c5604cd0b58f1f2c527ae76dac75a94c7dd23824

Don't use can_eq in derive suggestion for missing method

view details

Centri3

commit sha 8c191add8788cb13ac988021617f673709babb16

the implementation!!

view details

Centri3

commit sha c5a914b181d4f4c06354f7afd4b66f346a92f8a8

check msrv

view details

Catherine

commit sha f6a0437e74494b3f887286540333abfc691055b4

Update clippy_lints/src/casts/ptr_cast_constness.rs Co-authored-by: llogiq <bogusandre@gmail.com>

view details

Centri3

commit sha 4ff1cd365df96c4d0aef5b899ac248ff11799c36

add description and rename msrv tests

view details

y21

commit sha 6d2ba95d0099f1a656da44c7f868be0074e5b5e1

suggest `Option::as_deref(_mut)`

view details

Centri3

commit sha 97467e4aa39d20273014195bb7362d6bace047ea

change `clippy::version` to 1.71.0

view details

est31

commit sha 83a4b0987f54afbfaad8fed61882231a6632bc71

Fix formatting of if let chain

view details

est31

commit sha ef38662d044714f55c87a12571bd30da51c199aa

Some improvements to the manual_let_else lint suggestions * Replace variables inside | patterns in the if let: let v = if let V::A(v) | V::B(v) = v { v } else ... * Support nested patterns: let v = if let Ok(Ok(Ok(v))) = v { v } else ... * Support tuple structs with more than one arg: let v = V::W(v, _) = v { v } else ... * Correctly handle .. in tuple struct patterns: let v = V::X(v, ..) = v { v } else ...

view details

Colin Walters

commit sha 440912b74f5ac063d8993741120a519bed3882f2

Option::map_or_else: Show an example of integrating with Result Moving this from https://github.com/rust-lang/libs-team/issues/59 where an API addition was rejected. But I think it's valuable to add this example to the documentation at least.

view details

Philipp Krones

commit sha b76b0aeb63948fecca6d6f603f47c6648059048a

Merge commit '435a8ad86c7a33bd7ffb91c59039943408d3b6aa' into clippyup

view details

jyn

commit sha cfe8e8561c2cc31ff51a298bc1dfd0636eaffa13

Make `x test --dry-run` less verbose Previously, this would print a message for each doctest, which was quite verbose: ``` doc tests for: /home/jyn/src/rust/src/doc/rustc/src/exploit-mitigations.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/instrument-coverage.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/json.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/linker-plugin-lto.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/lints/groups.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/lints/index.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/lints/levels.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/aarch64-apple-ios-sim.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/aarch64-nintendo-switch-freestanding.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/apple-watchos.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armeb-unknown-linux-gnueabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv4t-none-eabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv5te-none-eabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv6k-nintendo-3ds.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv7-sony-vita-newlibeabihf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/esp-idf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/fuchsia.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/kmc-solid.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/loongarch-linux.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/m68k-unknown-linux-gnu.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/mipsel-sony-psx.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/nto-qnx.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/openbsd.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/openharmony.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/riscv32imac-unknown-xous-elf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/unknown-uefi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/wasm64-unknown-unknown.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/x86_64-fortanix-unknown-sgx.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/x86_64-unknown-none.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/profile-guided-optimization.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/target-tier-policy.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/targets/custom.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/targets/index.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/tests/index.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/what-is-rustc.md ```

view details

Urgau

commit sha 9b97ae98f83c425ce62fba4a8d6ffe353d530d9d

Rename `drop_copy` lint to `dropping_copy_types`

view details

Urgau

commit sha 234f2b67cb7435734c697517eac2afa154b35b0e

Rename `forget_copy` lint to `forgetting_copy_types`

view details

Urgau

commit sha fdbfe0e249b5d1eb4b4fb508e88bedd505ce0817

Rename `drop_ref` lint to `dropping_references`

view details

Urgau

commit sha 915ff71b7c1448e822889d15ecd6b25c26ac2ed4

Rename `forget_ref` lint to `forgetting_references`

view details

y21

commit sha 191a901a8d29d292aa20b1161e703f76a4690595

consider array initializer for `large_stack_arrays`

view details

push time in a day

create barnchjyn514/rust

branch : no-llvm-14-prs

created branch time in a day

PR opened rust-lang/rust

Test `x86_64-gnu` in PR CI, not x86_64-gnu-llvm-14

This is a pre-requisite for https://github.com/rust-lang/rust/pull/112143, which wants to start using download-rustc in PRs. download-rustc doesn't allow providing an external LLVM.

r? @ghost

+20 -20

0 comment

4 changed files

pr created time in a day

pull request commentrust-lang/rust

Greatly decrease the size of `rustc_driver.so` when debuginfo is enabled

@bors r=Mark-Simulacrum rollup=iffy

jyn514

comment created time in a day

push eventjyn514/rust

jyn

commit sha 5eeeed1aa1d84145250d1b0f9561bee4d4e7cda7

Greatly decrease the size of `rustc_driver.so` when debuginfo is enabled - Only add -gz if it's supported - Don't include extra unnecessary debuginfo when only debuginfo-level=1 is set - Compress debuginfo sections to reduce the size of debuginfo on disk. before: 650 MB line tables only: 335 MB compressed only: 216 MB compressed and line tables: 186 MB no debuginfo at all: 130 MB I want to investigate why `-C line-tables-only` is still ~tripling the size of the binary, but this seems like a good improvement in the meantime. I've tested that both valgrind and perf can read the debuginfo: ``` (bash@dev-desktop-us-1.infra.rust-lang.org) ~/rust [08:31:08] ; valgrind $(rustup which rustc --toolchain rust_stage2) --version ==441671== Memcheck, a memory error detector ==441671== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==441671== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info ==441671== Command: /home/gh-jyn514/.local/lib/rustup/toolchains/rust_stage2/bin/rustc --version ==441671== rustc 1.70.0-dev ==441671== ==441671== HEAP SUMMARY: ==441671== in use at exit: 231,289 bytes in 1,874 blocks ==441671== total heap usage: 2,538 allocs, 664 frees, 486,368 bytes allocated ==441671== ==441671== LEAK SUMMARY: ==441671== definitely lost: 70,656 bytes in 1 blocks ==441671== indirectly lost: 0 bytes in 0 blocks ==441671== possibly lost: 0 bytes in 0 blocks ==441671== still reachable: 160,633 bytes in 1,873 blocks ==441671== suppressed: 0 bytes in 0 blocks ==441671== Rerun with --leak-check=full to see details of leaked memory ==441671== ==441671== For lists of detected and suppressed errors, rerun with: -s ==441671== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ; perf record $(rustup which rustc --toolchain rust_stage2) --version rustc 1.70.0-dev [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.005 MB perf.data (70 samples) ] ; perf report Samples: 70 of event 'cycles:u', Event count (approx.): 21356967 Overhead Command Shared Object Symbol 51.55% rustc ld-linux-aarch64.so.1 [.] _dl_lookup_symbol_x 18.70% rustc ld-linux-aarch64.so.1 [.] _dl_relocate_object 11.95% rustc ld-linux-aarch64.so.1 [.] do_lookup_x 5.55% rustc [unknown] [k] 0xffffa9ad41cfcfdc 2.68% rustc libc.so.6 [.] __GI___strlen_asimd 2.42% rustc librustc_driver-1a385c366c35e81a.so [.] llvm::StringMapImpl::LookupBucketFor 2.16% rustc librustc_driver-1a385c366c35e81a.so [.] _GLOBAL__sub_I_X86InstructionSelector.cpp 1.96% rustc libstd-990fe978dab76ef3.so [.] <alloc::vec::Vec<T,A> as core::clone::Clone>::clone 1.60% rustc librustc_driver-1a385c366c35e81a.so [.] llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::~opt 1.22% rustc ld-linux-aarch64.so.1 [.] strcmp 0.13% rustc ld-linux-aarch64.so.1 [.] stat64 0.05% rustc ld-linux-aarch64.so.1 [.] __minimal_calloc 0.02% rustc ld-linux-aarch64.so.1 [.] __GI___tunables_init 0.02% rustc ld-linux-aarch64.so.1 [.] _dl_start 0.00% rustc [unknown] [k] 0xffffa9ad41cfd844 0.00% rustc ld-linux-aarch64.so.1 [.] _start ```

view details

push time in a day

issue commentrust-lang/rust

`x check` checks rust-analyzer by default

@Nilstrieb points out that Cargo also isn't checked by default, so for consistency it would be nice for RustAnazlyer not to be either: https://github.com/rust-lang/rust/blob/dc25fbe9844f4c8bddc316685d270a49d7b159b9/src/bootstrap/check.rs#L350

Nilstrieb

comment created time in a day

issue commentrust-lang/rust

`x check` checks rust-analyzer by default

mentoring instructions: switch the order of these two lines: https://github.com/rust-lang/rust/blob/dc25fbe9844f4c8bddc316685d270a49d7b159b9/src/bootstrap/builder.rs#L706-L707

Nilstrieb

comment created time in a day

pull request commentrust-lang/rust

Greatly decrease the size of `rustc_driver.so` when debuginfo is enabled

= note: C:/a/rust/rust/mingw32/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: unrecognized option '--compress-debug-sections=zlib'

i think this is a bug in gcc actually? its detection is wrong for mingw :(

i can either switch bootstrap from using cc::flag_if_supported or special-case mingw. let me try that first thing to start.

jyn514

comment created time in a day

push eventjyn514/rust

jyn

commit sha f51995ed736981cfe0a6b390cdeb6c7e9e3fdb82

Test color/verbose/warnings properly These weren't being passed in to bootstrap consistently before; in particular `serialize_and_parse` forgot to pass them in.

view details

push time in a day

pull request commentrust-lang/rust

Test the cargo args generated by bootstrap.py

oh i want to do one more refactor related to verbose_count - let me know if i should put it in a new pr or not

jyn514

comment created time in a day

PR opened rust-lang/rust

Test the cargo args generated by bootstrap.py

I recommend reviewing this commit-by-commit using the instructions in https://rustc-dev-guide.rust-lang.org/git.html#moving-large-sections-of-code.

  • Test cargo arguments passed by bootstrap.py

    This moves a lot of code around, but the logic itself is not too terribly complicated.

    • Move almost all logic in def bootstrap to the RustBuild class, to avoid mixing setting configuration with running commands
    • Update various doctests to the new (more complete) RustBuild config. In particular, don't pretend that bin_root supports build being unset.
    • Change parse_args not to use a global, to allow testing it
    • Set BUILD_DIR appropriately so bootstrap.py doesn't panic because cargo isn't found
  • Allow passing arguments to bootstrap_test.py

    Previous, it used the built-in test runner, which doesn't support options unless they're manually passed in the script.

  • Fix progress messages for configure in bootstrap_test.py

    Before it would unconditionally print configure-args = [].

r? @albertlarsan68 cc https://github.com/rust-lang/rust/pull/112089 https://github.com/rust-lang/rust/pull/111979#issuecomment-1568525699

+128 -101

0 comment

4 changed files

pr created time in a day

more