Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 10 pull requests #82795

Merged
merged 73 commits into from
Mar 5, 2021
Merged

Rollup of 10 pull requests #82795

merged 73 commits into from
Mar 5, 2021

Commits on Jan 31, 2021

  1. Configuration menu
    Copy the full SHA
    f45bdcc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c3e47d9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fa76db3 View commit details
    Browse the repository at this point in the history
  4. Add missing generic

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    11c49f6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    260a270 View commit details
    Browse the repository at this point in the history
  6. Fix incorrect token

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    5f60a30 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    eea99f4 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7e56637 View commit details
    Browse the repository at this point in the history
  9. Fix semicolon

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    442de9a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1190321 View commit details
    Browse the repository at this point in the history
  11. Add dyn for SizeHint cast

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    421b40c View commit details
    Browse the repository at this point in the history
  12. Fix formatting

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    265db94 View commit details
    Browse the repository at this point in the history
  13. Remove stable annotation

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    93870c8 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    7869371 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    c8e0f8a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    96255f8 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    389e638 View commit details
    Browse the repository at this point in the history
  18. Remove trailing newline

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    b837f3a View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    81aba38 View commit details
    Browse the repository at this point in the history
  20. Fix formatting on mod

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    fc9cd4a View commit details
    Browse the repository at this point in the history
  21. Fix line length format

    Xavientois committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    7674ae1 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2021

  1. Configuration menu
    Copy the full SHA
    7b021aa View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2021

  1. Configuration menu
    Copy the full SHA
    a3db47a View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2021

  1. First version of noop-lint

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    040735c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f49ed7a View commit details
    Browse the repository at this point in the history
  3. Fix tests

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    a6d926d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    618c395 View commit details
    Browse the repository at this point in the history
  5. Fix ui-full-deps suite

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    3a86184 View commit details
    Browse the repository at this point in the history
  6. Fix core tests

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    ee65416 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d3b49c2 View commit details
    Browse the repository at this point in the history
  8. Fix std tests

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    c5ff54c View commit details
    Browse the repository at this point in the history
  9. Improve warning

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    217c886 View commit details
    Browse the repository at this point in the history
  10. Fix tidy errors

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    16c4afb View commit details
    Browse the repository at this point in the history
  11. Update error message

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    95e330b View commit details
    Browse the repository at this point in the history
  12. Fix tidy error

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    316e9db View commit details
    Browse the repository at this point in the history
  13. Improve error messages

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    49f32e0 View commit details
    Browse the repository at this point in the history
  14. Increase accuracy of lint trigger

    estebank authored and rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    e48670c View commit details
    Browse the repository at this point in the history
  15. Clean up code rightward drift

    estebank authored and rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    055db16 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    4be7052 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    6bf6652 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    da3995f View commit details
    Browse the repository at this point in the history
  19. Fix borrow and deref

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    1999a31 View commit details
    Browse the repository at this point in the history
  20. Warn in doc test

    rylev committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    25637b2 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    9425e30 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    66a2606 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    8b9ac4d View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    aeb4ea7 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2021

  1. Configuration menu
    Copy the full SHA
    09cbcdc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f6fe24a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    69d95e2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d85d82a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    da01455 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1aedb4c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    eddd4f0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    eb18746 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    cfce60e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0a8e401 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5bd1204 View commit details
    Browse the repository at this point in the history
  12. Add diagnostic item to Default trait

    Required to resolve rust-lang#6562 rust-clippy issue.
    mgacek8 committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    a5951d4 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    58d6f80 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f223aff View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    80fcdef View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2021

  1. Remove unused code from main.js

    It looks like `lev_distance` was used in a very old version of the function,
    since it was written but never read, and Blame reports that it was added
    before the `checkGenerics` function header itself.
    
    `convertHTMLToPlaintext` is was removed by 768d5e9
    notriddle committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    ad91915 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#80723 - rylev:noop-lint-pass, r=estebank

    Implement NOOP_METHOD_CALL lint
    
    Implements the beginnings of rust-lang/lang-team#67 - a lint for detecting noop method calls (e.g, calling `<&T as Clone>::clone()` when `T: !Clone`).
    
    This PR does not fully realize the vision and has a few limitations that need to be addressed either before merging or in subsequent PRs:
    * [ ] No UFCS support
    * [ ] The warning message is pretty plain
    * [ ] Doesn't work for `ToOwned`
    
    The implementation uses [`Instance::resolve`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/instance/struct.Instance.html#method.resolve) which is normally later in the compiler. It seems that there are some invariants that this function relies on that we try our best to respect. For instance, it expects substitutions to have happened, which haven't yet performed, but we check first for `needs_subst` to ensure we're dealing with a monomorphic type.
    
    Thank you to ```@davidtwco,``` ```@Aaron1011,``` and ```@wesleywiser``` for helping me at various points through out this PR ❤️.
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    e6a6df5 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#80763 - petrochenkov:pubusecrate, r=estebank

    resolve: Reduce scope of `pub_use_of_private_extern_crate` deprecation lint
    
    This lint was deny-by-default since July 2017, crater showed 7 uses on crates.io back then (rust-lang#42894 (comment)).
    
    Unfortunately, the construction `pub use foo as bar` where `foo` is `extern crate foo;` was used by an older version `bitflags`, so turning it into an error causes too many regressions.
    So, this PR reduces the scope of the lint instead of turning it into a hard error, and only turns some more rarely used components of it into errors.
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    ec2619c View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#81136 - Xavientois:io_reader_size_hint, r=c…

    …ramertj
    
    Improved IO Bytes Size Hint
    
    After trying to implement better `size_hint()` return values for `File` in [this PR](rust-lang#81044) and changing to implementing it for `BufReader` in [this PR](rust-lang#81052), I have arrived at this implementation that provides tighter bounds for the `Bytes` iterator of various readers including `BufReader`, `Empty`, and `Chain`.
    
    Unfortunately, for `BufReader`, the size_hint only improves after calling `fill_buffer` due to it using the contents of the buffer for the hint. Nevertheless, the the tighter bounds  should result in better pre-allocation of space to handle the contents of the `Bytes` iterator.
    
    Closes rust-lang#81052
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    6013811 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#81939 - kper:fixing-81584-allocate-in-iter,…

    … r=davidtwco
    
    Add suggestion `.collect()` for iterators in iterators
    
    Closes rust-lang#81584
    
    ```
    error[E0515]: cannot return value referencing function parameter `y`
     --> main3.rs:4:38
      |
    4 | ...                   .map(|y| y.iter().map(|x| x + 1))
      |                                -^^^^^^^^^^^^^^^^^^^^^^
      |                                |
      |                                returns a value referencing data owned by the current function
      |                                `y` is borrowed here
      |                                help: Maybe use `.collect()` to allocate the iterator
    ```
    
    Added the suggestion: `help: Maybe use `.collect()` to allocate the iterator`
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    20887b7 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#82289 - SkiFire13:fix-issue-82282, r=m-ou-se

    Fix underflow in specialized ZipImpl::size_hint
    
    Fixes rust-lang#82282
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    ee796c6 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#82728 - calebsander:refactor/bufreader-buf,…

    … r=m-ou-se
    
    Avoid unnecessary Vec construction in BufReader
    
    As mentioned in rust-lang#80460, creating a `Vec` and calling `Vec::into_boxed_slice()` emits unnecessary calls to `realloc()` and `free()`. Updated the code to use `Box::new_uninit_slice()` to create a boxed slice directly. I think this also makes it more explicit that the initial contents of the buffer are uninitialized.
    
    r? ``@m-ou-se``
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    68f2934 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#82764 - m-ou-se:map-try-insert, r=Amanieu

    Add {BTreeMap,HashMap}::try_insert
    
    `{BTreeMap,HashMap}::insert(key, new_val)` returns `Some(old_val)` if the key was already in the map. It's often useful to assert no duplicate values are inserted.
    
    We experimented with `map.insert(key, val).unwrap_none()` (rust-lang#62633), but decided that that's not the kind of method we'd like to have on `Option`s.
    
    `insert` always succeeds because it replaces the old value if it exists. One could argue that `insert()` is never the right method for panicking on duplicates, since already handles that case by replacing the value, only allowing you to panic after that already happened.
    
    This PR adds a `try_insert` method that instead returns a `Result::Err` when the key already exists. This error contains both the `OccupiedEntry` and the value that was supposed to be inserted. This means that unwrapping that result gives more context:
    ```rust
        map.insert(10, "world").unwrap_none();
        // thread 'main' panicked at 'called `Option::unwrap_none()` on a `Some` value: "hello"', src/main.rs:8:29
    ```
    
    ```rust
        map.try_insert(10, "world").unwrap();
        // thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value:
        // OccupiedError { key: 10, old_value: "hello", new_value: "world" }', src/main.rs:6:33
    ```
    
    It also allows handling the failure in any other way, as you have full access to the `OccupiedEntry` and the value.
    
    `try_insert` returns a reference to the value in case of success, making it an alternative to `.entry(key).or_insert(value)`.
    
    r? ```@Amanieu```
    
    Fixes rust-lang/rfcs#3092
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    232caad View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#82770 - m-ou-se:assert-match, r=joshtriplett

    Add assert_matches macro.
    
    This adds `assert_matches!(expression, pattern)`.
    
    Unlike the other asserts, this one ~~consumes the expression~~ may consume the expression, to be able to match the pattern. (It could add a `&` implicitly, but that's noticable in the pattern, and will make a consuming guard impossible.)
    
    See rust-lang#62633 (comment)
    
    This re-uses the same `left: .. right: ..` output as the `assert_eq` and `assert_ne` macros, but with the pattern as the right part:
    
    assert_eq:
    ```
    assertion failed: `(left == right)`
      left: `Some("asdf")`,
     right: `None`
    ```
    assert_matches:
    ```
    assertion failed: `(left matches right)`
      left: `Ok("asdf")`,
     right: `Err(_)`
    ```
    
    cc ```@cuviper```
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    04045cc View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#82773 - mgacek8:feature/add_diagnostic_item…

    …_to_Default_trait, r=oli-obk
    
    Add diagnostic item to `Default` trait
    
    This PR adds diagnostic item to `Default` trait to be used by rust-lang/rust-clippy#6562 issue.
    Also fixes the obsolete path to the `symbols.rs` file in the comment.
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    2cd1f79 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#82787 - notriddle:main-js-cleanup, r=Guilla…

    …umeGomez
    
    Remove unused code from main.js
    
    It looks like `lev_distance` was used in a very old version of the function, since it was written but never read, and Blame reports that it was added before the `checkGenerics` function header itself.
    
    `convertHTMLToPlaintext` is was removed by 768d5e9
    m-ou-se authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    16518e7 View commit details
    Browse the repository at this point in the history