1. 05 6月, 2021 1 次提交
  2. 04 6月, 2021 17 次提交
    • B
      Auto merge of #85788 - rylev:force-warns, r=nikomatsakis · 595088d6
      bors 提交于
      Support for force-warns
      
      Implements https://github.com/rust-lang/rust/issues/85512.
      
      This PR adds a new command line option `force-warns` which will force the provided lints to warn even if they are allowed by some other mechanism such as `#![allow(warnings)]`.
      
      Some remaining issues:
      * https://github.com/rust-lang/rust/issues/85512 mentions that `force-warns` should also be capable of taking lint groups instead of individual lints. This is not implemented.
      * If a lint has a higher warning level than `warn`, this will cause that lint to warn instead. We probably want to allow the lint to error if it is set to a higher lint and is not allowed somewhere else.
      * One test is currently ignored because it's not working - when a deny-by-default lint is allowed, it does not currently warn under `force-warns`. I'm not sure why, but I wanted to get this in before the weekend.
      
      r? `@nikomatsakis`
      595088d6
    • B
      Auto merge of #85385 - richkadel:simpler-simplify-with-coverage, r=wesleywiser · 289ada5e
      bors 提交于
      Reland - Report coverage `0` of dead blocks
      
      Fixes: #84018
      
      With `-Z instrument-coverage`, coverage reporting of dead blocks
      (for example, blocks dropped because a conditional branch is dropped,
      based on const evaluation) is now supported.
      
      Note, this PR relands an earlier, reverted PR that failed when compiling
      generators. The prior issues with generators has been resolved and a new
      test was added to prevent future regressions.
      
      Check out the resulting changes to test coverage of dead blocks in the
      test coverage reports in this PR.
      
      r? `@tmandry`
      fyi: `@wesleywiser`
      289ada5e
    • B
      Auto merge of #85959 - RalfJung:miri-stage-0, r=Mark-Simulacrum · c4c2ab57
      bors 提交于
      fix testing Miri with --stage 0
      
      Fixes https://github.com/rust-lang/rust/issues/78778 for Miri.
      
      The issue remains open for error_index_generator, which has its own dylib logic:
      https://github.com/rust-lang/rust/blob/903e369c831d52726a5292f847e384622189d9a0/src/bootstrap/tool.rs#L396-L400
      `@jyn514` I could just copy the logic from `add_rustc_lib_path`, but that does not seem great. Any other suggestions?
      
      Also I wonder if maybe `prepare_tool_cargo` should already call `add_rustc_lib_path`.
      c4c2ab57
    • B
      Auto merge of #85984 - JohnTitor:rollup-rq0g9ph, r=JohnTitor · 4afa3a80
      bors 提交于
      Rollup of 8 pull requests
      
      Successful merges:
      
       - #85717 (Document `From` impls for cow.rs)
       - #85850 (Remove unused feature gates)
       - #85888 (Fix typo in internal documentation for `TrustedRandomAccess`)
       - #85889 (Restoring the `num_def_ids` function in the CStore API )
       - #85899 (jsondocck small cleanup)
       - #85937 (Fix bad suggestions for code from proc_macro)
       - #85963 (Show `::{{constructor}}` in std::any::type_name().)
       - #85977 (Fix linkcheck script from getting out of sync.)
      
      Failed merges:
      
      r? `@ghost`
      `@rustbot` modify labels: rollup
      4afa3a80
    • Y
      Rollup merge of #85977 - ehuss:linkcheck-nightly, r=Mark-Simulacrum · edb8f653
      Yuki Okushi 提交于
      Fix linkcheck script from getting out of sync.
      
      When there are changes to the linkcheck script, the CI jobs used in the books would download the latest version on master, but run it against nightly. During that 24 hour window, the CI can fail if the script has changes that are incompatible with the last nightly. This fixes it so that it downloads the linkchecker that matches the version of nightly.
      
      This also includes a fix to build with release to make it run much faster (I forgot to add this in #85652).
      edb8f653
    • Y
      Rollup merge of #85963 - m-ou-se:constructor-type-name, r=yaahc · 0a124319
      Yuki Okushi 提交于
      Show `::{{constructor}}` in std::any::type_name().
      
      Fix #84666
      
      Before:
      ```
      [src/main.rs:6] type_name::<T>() = "playground::Velocity"
      [src/main.rs:6] type_name::<T>() = "playground::Velocity"
      ```
      
      After:
      ```
      [src/main.rs:6] type_name::<T>() = "scratchpad::Velocity::{{constructor}}"
      [src/main.rs:6] type_name::<T>() = "scratchpad::Velocity"
      ```
      
      cc ``@scottmcm``
      0a124319
    • Y
      Rollup merge of #85937 - m-ou-se:macro-ref-suggestions, r=estebank · 99fc56b9
      Yuki Okushi 提交于
      Fix bad suggestions for code from proc_macro
      
      Fixes #85932
      
      This disables these suggestions for spans from external macros, while keeping them for macros defined locally:
      
      Before:
      ```
      3 | #[hello]
        | ^^^^^^^^
        | |
        | expected `&mut i32`, found integer
        | help: consider mutably borrowing here: `&mut #[hello]`
      ```
      
      After:
      ```
      3 | #[hello]
        | ^^^^^^^^ expected `&mut i32`, found integer
      ```
      
      Unchanged:
      ```
      26 | macro_rules! bla { () => { x(123); } }
         |                              ^^^
         |                              |
         |                              expected `&mut i32`, found integer
         |                              help: consider mutably borrowing here: `&mut 123`
      ...
      29 |     bla!();
         |     ------- in this macro invocation
      ```
      99fc56b9
    • Y
      Rollup merge of #85899 - klensy:jsondocck-f, r=Mark-Simulacrum · 5b0a49ef
      Yuki Okushi 提交于
      jsondocck small cleanup
      
      updated `shlex` (there was some fix https://github.com/comex/rust-shlex/commit/6db4704fcad8393dd6947b1d31720327546a84a2)
      replaced `lazy_static` with `once_cell`
      removed `serde` direct dependency (`serde_json` will pull it)
      5b0a49ef
    • Y
      Rollup merge of #85889 - denismerigoux:master, r=petrochenkov · 3500e763
      Yuki Okushi 提交于
      Restoring the `num_def_ids` function in the CStore API
      
      ## The context
      
      I am the maintainer of https://github.com/hacspec/hacspec, an embedded Rust DSL aimed at cryptographic specifications. As it is normal for an embedded DSL, Hacspec's compiler relies on being plugged to the internal API of the Rust compiler, which is unstable and subject to changes.
      
      ## The problem
      
      The Hacspec compiler features its own typechecker, that performs an additional, more restrictive typechecking pass over the Rust code of a crate. To complete this typechecking, the Hacspec compiler needs to retrieve the signature of functions defined in non-local imported crates. Rather than retrieving these signatures on-demand, the Hacspec compiler pre-populates its typechecking context with all the Hacspec-compatible symbols defined in non-local crates first. This requires having a way to iterate over all the definitions in a non-local crate.
      
      I used to do this with `CrateMetadata::all_def_path_hashes_and_def_ids`, but this function was deleted in 908bf5a3. Then, I fellback on `CStore::num_def_ids`, exploiting the fact that all the `DefIds` for a crate have the same `krate_num` and range from `0` to `num_def_ids(krate_num)`. But `num_def_ids` was deleted in b6120bfb.
      
      I looked to the `Cstore::item_children_untracked` function to replicate the feature of traversing through all the `DefId` for a crate, using `CRATE_DEF_INDEX` as the root, but this does not work as recursive `Cstore::item_children_untracked` calls do not reach all the symbols I was able to reach using the two previous methods.
      
      ## Description of this PR
      
      This PR simply restores in the public API of `CStore` the `num_def_ids` function, giving the size of the definition table for a given crate.
      3500e763
    • Y
      Rollup merge of #85888 - steffahn:fix_internal_trustedrandomaccess_docs, r=Mark-Simulacrum · f6aaf053
      Yuki Okushi 提交于
      Fix typo in internal documentation for `TrustedRandomAccess`
      
      `next_back` is a method of DoubleEndedIterator, not Iterator.
      f6aaf053
    • Y
      Rollup merge of #85850 - bjorn3:less_feature_gates, r=jyn514 · 36f1ed6d
      Yuki Okushi 提交于
      Remove unused feature gates
      
      The first commit removes a usage of a feature gate, but I don't expect it to be controversial as the feature gate was only used to workaround a limitation of rust in the past. (closures never being `Clone`)
      
      The second commit uses `#[allow_internal_unstable]` to avoid leaking the `trusted_step` feature gate usage from inside the index newtype macro. It didn't work for the `min_specialization` feature gate though.
      
      The third commit removes (almost) all feature gates from the compiler that weren't used anyway.
      36f1ed6d
    • Y
      Rollup merge of #85717 - fee1-dead:document-cow, r=yaahc · df9ea79f
      Yuki Okushi 提交于
      Document `From` impls for cow.rs
      df9ea79f
    • B
      Auto merge of #85954 - flip1995:clippyup, r=Manishearth · 1c82bb29
      bors 提交于
      Update Clippy
      
      Bi-weekly Clippy update.
      
      r? `@Manishearth`
      1c82bb29
    • B
      Auto merge of #85867 - steffahn:remove_unnecessary_specfromiter_impls, r=Mark-Simulacrum · f1cee2c6
      bors 提交于
      Remove unnecessary SpecFromIter impls
      
      Unless I’m missing something, these `SpecFromIter<&'a T, …> for Vec<T>` implementations were completely unused.
      f1cee2c6
    • E
      Build linkcheck script as release to run faster. · 095f09a5
      Eric Huss 提交于
      095f09a5
    • E
      Fix linkcheck script from getting out of sync. · 98c90522
      Eric Huss 提交于
      98c90522
    • B
      Auto merge of #85617 - hi-rustin:rustin-patch-fix, r=estebank · cc77ba46
      bors 提交于
      shrinking the deprecated method span
      
      part of https://github.com/rust-lang/rust/issues/85403
      
      r? `@estebank`
      cc77ba46
  3. 03 6月, 2021 22 次提交