Skip to content
Permalink
Tree: c326c2e0f1
Commits on Aug 6, 2019
  1. Auto merge of #63320 - RalfJung:miri, r=oli-obk

    bors committed Aug 6, 2019
    bump Miri
    
    r? @oli-obk
    
    Fixes #63219.
  2. Auto merge of #61515 - shepmaster:boxed-slice-to-array, r=cramertj

    bors committed Aug 6, 2019
    Add implementations for converting boxed slices into boxed arrays
    
    This mirrors the implementations of reference slices into arrays.
    
    # Discussion
    
    - [x] Should we use const generics? ([probably not](#61515 (comment)))
    - [ ] [What's the safety rationale here](#61515 (comment))?
    - [ ] [Should the errors return the original object](#61515 (comment))?
    
    # Remaining
    
    - [ ] Implement `Error`
    - [ ] Create a tracking issue
  3. Auto merge of #63328 - Centril:rollup-482ujaf, r=Centril

    bors committed Aug 6, 2019
    Rollup of 6 pull requests
    
    Successful merges:
    
     - #62459 (Use internal iteration in the Sum and Product impls of Result and Option)
     - #62821 (Not listed methods)
     - #62837 (Fix theme picker blur handler: always hide instead of switching)
     - #63286 (Replace error callback with Result)
     - #63296 (Deduplicate rustc_demangle in librustc_codegen_llvm)
     - #63298 (assume_init: warn about valid != safe)
    
    Failed merges:
    
    r? @ghost
  4. Rollup merge of #63298 - RalfJung:assume_init, r=Mark-Simulacrum,Centril

    Centril committed Aug 6, 2019
    assume_init: warn about valid != safe
    
    We have this warning in the type-level docs, but it seems worth repeating it on the function.
  5. Rollup merge of #63296 - alexcrichton:deduplicate-demangle, r=Mark-Si…

    Centril committed Aug 6, 2019
    …mulacrum
    
    Deduplicate rustc_demangle in librustc_codegen_llvm
    
    This commit removes the crates.io dependency of `rustc-demangle` from
    `rustc_codegen_llvm`. This crate is actually already pulled in to part
    of the `librustc_driver` build and with the upcoming pipelining
    implementation in Cargo it causes build issues if `rustc-demangle` is
    left to its own devices.
    
    This is not currently required, but once pipelining is enabled for
    rustc's own build it will be required to build correctly.
  6. Rollup merge of #63286 - Mark-Simulacrum:resolve-no-cb, r=petrochenkov

    Centril committed Aug 6, 2019
    Replace error callback with Result
    
    r? @petrochenkov
  7. Rollup merge of #62837 - Kinrany:patch-1, r=GuillaumeGomez

    Centril committed Aug 6, 2019
    Fix theme picker blur handler: always hide instead of switching
    
    Fixes a minor bug in UI generated by rustdoc.
    
    For example, this page: https://doc.rust-lang.org/std/
    
    Reproduction steps:
    1. Click the theme picker twice
       * The list of themes will be shown and then hidden
    2. Click anywhere else
       * The list of themes will be show again, which is unexpected
    
    The bug was caused by blur event handler toggling the state of the element instead of always hiding it regardless of the current state.
  8. Rollup merge of #62459 - timvermeulen:result_sum_internal_iteration, …

    Centril committed Aug 6, 2019
    …r=scottmcm
    
    Use internal iteration in the Sum and Product impls of Result and Option
    
    This PR adds internal iteration to the `ResultShunt` iterator type underlying the `Sum` and `Product` impls of `Result`. I had to change `ResultShunt` to hold a mutable reference to an error instead, similar to `itertools::ProcessResults`, in order to be able to pass the `ResultShunt` itself by value (which is necessary for internal iteration).
    
    `ResultShunt::process` can unfortunately no longer be an associated function because that would make it generic over the lifetime of the error reference, which wouldn't work, so I turned it into the free function `process_results`.
    
    I removed the `OptionShunt` type and forwarded the `Sum` and `Product` impls of `Option` to their respective impls of `Result` instead, to avoid having to repeat the internal iteration logic.
  9. clarify

    RalfJung committed Aug 6, 2019
  10. Auto merge of #63319 - Centril:rollup-d89rmey, r=Centril

    bors committed Aug 6, 2019
    Rollup of 14 pull requests
    
    Successful merges:
    
     - #61457 (Implement DoubleEndedIterator for iter::{StepBy, Peekable, Take})
     - #63017 (Remove special code-path for handing unknown tokens)
     - #63184 (Explaining the reason why validation is performed in to_str of path.rs)
     - #63230 (Make use of possibly uninitialized data [E0381] a hard error)
     - #63260 (fix UB in a test)
     - #63264 (Revert "Rollup merge of #62696 - chocol4te:fix_#62194, r=estebank")
     - #63272 (Some more libsyntax::attr cleanup)
     - #63285 (Remove leftover AwaitOrigin)
     - #63287 (Don't store &Span)
     - #63293 (Clarify align_to's requirements and obligations)
     - #63295 (improve align_offset docs)
     - #63299 (Make qualify consts in_projection use PlaceRef)
     - #63312 (doc: fix broken sentence)
     - #63315 (Fix #63313)
    
    Failed merges:
    
    r? @ghost
  11. be clear that 1-init Vec being valid (but not safe) is not a stable g…

    RalfJung committed Aug 6, 2019
    …uarantee
  12. bump Miri

    RalfJung committed Aug 6, 2019
  13. Rollup merge of #63315 - rust-lang:fix-63313, r=alexreg

    Centril committed Aug 6, 2019
    Fix #63313
    
    Fixes #63313
    
    r? @alexreg
  14. Rollup merge of #63312 - tshepang:doc-fix, r=Centril

    Centril committed Aug 6, 2019
    doc: fix broken sentence
    
    Also, the move was done nearly a year ago
  15. Rollup merge of #63299 - spastorino:in-projection-use-ref, r=oli-obk

    Centril committed Aug 6, 2019
    Make qualify consts in_projection use PlaceRef
    
    r? @oli-obk
  16. Rollup merge of #63295 - RalfJung:align_offset, r=dtolnay

    Centril committed Aug 6, 2019
    improve align_offset docs
    
    Cc @shepmaster
  17. Rollup merge of #63293 - shepmaster:align-to-doc, r=RalfJung

    Centril committed Aug 6, 2019
    Clarify align_to's requirements and obligations
    
    Based on discussions with @RalfJung around my misunderstandings when using this.
    
    r? @RalfJung
  18. Rollup merge of #63287 - Mark-Simulacrum:span-no-ref, r=Centril

    Centril committed Aug 6, 2019
    Don't store &Span
    
    This is just needless indirection.
  19. Rollup merge of #63285 - Mark-Simulacrum:rm-await-origin, r=Centril

    Centril committed Aug 6, 2019
    Remove leftover AwaitOrigin
    
    This was missed in PR #62293.
  20. Rollup merge of #63272 - Mark-Simulacrum:clean-attr, r=petrochenkov

    Centril committed Aug 6, 2019
    Some more libsyntax::attr cleanup
    
    Much smaller patch than the last one, mostly just finishing up by removing some Span arguments.
    
    r? @petrochenkov
  21. Rollup merge of #63264 - arielb1:revert-private-coherence-errors, r=e…

    Centril committed Aug 6, 2019
    …stebank
    
    Revert "Rollup merge of #62696 - chocol4te:fix_#62194, r=estebank"
    
    This reverts commit df21a6f (#62696), reversing
    changes made to cc16d04.
    
    That PR makes error messages worse than before, and we couldn't come up with a way of actually making them better, so revert it for now. Any idea for making this error message better is welcome!
    
    Fixes #63145.
    
    r? @estebank
  22. Rollup merge of #63260 - RalfJung:ptr-test, r=matklad

    Centril committed Aug 6, 2019
    fix UB in a test
    
    We used to compare two mutable references that were supposed to point to the same thing. That's no good.
    
    Compare them as raw pointers instead.
  23. Rollup merge of #63230 - tmandry:disallow-possibly-uninitialized, r=C…

    Centril committed Aug 6, 2019
    …entril
    
    Make use of possibly uninitialized data [E0381] a hard error
    
    This is one of the behaviors we no longer allow in NLL. Since it can
    lead to undefined behavior, I think it's definitely worth making it a
    hard error without waiting to turn off migration mode (#58781).
    
    Closes #60450.
    
    My ulterior motive here is making it impossible to leave variables
    partially initialized across a yield (see #60889, discussion at #63035), so
    tests are included for that.
    
    cc #54987
    
    ---
    
    I'm not sure if bypassing the buffer is a good way of doing this. We could also make a `force_errors_buffer` or similar that gets recombined with all the errors as they are emitted. But this is simpler and seems fine to me.
    
    r? @Centril
    cc @cramertj @nikomatsakis @pnkfelix @RalfJung
  24. Rollup merge of #63184 - JasonShin:master, r=sfackler

    Centril committed Aug 6, 2019
    Explaining the reason why validation is performed in to_str of path.rs
    
    I thought it's good to explain the reason for the validation during the conversion between Path/PathBuffer into str, which explains the reason for returning an Option at this point (good for beginners who are reading through the docs).
  25. Rollup merge of #63017 - matklad:no-fatal, r=petrochenkov

    Centril committed Aug 6, 2019
    Remove special code-path for handing unknown tokens
    
    In `StringReader`, we have a buffer of fatal errors, which is used only in a single case: when we see something which is not a reasonable token at all, like `🦀`. I think a more straightforward thing to do here is to produce an explicit error token in this case, and let the next layer (the parser), deal with it.
    
    However currently this leads to duplicated error messages. What should we do with this? Naively, I would think that emitting (just emitting, not raising) `FatalError` should stop other errors, but looks like this is not the case? We can also probably tweak parser on the case-by-case basis, to avoid emitting "expected" errors if the current token is an `Err`. I personally also fine with cascading errors in this case: it's quite unlikely that you actually type a fully invalid token.
    
    @petrochenkov, which approach should we take to fight cascading errors?
  26. Rollup merge of #61457 - timvermeulen:double_ended_iters, r=scottmcm

    Centril committed Aug 6, 2019
    Implement DoubleEndedIterator for iter::{StepBy, Peekable, Take}
    
    Now that `DoubleEndedIterator::nth_back` has landed, `StepBy` and `Take` can have an efficient `DoubleEndedIterator` implementation. I don't know if there was any particular reason for `Peekable` not having a `DoubleEndedIterator` implementation, but it's quite trivial and I don't see any drawbacks to having it.
    
    I'm not very happy about the implementation of `Peekable::try_rfold`, but I didn't see another way to only take the value out of `self.peeked` in case `self.iter.try_rfold` didn't exit early.
    
    I only added `Peekable::rfold` (in addition to `try_rfold`) because its `Iterator` implementation has both `fold` and `try_fold` (and for similar reasons I added `Take::try_rfold` but not `Take::rfold`). Do we have any guidelines on whether we want both? If we do want both, maybe we should investigate which iterator adaptors override `try_fold` but not `fold` and add the missing implementations. At the moment I think that it's better to always have iterator adaptors implement both, because some iterators have a simpler `fold` implementation than their `try_fold` implementation.
    
    The tests that I added may not be sufficient because they're all just existing tests where `next`/`nth`/`fold`/`try_fold` are replaced by their DEI counterparts, but I do think all paths are covered. Is there anything in particular that I should probably also test?
  27. Auto merge of #62987 - Thomasdezeeuw:ioslice-advance, r=Thomasdezeeuw

    bors committed Aug 6, 2019
    Add {IoSlice, IoSliceMut}::advance
    
    API inspired by the [`Buf::advance`](https://docs.rs/bytes/0.4.12/bytes/trait.Buf.html#tymethod.advance) method found in the [bytes](https://docs.rs/bytes) crate.
    
    Closes #62726.
  28. Update README.md

    Centril committed Aug 6, 2019
  29. doc: fix broken sentence

    tshepang committed Aug 6, 2019
    Also, the move was done nearly a year ago
Commits on Aug 5, 2019
  1. Clarify align_to's requirements and obligations

    shepmaster committed Aug 5, 2019
  2. Add test for DerefMut methods

    GuillaumeGomez committed Aug 5, 2019
  3. Make use of possibly uninitialized data a hard error

    tmandry committed Aug 3, 2019
    This is one of the behaviors we no longer allow in NLL. Since it can
    lead to undefined behavior, I think it's definitely worth making it a
    hard error without waiting to turn off migration mode (#58781).
    
    Closes #60450.
    
    My ulterior motive here is making it impossible to leave variables
    partially initialized across a yield (see discussion at #63035), so
    tests are included for that.
  4. Make qualify consts in_projection use PlaceRef

    spastorino committed Aug 5, 2019
Older
You can’t perform that action at this time.