1. 02 7月, 2021 2 次提交
  2. 01 7月, 2021 38 次提交
    • B
      Auto merge of #7418 - flip1995:rustup, r=flip1995 · 61eb38ae
      bors 提交于
      Rustup
      
      r? `@ghost`
      
      changelog: none
      61eb38ae
    • F
      Bump nightly version -> 2021-07-01 · d446d5eb
      flip1995 提交于
      d446d5eb
    • F
      a82a7441
    • B
      Auto merge of #7407 - m-ou-se:doc-hidden-variants, r=flip1995 · 753bce30
      bors 提交于
      Don't suggest doc(hidden) or unstable variants in wildcard lint
      
      Clippy's wildcard lint would suggest doc(hidden) and unstable variants for non_exhaustive enums, even though those aren't part of the public interface (yet) and should only be matched on using a `_`, just like potential future additions to the enum. There was already some logic to exclude a *single* doc(hidden) variant. This extends that to all hidden variants, and also hides `#[unstable]` variants.
      
      See https://github.com/rust-lang/rust/pull/85746#issuecomment-868886893
      
      This PR includes https://github.com/rust-lang/rust-clippy/pull/7406 as the first commit.
      
      Here's the diff that this PR adds on top of that PR: https://github.com/m-ou-se/rust-clippy/compare/std-errorkind...m-ou-se:doc-hidden-variants
      
      ---
      
      *Please write a short comment explaining your change (or "none" for internal only changes)*
      
      changelog: No longer suggest unstable and doc(hidden) variants in wildcard lint. wildcard_enum_match_arm, match_wildcard_for_single_variants
      753bce30
    • F
      match_wildcard_for_single_variants: don't produce bad suggestion · fae7a09e
      flip1995 提交于
      This fixes a bug where match_wildcard_for_single_variants produced a
      bad suggestion where besides the missing variant, one or more hidden
      variants were left.
      
      This also adds tests to the ui-tests match_wildcard_for_single_variants
      and wildcard_enum_match_arm to make sure that the correct suggestion is
      produced.
      fae7a09e
    • F
      Simplify wildcard_enum_match_arm test · 0ffba7a6
      flip1995 提交于
      0ffba7a6
    • B
      Auto merge of #86774 - GuillaumeGomez:rollup-rkcgvph, r=GuillaumeGomez · 3cb1c113
      bors 提交于
      Rollup of 6 pull requests
      
      Successful merges:
      
       - #86558 (Add suggestions for "undefined reference" link errors)
       - #86616 (rustc_span: Explicitly handle crates that differ from package names)
       - #86652 (Add support for leaf function frame pointer elimination)
       - #86666 (Fix misleading "impl Trait" error)
       - #86762 (mailmap: Add my work email address)
       - #86773 (Enable the tests developed with #86594)
      
      Failed merges:
      
      r? `@ghost`
      `@rustbot` modify labels: rollup
      3cb1c113
    • G
      Rollup merge of #86773 - dns2utf8:rustdoc_enable_near_tests, r=GuillaumeGomez · d10af08f
      Guillaume Gomez 提交于
      Enable the tests developed with #86594
      
      This PR requires `browser-ui-test@0.4.1`. Can we centralise the version number somehow and maybe automatically install it when tests are run?
      
      r? `@GuillaumeGomez`
      d10af08f
    • G
      Rollup merge of #86762 - JohnTitor:mailmap-for-work, r=Mark-Simulacrum · 881b0fe9
      Guillaume Gomez 提交于
      mailmap: Add my work email address
      
      This de-duplicates the entry on the thanks.
      881b0fe9
    • G
      Rollup merge of #86666 - ptrojahn:compare_kinds, r=petrochenkov · 7e27209f
      Guillaume Gomez 提交于
      Fix misleading "impl Trait" error
      
      The kinds can't be compared directly, as types with references are treated as different because the lifetimes aren't bound in ty, but are in expected.
      Closes #84160
      7e27209f
    • G
      Rollup merge of #86652 - nagisa:nagisa/non-leaf-fp, r=petrochenkov · dfd30d7b
      Guillaume Gomez 提交于
      Add support for leaf function frame pointer elimination
      
      This PR adds ability for the target specifications to specify frame
      pointer emission type that's not just “always” or “whatever cg decides”.
      
      In particular there's a new mode that allows omission of the frame
      pointer for leaf functions (those that don't call any other functions).
      
      We then set this new mode for Aarch64-based Apple targets.
      
      Fixes #86196
      dfd30d7b
    • G
      Rollup merge of #86616 - joshtriplett:simplify-crate-package-discrepancies, r=varkor · 052e8d59
      Guillaume Gomez 提交于
      rustc_span: Explicitly handle crates that differ from package names
      
      The sha-1 and md-5 packages contain crates named sha1 and md5,
      respectively. This discrepancy makes it somewhat more challenging to
      automate detection of unused crates. Explicitly rename the packages to
      the names of the crates they contain, to simplify such detection.
      052e8d59
    • G
      Rollup merge of #86558 - Smittyvb:link-error-sugg, r=petrochenkov · 75f2263c
      Guillaume Gomez 提交于
      Add suggestions for "undefined reference" link errors
      
      This adds a suggestion for "undefined reference to ..." linking errors to install or specify the location to an external library. Since there is no defined error format for linkers, we just check if there was a failure and if that failure contains the string `undefined reference to`. This also makes it impossible to test this, since the output depends on the system linker. The output now looks like:
      ```
      error: linking with `cc` failed: exit status: 1
        |
        = note: "cc" "-m64" "linking_failure.linking_failure.7rcbfp3g-cgu.0.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.1.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.2.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.3.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.4.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.5.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.6.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.7.rcgu.o" "linking_failure.linking_failure.7rcbfp3g-cgu.8.rcgu.o" "linking_failure.53u64zklswtfazes.rcgu.o" "-Wl,--as-needed" "-L" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-01ce3ba5c629d02f.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-f1f2102409186354.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-1e8b6b56a999f838.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-d0e93eb4e14f1d19.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-1d7e39d75d082b43.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-ade42e945045b261.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1a65064fccf4ebc1.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-4d699c310fdfe72d.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-1cafa68a696ec800.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-e9f1c8c4dab2f046.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-ecc1a743be25c7f7.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e074031c4b66b6b6.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-9aa6ed9f1d3bfd53.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7862bf96c2250ca0.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-f02ce0dc7895b5fd.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-3af9c60917570521.rlib" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-ca16fc7bb3645684.rlib" "-Wl,--end-group" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d8e1a5b7299604cc.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/smit/rustc-dev/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "linking_failure" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
        = note: /usr/bin/ld: linking_failure.linking_failure.7rcbfp3g-cgu.3.rcgu.o: in function `linking_failure::main':
                linking_failure.7rcbfp3g-cgu.3:(.text._ZN15linking_failure4main17h52b6e3052e444479E+0x3): undefined reference to `doesnt_exist_thiwthwfyl'
                clang: error: linker command failed with exit code 1 (use -v to see invocation)
      
        = help: some `extern` functions couldn't be found; you may need to install or specify the path to some dependencies
        = note: use the -L flag to specify the library lookup path
        = note: use the cargo:rustc-link-search directive to specify the library lookup path with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-search)
      
      error: aborting due to previous error
      ```
      75f2263c
    • S
      Update container browser-ui-test@0.4.1 · dbfbb76b
      Stefan Schindler 提交于
      dbfbb76b
    • S
      Enable the tests developed with #86594 · 36458510
      Stefan Schindler 提交于
      36458510
    • B
      Auto merge of #86190 - asquared31415:extern-main-86110-fix, r=varkor · f8ac8fda
      bors 提交于
      Fix ICE when `main` is declared in an `extern` block
      
      Changes in #84401 to implement `imported_main` changed how the crate entry point is found, and a declared `main` in an `extern` block was detected erroneously.  This was causing the ICE described in #86110.
      
      This PR adds a check for this case and emits an error instead.  Previously a `main` declaration in an `extern` block was not detected as an entry point at all, so emitting an error shouldn't break anything that worked previously.  In 1.52.1 stable this is demonstrated, with a `` `main` function not found`` error.
      
      Fixes #86110
      f8ac8fda
    • B
      Auto merge of #86617 - joshtriplett:prune-dependencies, r=Mark-Simulacrum · 1034282b
      bors 提交于
      Remove unused dependencies from compiler crates
      
      Various compiler crates have dependencies that they don't appear to use. I used some scripting to detect such dependencies, filtered them based on some manual review, and removed those that do indeed appear to be entirely unused.
      1034282b
    • B
      Auto merge of #86757 - JohnTitor:rollup-acevhz7, r=JohnTitor · 866335b3
      bors 提交于
      Rollup of 8 pull requests
      
      Successful merges:
      
       - #85504 (the foundation owns rust trademarks)
       - #85520 (Fix typo and improve documentation for E0632)
       - #86680 (Improve error for missing -Z with debugging option)
       - #86728 (Check node kind to avoid ICE in `check_expr_return()`)
       - #86740 (copy rust-lld as ld in dist)
       - #86746 (Fix rustdoc query type filter)
       - #86750 (Test cross-crate usage of `feature(const_trait_impl)`)
       - #86755 (alloc: `RawVec<T, A>::shrink` can be in `no_global_oom_handling`.)
      
      Failed merges:
      
      r? `@ghost`
      `@rustbot` modify labels: rollup
      866335b3
    • Y
      mailmap: Add my work email address · 2edf9559
      Yuki Okushi 提交于
      2edf9559
    • B
      Auto merge of #86489 - cjgillot:lower, r=petrochenkov · e6f450bc
      bors 提交于
      Simplify early compilation interface
      
      * separate resolver creation and AST configuration.
      * bundle lowering with global_ctxt creation.
      e6f450bc
    • S
      Add suggestions for "undefined reference" link errors · ce63d55b
      Smitty 提交于
      ce63d55b
    • Y
      Rollup merge of #86755 - ojeda:shrink, r=Mark-Simulacrum · 9e007e71
      Yuki Okushi 提交于
      alloc: `RawVec<T, A>::shrink` can be in `no_global_oom_handling`.
      
      Found in https://github.com/Rust-for-Linux/linux/pull/402.
      Signed-off-by: NMiguel Ojeda <ojeda@kernel.org>
      9e007e71
    • Y
      Rollup merge of #86750 - fee1-dead:impl-const-test, r=jonas-schievink · 7714a9a0
      Yuki Okushi 提交于
      Test cross-crate usage of `feature(const_trait_impl)`
      
      This PR does two things:
      
       - Fixes metadata not encoded properly for functions in const trait impls.
       - Adds tests for using const trait impls cross-crate with the feature gate on the user crate either enabled or disabled.
      
      AFAIK, this means we can now constify some trait impls in the standard library 🎉
      
      See #67792 for the tracking issue, cc `@oli-obk`
      7714a9a0
    • Y
      Rollup merge of #86746 - GuillaumeGomez:query-type-filter, r=notriddle · f458d8f6
      Yuki Okushi 提交于
      Fix rustdoc query type filter
      
      I realized while reviewing #86659 that the type filter was broken on search so I'd prefer it to get merged before merging #86659.
      
      r? `@notriddle`
      f458d8f6
    • Y
      Rollup merge of #86740 - 1000teslas:issue-71519-fix, r=petrochenkov · e52a0ec5
      Yuki Okushi 提交于
      copy rust-lld as ld in dist
      
      Fixes bug in https://github.com/rust-lang/rust/pull/85961. Linking seems to work for pure Rust projects, but not when a C library needs to be dynamically linked.
      e52a0ec5
    • Y
      Rollup merge of #86728 - FabianWolff:issue-86721, r=LeSeulArtichaut · dfe05c0e
      Yuki Okushi 提交于
      Check node kind to avoid ICE in `check_expr_return()`
      
      This PR fixes #86721. The ICE described there is apparently due to a misunderstanding:
      https://github.com/rust-lang/rust/blob/e98897e5dc9898707bf4331c43b2e76ab7e282fe/compiler/rustc_typeck/src/check/expr.rs#L684-L685
      
      Intuitively, one would think that calling `expect_item()` after `get_parent_item()` should succeed, but as it turns out, `get_parent_item()` can also return foreign, trait, and impl items as well as crates, whereas `expect_item()` specifically expects a `Node::Item`. I have therefore added an extra check to prevent this ICE.
      dfe05c0e
    • Y
      Rollup merge of #86680 - camsteffen:dbg-opt-error, r=petrochenkov · 56ddef8a
      Yuki Okushi 提交于
      Improve error for missing -Z with debugging option
      
      Before:
      ```text
      ❯ rustc --unpretty=hir
      error: Unrecognized option: 'unpretty'
      ```
      After:
      ```text
      ❯ rustc --unpretty=hir
      error: Unrecognized option: 'unpretty'. Did you mean `-Z unpretty`?
      ```
      56ddef8a
    • Y
      Rollup merge of #85520 - FabianWolff:issue-85475, r=jackh726 · 1823b3f2
      Yuki Okushi 提交于
      Fix typo and improve documentation for E0632
      
      Edit: After https://github.com/rust-lang/rust/pull/85520#issuecomment-870095546, this PR has been boiled down to just an extended description for `E0632` and a fixed typo.
      1823b3f2
    • Y
      Rollup merge of #85504 - liigo:patch-13, r=Mark-Simulacrum · 7c06191d
      Yuki Okushi 提交于
      the foundation owns rust trademarks
      7c06191d
    • C
      Update comments. · f6987742
      Camille GILLOT 提交于
      f6987742
    • C
      Fix AST pretty. · aa1bc587
      Camille GILLOT 提交于
      aa1bc587
    • C
      Move AST crate. · 2f28737e
      Camille GILLOT 提交于
      2f28737e
    • C
      Arena-allocate Crate during lowering. · c520cf22
      Camille GILLOT 提交于
      c520cf22
    • C
      Move lowering to create_global_ctxt. · e05cd155
      Camille GILLOT 提交于
      e05cd155
    • C
      Inline lower_to_hir. · b80f720a
      Camille GILLOT 提交于
      b80f720a
    • C
      Separate resolver creation from expansion. · 18c10fb1
      Camille GILLOT 提交于
      18c10fb1
    • C
      Simplify DepGraph creation. · 5f98e5ee
      Camille GILLOT 提交于
      5f98e5ee
    • C
      Add suggestion for missing compile flag group · 2a60f090
      Cameron Steffen 提交于
      2a60f090