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 7 pull requests #78178

Merged
merged 25 commits into from
Oct 21, 2020
Merged

Rollup of 7 pull requests #78178

merged 25 commits into from
Oct 21, 2020

Commits on Oct 8, 2020

  1. Add Pin::new_static.

    m-ou-se committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    64839ee View commit details
    Browse the repository at this point in the history
  2. Make Pin::new_static const.

    m-ou-se committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    390883e View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2020

  1. Configuration menu
    Copy the full SHA
    104c0f0 View commit details
    Browse the repository at this point in the history
  2. Add Pin::static_mut.

    m-ou-se committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    2c71f68 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2020

  1. Reword safety guarantee of Pin::static_{ref,mut}.

    Co-authored-by: Peter Todd <pete@petertodd.org>
    m-ou-se and petertodd committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    f83446b View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2020

  1. Add missing mut.

    Co-authored-by: David Tolnay <dtolnay@gmail.com>
    m-ou-se and dtolnay authored Oct 15, 2020
    Configuration menu
    Copy the full SHA
    df95dce View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2020

  1. Improve wording of "cannot multiply" type error

    For example, if you had this code:
    
        fn foo(x: i32, y: f32) -> f32 {
            x * y
        }
    
    You would get this error:
    
        error[E0277]: cannot multiply `f32` to `i32`
         --> src/lib.rs:2:7
          |
        2 |     x * y
          |       ^ no implementation for `i32 * f32`
          |
          = help: the trait `Mul<f32>` is not implemented for `i32`
    
    However, that's not usually how people describe multiplication. People
    usually describe multiplication like how the division error words it:
    
        error[E0277]: cannot divide `i32` by `f32`
         --> src/lib.rs:2:7
          |
        2 |     x / y
          |       ^ no implementation for `i32 / f32`
          |
          = help: the trait `Div<f32>` is not implemented for `i32`
    
    So that's what this change does. It changes this:
    
        error[E0277]: cannot multiply `f32` to `i32`
         --> src/lib.rs:2:7
          |
        2 |     x * y
          |       ^ no implementation for `i32 * f32`
          |
          = help: the trait `Mul<f32>` is not implemented for `i32`
    
    To this:
    
        error[E0277]: cannot multiply `i32` by `f32`
         --> src/lib.rs:2:7
          |
        2 |     x * y
          |       ^ no implementation for `i32 * f32`
          |
          = help: the trait `Mul<f32>` is not implemented for `i32`
    camelid committed Oct 18, 2020
    Configuration menu
    Copy the full SHA
    7b33ae6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    003516f View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2020

  1. rustdoc: Show the correct source filename, without .html

    Previously the title would be
    
        lib.rs.html -- source
    
    if `lib.rs` was the actual source filename. Now the title is
    
        lib.rs – source
    
    (note the en dash).
    camelid committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    48060f1 View commit details
    Browse the repository at this point in the history
  2. remove what seems to be an outdated comment

    Even in the PR that introduced this comment, it does not seem like these locals are actually ignored -- just their `source_info` is adjusted:
    https://github.com/rust-lang/rust/pull/44700/files#diff-ae2f3c7e2f9744f7ef43e96072b10e98d4e3fe74a3a399a3ad8a810fbe56c520R139
    RalfJung committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    cb33f95 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c1766c6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    153e843 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9dd0bb6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d641cb8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dcd2d91 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2020

  1. Tweak "object unsafe" errors

    estebank committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    ae0e3d0 View commit details
    Browse the repository at this point in the history
  2. review comments

    estebank committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    88f5e11 View commit details
    Browse the repository at this point in the history
  3. Apply some review suggestions

    camelid committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    243c8e9 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2020

  1. Rollup merge of rust-lang#77726 - fusion-engineering-forks:static-pin…

    …, r=dtolnay
    
    Add Pin::static_ref, static_mut.
    
    This adds `Pin::static_ref` and `Pin::static_mut`, which convert a static reference to a pinned static reference.
    
    Static references are effectively already pinned, as what they refer to has to live forever and can never be moved.
    
    ---
    
    Context: I want to update the `sys` and `sys_common` mutexes/rwlocks/condvars to use `Pin<&self>` in their functions, instead of only warning in the unsafety comments that they may not be moved. That should make them a little bit less dangerous to use. Putting such an object in a `static` (e.g. through `sys_common::StaticMutex`) fulfills the requirements about never moving it, but right now there's no safe way to get a `Pin<&T>` to a `static`. This solves that.
    JohnTitor authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    ff3c8cb View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#78002 - estebank:issue-77598, r=oli-obk

    Tweak "object unsafe" errors
    
    CC rust-lang#77598.
    JohnTitor authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    9583029 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#78056 - ssomers:btree_chop_up_1, r=dtolnay

    BTreeMap: split off most code of remove and split_off
    
    Putting map.rs on a diet, in addition to rust-lang#77851.
    r? @dtolnay
    JohnTitor authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    f8bae8b View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#78063 - camelid:improve-cannot-multiply-err…

    …or, r=estebank
    
    Improve wording of "cannot multiply" type error
    
    For example, if you had this code:
    
        fn foo(x: i32, y: f32) -> f32 {
            x * y
        }
    
    You would get this error:
    
        error[E0277]: cannot multiply `f32` to `i32`
         --> src/lib.rs:2:7
          |
        2 |     x * y
          |       ^ no implementation for `i32 * f32`
          |
          = help: the trait `Mul<f32>` is not implemented for `i32`
    
    However, that's not usually how people describe multiplication. People
    usually describe multiplication like how the division error words it:
    
        error[E0277]: cannot divide `i32` by `f32`
         --> src/lib.rs:2:7
          |
        2 |     x / y
          |       ^ no implementation for `i32 / f32`
          |
          = help: the trait `Div<f32>` is not implemented for `i32`
    
    So that's what this change does. It changes this:
    
        error[E0277]: cannot multiply `f32` to `i32`
         --> src/lib.rs:2:7
          |
        2 |     x * y
          |       ^ no implementation for `i32 * f32`
          |
          = help: the trait `Mul<f32>` is not implemented for `i32`
    
    To this:
    
        error[E0277]: cannot multiply `i32` by `f32`
         --> src/lib.rs:2:7
          |
        2 |     x * y
          |       ^ no implementation for `i32 * f32`
          |
          = help: the trait `Mul<f32>` is not implemented for `i32`
    JohnTitor authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    89c98cd View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#78094 - camelid:rustdoc-fix-source-title, r…

    …=jyn514
    
    rustdoc: Show the correct source filename in page titles, without `.html`
    
    Previously the title would be
    
        lib.rs.html -- source
    
    if `lib.rs` was the actual source filename. Now the title is
    
        lib.rs - source
    JohnTitor authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    72ae00b View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#78101 - RalfJung:foreign-static, r=oli-obk

    fix static_ptr_ty for foreign statics
    
    Cc rust-lang#74840
    
    This does not fix that issue but fixes a problem in `static_ptr_ty` that we noticed while discussing that issue. I also added and updated a few comments. The one about `internal` locals being ignored does not seem to have been true [even in the commit that introduced it](https://github.com/rust-lang/rust/pull/44700/files#diff-ae2f3c7e2f9744f7ef43e96072b10e98d4e3fe74a3a399a3ad8a810fbe56c520R139).
    
    r? @oli-obk
    JohnTitor authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    83f126b View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#78118 - spastorino:inline-const-followups, …

    …r=petrochenkov
    
    Inline const followups
    
    r? @petrochenkov
    
    Follow ups of rust-lang#77124
    JohnTitor authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    de24210 View commit details
    Browse the repository at this point in the history