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 11 pull requests #75688

Closed
wants to merge 49 commits into from
Closed

Commits on Aug 2, 2020

  1. Configuration menu
    Copy the full SHA
    e720f42 View commit details
    Browse the repository at this point in the history
  2. docs(marker/copy): clarify that &T is also Copy

    In the current documentation about the `Copy` marker trait, there is a section
    about "additional implementors", which list additional implementors of the `Copy` trait.
    The fact that shared references are also `Copy` is mixed with another point,
    which makes it hard to recognize and make it seem not as important.
    
    This clarifies the fact that shared references are also `Copy`, by mentioning it as a
    separate item in the list of "additional implementors".
    janriemer authored Aug 2, 2020
    Configuration menu
    Copy the full SHA
    7835c8c View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2020

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

Commits on Aug 16, 2020

  1. docs(marker/copy): provide example for &T being Copy

    In the current documentation about the `Copy` marker trait, there is a section
    with examples of structs that can implement `Copy`. Currently there is no example for
    showing that shared references (`&T`) are also `Copy`.
    It is worth to have a dedicated example for `&T` being `Copy`, because shared
    references are an integral part of the language and it being `Copy` is not as
    intuitive as other types that share this behaviour like `i32` or `bool`.
    
    The example picks up on the previous non-`Copy` struct and shows that
    structs can be `Copy`, even when they hold a shared reference to a non-`Copy` type.
    janriemer authored Aug 16, 2020
    Configuration menu
    Copy the full SHA
    a876b3d View commit details
    Browse the repository at this point in the history
  2. rephrase: struct -> type

    Co-authored-by: Joshua Nelson <joshua@yottadb.com>
    janriemer and Joshua Nelson authored Aug 16, 2020
    Configuration menu
    Copy the full SHA
    43dec0e View commit details
    Browse the repository at this point in the history
  3. add back emojis that have been removed accidentally

    Co-authored-by: Joshua Nelson <joshua@yottadb.com>
    2 people authored and Jan Riemer committed Aug 16, 2020
    Configuration menu
    Copy the full SHA
    dce8644 View commit details
    Browse the repository at this point in the history
  4. add empty line above code block

    Co-authored-by: Poliorcetics <poliorcetics@users.noreply.github.com>
    janriemer and poliorcetics authored Aug 16, 2020
    Configuration menu
    Copy the full SHA
    9061da2 View commit details
    Browse the repository at this point in the history
  5. docs: add derive for struct

    Code blocks in doc comments are compiled and run, so we show `Copy` works in this example.
    
    Co-authored-by: Poliorcetics <poliorcetics@users.noreply.github.com>
    janriemer and poliorcetics authored Aug 16, 2020
    Configuration menu
    Copy the full SHA
    56daf63 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2020

  1. Configuration menu
    Copy the full SHA
    b0eb55a View commit details
    Browse the repository at this point in the history
  2. Fix stack overflow for recursive types.

    Adds a seen set to structurally_same_type to avoid recursing
    indefinitely when a reference or pointer member introduces a cycle in
    the visited types.
    jumbatm committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    db75313 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    154b74e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a1fa4e0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    80c2c80 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bca48ad View commit details
    Browse the repository at this point in the history
  7. Don't memoize seen types.

    That cache is unlikely to be particularly useful within a single
    invocation of structurally_same_type, especially compared to memoizing
    results across _all_ invocations of that function.
    jumbatm committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    6c57de1 View commit details
    Browse the repository at this point in the history
  8. Avoid double hashset lookup.

    Co-authored-by: Bastian Kauschke <bastian_kauschke@hotmail.de>
    jumbatm and lcnr committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    7708abb View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1321a2d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    bc15dd6 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    431a465 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a4995fc View commit details
    Browse the repository at this point in the history
  13. Say tcx.lang_items() less

    jyn514 committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    833bbb1 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    dae3a4f View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    c6ac860 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3b1d2e3 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    1b74f04 View commit details
    Browse the repository at this point in the history
  18. xpy fmt

    jyn514 committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    2858074 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2020

  1. Add a test

    jyn514 committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    7be824e View commit details
    Browse the repository at this point in the history
  2. rewrite old test so that its attributes are consistent with what we w…

    …ant in the language.
    
    (Note that the fact this test existed is a slight sign that we may need a crater
    run on this bugfix...)
    pnkfelix committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    e24aa73 View commit details
    Browse the repository at this point in the history
  3. When building lint specs map for a given scope, check if forbid prese…

    …nt on each insert.
    
    Drive-by changes:
    
      1. make `LintLevelsBuilder::push` private to the crate.
    
      2. Add methods to `LintSource` for extracting its name symbol or its span.
    pnkfelix committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    01e8e9f View commit details
    Browse the repository at this point in the history
  4. Regression test.

    pnkfelix committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    ef03a5d View commit details
    Browse the repository at this point in the history
  5. review suggestion: use existing defn rather than new intern call

    Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
    pnkfelix and petrochenkov committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    4ec4c4f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8c4641b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d9d84dc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f957bae View commit details
    Browse the repository at this point in the history
  9. docs: add another derive for Copyable struct

    This adds another `derive` for a `Copy`able struct, so that we are
    consistent with `derive` annotations.
    Jan Riemer committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    522d177 View commit details
    Browse the repository at this point in the history
  10. Don't emit "is not a logical operator" error outside of associative e…

    …xpressions
    
    Avoid showing this error where it doesn't make sense by not assuming
    "and" and "or" were intended to mean "&&" and "||" until after we decide
    to continue parsing input as an associative expression.
    
    Note that the decision of whether or not to continue parsing input as an
    associative expression doesn't actually depend on this assumption.
    
    Fixes rust-lang#75599
    tgnottingham committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    ff73a40 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2020

  1. Configuration menu
    Copy the full SHA
    3e3a2c8 View commit details
    Browse the repository at this point in the history
  2. resolve comments

    nixphix committed Aug 19, 2020
    Configuration menu
    Copy the full SHA
    63d2e9b View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#73379 - pnkfelix:issue-70819-disallow-overr…

    …ide-forbid-in-same-scope, r=petrochenkov
    
    Disallow later override of forbid lint in same scope
    
    Fix rust-lang#70819
    
    When building lint specs map for a given scope, check if forbid present on each insert.
    
    Drive-by changes:
    
      1. make `LintLevelsBuilder::push` private to the crate.
    
      2. Add methods to `LintSource` for extracting its name symbol or its span.
    
      3. Rewrote old test so that its use of lint attributes are consistent with what we want in the language. (Note that the fact this test existed is a slight sign that we may need a crater run on this bugfix...)
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    6af1838 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#75038 - rust-lang:Havvy-patch-1, r=stevekla…

    …bnik
    
    See also X-Link mem::{swap, take, replace}
    
    Since it's easy to end up at one of these functions when you really wanted the other one, cross link them with descriptions of why you'd want to use them.
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    29b43a8 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#75049 - janriemer:patch-1, r=poliorcetics

    docs(marker/copy): provide example for `&T` being `Copy`
    
    ### Edited 2020-08-16 (most recent)
    In the current documentation about the `Copy` marker trait, there is a section
    with examples of structs that can implement `Copy`. Currently there is no example for
    showing that shared references (`&T`) are also `Copy`.
    It is worth to have a dedicated example for `&T` being `Copy`, because shared
    references are an integral part of the language and it being `Copy` is not as
    intuitive as other types that share this behaviour like `i32` or `bool`.
    
    The example picks up on the previous non-`Copy` struct and shows that
    structs can be `Copy`, even when they hold a shared reference to a non-`Copy` type.
    
    -----------------------------------------
    ### Edited 2020-08-02, 3:28 p.m.
    I've just realized that it says "in addition to the **implementors listed below**", which makes this PR kind of "wrong", because `&T` is indeed in the "implementors listed below".
    Maybe we can instead show an example with `&T` in the [When can my type be Copy](https://doc.rust-lang.org/std/marker/trait.Copy.html#when-can-my-type-be-copy) section.
    
    What I really want to achieve is that it becomes more obvious that `&T` is also `Copy`, because, I think, it is very valuable to know and it wasn't obvious for me, until I read something about it in a forum post.
    
    What do you think? I would create another PR for that.
    **Please feel free to close this PR.**
    
    -----------------------------------
    ### Original post
    In the current documentation about the `Copy` marker trait, there is a section
    about "additional implementors", which list additional implementors of the `Copy` trait.
    The fact that shared references are also `Copy` is mixed with another point,
    which makes it hard to recognize and make it seem not as important.
    
    This clarifies the fact that shared references are also `Copy`, by mentioning it as a
    separate item in the list of "additional implementors".
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    049a831 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#75480 - ssomers:btree_check_invariant, r=Ma…

    …rk-Simulacrum
    
    BTreeMap: check some invariants in unit tests
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    cb5d1a7 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#75499 - jack-champagne:jack-champagne/issue…

    …-75412, r=Dylan-DPC
    
    Fix documentation error
    
    This should fix rust-lang#75412. Just a quick >= to > sign replacement.
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    5fe695b View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#75554 - jumbatm:fix-clashing-extern-decl-ov…

    …erflow, r=lcnr
    
    Fix clashing_extern_declarations stack overflow for recursive types.
    
    Fixes rust-lang#75512.
    
    Adds a seen set to `structurally_same_type` to avoid recursing indefinitely for types which contain values of the same type through a pointer or reference.
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    0c0323f View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#75646 - poliorcetics:intra-links-keywords, …

    …r=jyn514
    
    Move to intra doc links for keyword documentation
    
    Helps with rust-lang#75080.
    
    @rustbot modify labels: T-doc, A-intra-doc-links, T-rustdoc
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    96c8293 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#75649 - jyn514:inherent-lang-impls, r=Guill…

    …aumeGomez
    
    Fix intra-doc links for inherent impls that are both lang items and not the default impl
    
    I found in rust-lang#75464 (comment) that `str::to_uppercase()` doesn't resolve while `str::trim()` does. The only real difference is that `to_uppercase` is defined in `alloc`, while trim is defined in `core`. It turns out that rustdoc was ignoring `lang_items.str_alloc_impl()` - it saw them in `collect_trait_impls`, but not for intra-doc links.
    
    This uses the same `impls` for all parts of rustdoc, so that there can be no more inconsistency. It does have the slight downside that the matches are no longer exhaustive but it will be very clear if a new lang item is missed because it will panic when you try to document it (and if you don't document it, does rustdoc really need to know about it?).
    
    ~~This needs a test case (probably just `str::to_uppercase`).~~ Added.
    
    This is best reviewed commit-by-commit.
    
    r? @GuillaumeGomez
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    6544893 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#75658 - tgnottingham:issue-75599, r=estebank

    Don't emit "is not a logical operator" error outside of associative expressions
    
    Avoid showing this error where it doesn't make sense by not assuming
    "and" and "or" were intended to mean "&&" and "||" until after we decide
    to continue parsing input as an associative expression.
    
    Note that the decision of whether or not to continue parsing input as an
    associative expression doesn't actually depend on this assumption.
    
    Fixes rust-lang#75599
    
    ---
    
    First time contributor! Let me know if there are any conventions or policies I should be following that I missed here. Thanks :)
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    24e6035 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#75665 - GuillaumeGomez:doc-examples-coverag…

    …e, r=jyn514
    
    Add doc examples coverage
    
    r? @jyn514
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    b6daefb View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#75685 - nixphix:docs/unix-ext, r=jyn514

    Switch to intra-doc links in /src/sys/unix/ext/*.rs
    
    Partial fix for rust-lang#75080
    
    @rustbot modify labels: T-doc, A-intra-doc-links, T-rustdoc
    
    r? @jyn514
    
    These two links are not resolving to either `crate::fs::File...` or `fs::File...`
    ```
    # unix/ext/fs.rs
       27:    /// [`File::read`]: ../../../../std/fs/struct.File.html#method.read
    
      130:   /// [`File::write`]: ../../../../std/fs/struct.File.html#method.write
    ```
    tmandry authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    5013e01 View commit details
    Browse the repository at this point in the history