1. 25 2月, 2019 8 次提交
  2. 24 2月, 2019 17 次提交
    • T
      Remove some unnecessary 'extern crate' · 9a0b4b67
      Taiki Endo 提交于
      9a0b4b67
    • B
      Auto merge of #58315 - gnzlbg:returns_twice, r=alexcrichton · 097c04cf
      bors 提交于
      Implement unstable ffi_return_twice attribute
      
      This PR implements [RFC2633](https://github.com/rust-lang/rfcs/pull/2633)
      
      r? @EddyB
      097c04cf
    • T
      Use ? in some macros · 871910a2
      Taiki Endo 提交于
      871910a2
    • B
      Auto merge of #58691 - Centril:rollup, r=Centril · e17c48e2
      bors 提交于
      Rollup of 6 pull requests
      
      Successful merges:
      
       - #57364 (Improve parsing diagnostic for negative supertrait bounds)
       - #58183 (Clarify guarantees for `Box` allocation)
       - #58442 (Simplify the unix `Weak` functionality)
       - #58454 (Refactor Windows stdio and remove stdin double buffering )
       - #58511 (Const to op simplification)
       - #58642 (rustdoc: support methods on primitives in intra-doc links)
      
      Failed merges:
      
      r? @ghost
      e17c48e2
    • M
      Rollup merge of #58642 - tspiteri:intra-rustdoc-prim-method, r=GuillaumeGomez · f01ebc56
      Mazdak Farrokhzad 提交于
      rustdoc: support methods on primitives in intra-doc links
      
      Fixes #58598.
      f01ebc56
    • M
      Rollup merge of #58511 - oli-obk:const_to_op, r=RalfJung · 1082a292
      Mazdak Farrokhzad 提交于
      Const to op simplification
      
      r? @RalfJung
      
      alternative to https://github.com/rust-lang/rust/pull/58486
      1082a292
    • M
      Rollup merge of #58454 - pitdicker:windows_stdio, r=alexcrichton · 4dcb7af0
      Mazdak Farrokhzad 提交于
      Refactor Windows stdio and remove stdin double buffering
      
      I was looking for something nice and small to work on, tried to tackle a few FIXME's in Windows stdio, and things grew from there.
      
      This part of the standard library contains some tricky code, and has changed over the years to handle more corner cases. It could use some refactoring and extra comments.
      
      Changes/fixes:
      - Made `StderrRaw` `pub(crate)`, to remove the `Write` implementations on `sys::Stderr` (used unsynchronised for panic output).
      - Remove the unused `Read` implementation on `sys::windows::stdin`
      - The `windows::stdio::Output` enum made sense when we cached the handles, but we can use simple functions like `is_console` now that we get the handle on every read/write
      - `write` can now calculate the number of written bytes as UTF-8 when we can't write all `u16`s.
      - If `write` could only write one half of a surrogate pair, attempt another write for the other because user code can't reslice in any way that would allow us to write it otherwise.
      - Removed the double buffering on stdin. Documentation on the unexposed `StdinRaw` says: 'This handle is not synchronized or buffered in any fashion'; which is now true.
      - `sys::windows::Stdin` now always only partially fills its buffer, so we can guarantee any arbitrary UTF-16 can be re-encoded without losing any data.
      - `sys::windows::STDIN_BUF_SIZE` is slightly larger to compensate. There should be no real change in the number of syscalls the buffered `Stdin` does. This buffer is a little larger, while the extra buffer on Stdin is gone.
      - `sys::windows::Stdin` now attempts to handle unpaired surrogates at its buffer boundary.
      - `sys::windows::Stdin` no langer allocates for its buffer, but the UTF-16 decoding still does.
      
      ### Testing
      I did some manual testing of reading and writing to console. The console does support UTF-16 in some sense, but doesn't supporting displaying characters outside the BMP.
      - compile stage 1 stdlib with a tiny value for `MAX_BUFFER_SIZE` to make it easier to catch corner cases
      - run a simple test program that reads on stdin, and echo's to stdout
      - write some lines with plenty of ASCII and emoji in a text editor
      - copy and paste in console to stdin
      - return with `\r\n\` or CTRL-Z
      - copy and paste in text editor
      - check it round-trips
      
      -----
      
      Fixes https://github.com/rust-lang/rust/issues/23344. All but one of the suggestions in that issue are now implemented. the missing one is:
      
      > * When reading data, we require the entire set of input to be valid UTF-16. We should instead attempt to read as much of the input as possible as valid UTF-16, only returning an error for the actual invalid elements. For example if we read 10 elements, 5 of which are valid UTF-16, the 6th is bad, and then the remaining are all valid UTF-16, we should probably return the first 5 on a call to `read`, then return an error, then return the remaining on the next call to `read`.
      
      Stdin in Console mode is dealing with text directly input by a user. In my opinion getting an unpaired surrogate is quite unlikely in that case, and a valid reason to error on the entire line of input (which is probably short). Dealing with it is incompatible with an unbuffered stdin, which seems the more interesting guarantee to me.
      4dcb7af0
    • M
      Rollup merge of #58442 - cuviper:unix-weak, r=alexcrichton · b78e9f4f
      Mazdak Farrokhzad 提交于
      Simplify the unix `Weak` functionality
      
      - We can avoid allocation by adding a NUL to the function name.
      - We can get `Option<F>` directly, rather than aliasing the inner `AtomicUsize`.
      b78e9f4f
    • M
      Rollup merge of #58183 - jethrogb:jb/alloc-box-guarantees, r=SimonSapin · 55b5ab83
      Mazdak Farrokhzad 提交于
      Clarify guarantees for `Box` allocation
      
      This basically says `Box` does the obvious things for its allocations.
      
      See also: https://users.rust-lang.org/t/alloc-crate-guarantees/24981
      
      This may require a T-libs FCP? Not sure.
      
      r? @sfackler
      55b5ab83
    • M
      Rollup merge of #57364 - hdhoang:33418_negative_bounds, r=estebank · ae646687
      Mazdak Farrokhzad 提交于
      Improve parsing diagnostic for negative supertrait bounds
      
      closes #33418
      
      r? @estebank
      ae646687
    • B
      Auto merge of #58304 - gnzlbg:simd_saturated, r=nagisa · 7cb3ee45
      bors 提交于
      Add generic simd saturated add/sub intrinsics
      
      r? @EddyB
      7cb3ee45
    • B
      Auto merge of #58232 - ljedrz:HirIdification_continued, r=Zoxc · f5730497
      bors 提交于
      HirId-ify intravisit
      
      A big step towards https://github.com/rust-lang/rust/pull/57578.
      
      This affects mostly `hir::{collector, intravisit}` and `rustc::lint`.
      f5730497
    • M
      replace deprecated rustfmt_skip with rustfmt::skip · 6464a0ba
      Marcel Hellwig 提交于
      6464a0ba
    • B
      Auto merge of #57051 - Eijebong:parking_lot, r=nikomatsakis · aadbc459
      bors 提交于
      Update parking_lot to 0.7
      
      Unfortunately this'll dupe parking_lot until the data_structures crate
      is published and be updated in rls in conjunction with crossbeam-channel
      aadbc459
    • T
      aa0fa752
    • T
      bde4d194
    • B
      Auto merge of #58661 - ehuss:update-cargo, r=alexcrichton · 02a4e272
      bors 提交于
      Update cargo
      
      5 commits in b33ce7fc9092962b0657b4c25354984b5e5c47e4..5c6aa46e6f28661270979696e7b4c2f0dff8628f
      2019-02-19 18:42:50 +0000 to 2019-02-22 19:32:35 +0000
      - convert unused doc comments to regular comments (rust-lang/cargo#6692)
      - Add more about system library on whether to keep Cargo.lock (rust-lang/cargo#6685)
      - Warn when excluding non-existing packages (rust-lang/cargo#6679)
      - Incremental profile cleanup. (rust-lang/cargo#6688)
      - Various cosmetic improvements (rust-lang/cargo#6687)
      02a4e272
  3. 23 2月, 2019 15 次提交