about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2021-08-19Factor out Unix and WASI fd code into a common module.Dan Gohman-560/+298
2021-08-19Synchronize minor differences between Unix and WASI implementations.Dan Gohman-7/+9
2021-08-19Add more comments about the `INVALID_HANDLE_VALUE` situation.Dan Gohman-12/+30
2021-08-19Add comments about impls for File, TcpStream, ChildStdin, etc.Dan Gohman-0/+42
2021-08-19Fix copypasta of "Unix" within the WASI directory.Dan Gohman-1/+1
2021-08-19Reword the description of dup2/dup3.Dan Gohman-1/+1
2021-08-19Add Safety comments to the `As*` for `Owned*` implementations.Dan Gohman-0/+12
2021-08-19Add Owned*, Borrowed*, and As* to the preludes.Dan Gohman-4/+7
2021-08-19Rename `OwnedFd`'s private field to match it's debug output.Dan Gohman-85/+86
2021-08-19Delete a spurious empty comment line.Dan Gohman-1/+0
2021-08-19Add a comment about how `OwnedHandle` should not be used with registry handles.Dan Gohman-2/+15
2021-08-19Add a comment about `OptionFileHandle`.Dan Gohman-0/+4
2021-08-19Be more precise about `mmap` and undefined behavior.Dan Gohman-3/+3
`mmap` doesn't *always* cause undefined behavior; it depends on the details of how you use it.
2021-08-19Add a test to ensure that RawFd is the size we assume it is.Dan Gohman-0/+30
2021-08-19Update library/std/src/os/windows/io/socket.rsDan Gohman-1/+1
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-08-19Update library/std/src/os/windows/io/handle.rsDan Gohman-1/+1
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-08-19Update library/std/src/os/unix/io/fd.rsDan Gohman-1/+1
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-08-19I/O safety.Dan Gohman-556/+2360
Introduce `OwnedFd` and `BorrowedFd`, and the `AsFd` trait, and implementations of `AsFd`, `From<OwnedFd>` and `From<T> for OwnedFd` for relevant types, along with Windows counterparts for handles and sockets. Tracking issue: - <https://github.com/rust-lang/rust/issues/87074> RFC: - <https://github.com/rust-lang/rfcs/blob/master/text/3128-io-safety.md>
2021-08-19Auto merge of #88124 - tmiasko:start-block-critical-edge, r=oli-obkbors-1/+13
Split critical edge targeting the start block Fixes #88043.
2021-08-19Auto merge of #88023 - devnexen:fbsd_arm64, r=nagisabors-2/+8
freebsd arm64 add supported sanitizers.
2021-08-19Auto merge of #88002 - hermitcore:unbox-mutex, r=dtolnaybors-6/+6
Unbox mutexes, condvars and rwlocks on hermit [RustyHermit](https://github.com/hermitcore/rusty-hermit) provides now movable synchronization primitives and we are able to unbox mutexes and condvars.
2021-08-19Auto merge of #87986 - Aaron1011:incr-double-panic, r=estebankbors-6/+28
Prevent double panic when handling incremental fingerprint mismatch When an incremental fingerprint mismatch occurs, we debug-print our `DepNode` and query result. Unfortunately, the debug printing process may cause us to run additional queries, which can result in a re-entrant fingerprint mismatch error. To avoid a double panic, this commit adds a thread-local variable to detect re-entrant calls.
2021-08-19Auto merge of #88143 - GuillaumeGomez:rollup-sgh318f, r=GuillaumeGomezbors-108/+303
Rollup of 10 pull requests Successful merges: - #87818 (Fix anchors display in rustdoc) - #87983 (Use more accurate spans when proposing adding lifetime to item) - #88012 (Change WASI's `RawFd` from `u32` to `c_int` (`i32`).) - #88031 (Make `BuildHasher` object safe) - #88036 (Fix dead code warning when inline const is used in pattern) - #88082 (Take into account jobs number for rustdoc GUI tests) - #88109 (Fix environment variable getter docs) - #88111 (Add background-color on clickable definitions in source code) - #88129 (Fix dataflow graphviz bug, make dataflow graphviz modules public) - #88136 (Move private_unused.rs test to impl-trait) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-08-19Auto merge of #87818 - GuillaumeGomez:anchors-display-rustdoc, r=camelidbors-5/+9
Fix anchors display in rustdoc Fixes https://github.com/rust-lang/rust/issues/87611 (it simplifies the positioning and fix the background). ![Screenshot from 2021-08-06 16-47-03](https://user-images.githubusercontent.com/3050060/128531105-61d1c21f-4a4d-4d68-aedf-9bfe0332f8ae.png) ![Screenshot from 2021-08-06 16-47-10](https://user-images.githubusercontent.com/3050060/128531109-b2ea8065-10b0-4400-9507-322122e42e78.png) ![Screenshot from 2021-08-06 16-47-14](https://user-images.githubusercontent.com/3050060/128531111-8a17cbdb-29e8-4baa-a0d6-81aa4f6ac6ed.png) r? `@camelid`
2021-08-18Rollup merge of #88136 - spastorino:fix-test-directory, r=oli-obkGuillaume Gomez-0/+0
Move private_unused.rs test to impl-trait This test was added to fix this issue #55124 which is about impl traits but not related with type alias impl traits. r? `@oli-obk` `@bors` rollup=always
2021-08-18Rollup merge of #88129 - willcrichton:expose-graphviz-modules, r=ecstatic-morseGuillaume Gomez-4/+4
Fix dataflow graphviz bug, make dataflow graphviz modules public I'm working on a rustc plugin that uses the dataflow framework for MIR analysis. I've found the graphviz utilities extremely helpful for debugging. However, I had to fork the compiler to expose them since they're currently private. I would appreciate if they could be made public so I can build against a nightly instead of a custom fork. Specifically, this PR: * Makes public the `rustc_mir::dataflow::framework::graphviz` module. * Makes public the `rustc_mir::util::pretty::write_mir_fn` function. Here's a concrete example of how I'm using the graphviz module: https://github.com/willcrichton/flowistry/blob/97b843b8b06b4004fbb79b5fcfca3e33c7143bc0/src/slicing/mod.rs#L186-L203 Additionally, this PR fixes a small bug in the diff code that incorrectly shows the updated object as the old object. r? `@ecstatic-morse`
2021-08-18Rollup merge of #88111 - GuillaumeGomez:background-color-jump-to-def, r=jhprattGuillaume Gomez-0/+9
Add background-color on clickable definitions in source code Someone suggested to add a decoration on clickable elements in the source code pages: ![Screenshot from 2021-08-17 14-49-39](https://user-images.githubusercontent.com/3050060/129728911-def74f9e-50e2-40d2-b512-e23f1b3d0409.png) ![Screenshot from 2021-08-17 14-49-47](https://user-images.githubusercontent.com/3050060/129728925-14aec500-82ff-4336-955a-4173c769deeb.png) ![Screenshot from 2021-08-17 14-49-52](https://user-images.githubusercontent.com/3050060/129728927-a8a89d7a-e837-4ff5-b094-35be23629d14.png) The idea is to not disturb the reading while telling the reader "you can click on this one", which is why it's not a text decoration. What do you think `@rust-lang/rustdoc` ? r? `@Nemo157`
2021-08-18Rollup merge of #88109 - inquisitivecrystal:env-docs, r=m-ou-seGuillaume Gomez-5/+14
Fix environment variable getter docs `@RalfJung` pointed out a number of errors and suboptimal choices I made in my documentation for #86183. This PR should (hopefully) fix the problems they've identified.
2021-08-18Rollup merge of #88082 - GuillaumeGomez:rustdoc-gui-jobs-opt, r=dns2utf8Guillaume Gomez-3/+23
Take into account jobs number for rustdoc GUI tests Fixes #88054. r? `@Mark-Simulacrum`
2021-08-18Rollup merge of #88036 - nbdd0121:const3, r=petrochenkovGuillaume Gomez-0/+52
Fix dead code warning when inline const is used in pattern Fixes #78171
2021-08-18Rollup merge of #88031 - ibraheemdev:build-hasher-object-safe, r=m-ou-seGuillaume Gomez-2/+12
Make `BuildHasher` object safe Resolves #87991
2021-08-18Rollup merge of #88012 - sunfishcode:sunfishcode/wasi-raw-fd-c-int, ↵Guillaume Gomez-54/+83
r=alexcrichton Change WASI's `RawFd` from `u32` to `c_int` (`i32`). WASI previously used `u32` as its `RawFd` type, since its "file descriptors" are unsigned table indices, and there's no fundamental reason why WASI can't have more than 2^31 handles. However, this creates myriad little incompability problems with code that also supports Unix platforms, where `RawFd` is `c_int`. While WASI isn't a Unix, it often shares code with Unix, and this difference made such shared code inconvenient. #87329 is the most recent example of such code. So, switch WASI to use `c_int`, which is `i32`. This will mean that code intending to support WASI should ideally avoid assuming that negative file descriptors are invalid, even though POSIX itself says that file descriptors are never negative. This is a breaking change, but `RawFd` is considerd an experimental feature in [the documentation]. [the documentation]: https://doc.rust-lang.org/stable/std/os/wasi/io/type.RawFd.html r? `@alexcrichton`
2021-08-18Rollup merge of #87983 - estebank:smaller-lt-spans, r=oli-obkGuillaume Gomez-40/+106
Use more accurate spans when proposing adding lifetime to item
2021-08-18Rollup merge of #87818 - GuillaumeGomez:anchors-display-rustdoc, r=camelidGuillaume Gomez-5/+9
Fix anchors display in rustdoc Fixes https://github.com/rust-lang/rust/issues/87611 (it simplifies the positioning and fix the background). ![Screenshot from 2021-08-06 16-47-03](https://user-images.githubusercontent.com/3050060/128531105-61d1c21f-4a4d-4d68-aedf-9bfe0332f8ae.png) ![Screenshot from 2021-08-06 16-47-10](https://user-images.githubusercontent.com/3050060/128531109-b2ea8065-10b0-4400-9507-322122e42e78.png) ![Screenshot from 2021-08-06 16-47-14](https://user-images.githubusercontent.com/3050060/128531111-8a17cbdb-29e8-4baa-a0d6-81aa4f6ac6ed.png) r? `@camelid`
2021-08-18Auto merge of #86700 - lqd:matthews-nll-hrtb-errors, r=nikomatsakisbors-345/+1043
Matthew's work on improving NLL's "higher-ranked subtype error"s This PR rebases `@matthewjasper's` [branch](https://github.com/matthewjasper/rust/tree/nll-hrtb-errors) which has great work to fix the obscure higher-ranked subtype errors that are tracked in #57374. These are a blocker to turning full NLLs on, and doing some internal cleanups to remove some of the old region code. The goal is so `@nikomatsakis` can take a look at this early, and I'll then do my best to help do the changes and followup work to land this work, and move closer to turning off the migration mode. I've only updated the branch and made it compile, removed a warning or two. r? `@nikomatsakis` (Here's the [zulip topic to discuss this](https://rust-lang.zulipchat.com/#narrow/stream/122657-t-compiler.2Fwg-nll/topic/.2357374.3A.20improving.20higher-ranked.20subtype.20errors.20via.20.2386700) that Niko wanted)
2021-08-18review comment: use newtype to deduplicate logicEsteban Kuber-32/+70
2021-08-18Auto merge of #88127 - ehuss:update-cargo, r=ehussbors-2/+2
Update cargo 8 commits in b51439fd8b505d4800a257acfecf3c69f81e35cf..e96bdb0c3d0a418e7fcd7fbd69be08abf830b4bc 2021-08-09 18:40:05 +0000 to 2021-08-17 22:58:47 +0000 - Support using rustbot to ping the Windows group (rust-lang/cargo#9802) - Show information about abnormal `fix` errors. (rust-lang/cargo#9799) - Bump jobserver. (rust-lang/cargo#9798) - Render build-std web links as hyperlinks (rust-lang/cargo#9795) - Teach cargo to failfast on recursive/corecursive aliases (rust-lang/cargo#9791) - Fix value-after-table error with profiles. (rust-lang/cargo#9789) - Fix plugin registrar change. (rust-lang/cargo#9790) - Ability to specify the output name for a bin target different from the crate name (rust-lang/cargo#9627)
2021-08-18Move private_unused.rs test to impl-traitSantiago Pastorino-0/+0
2021-08-18review comment: reduce duplicationEsteban Kuber-24/+27
2021-08-18Fix anchors display in rustdocGuillaume Gomez-5/+9
2021-08-18Auto merge of #87781 - est31:remove_box, r=oli-obkbors-505/+549
Remove box syntax from compiler and tools Removes box syntax from the compiler and tools. In #49733, the future of box syntax is uncertain and the use in the compiler was listed as one of the reasons to keep it. Removal of box syntax [might affect the code generated](https://github.com/rust-lang/rust/pull/49646#issuecomment-379219615) and slow down the compiler so I'd recommend doing a perf run on this.
2021-08-18Use more accurate spans when proposing adding lifetime to itemEsteban Kuber-37/+62
2021-08-18Auto merge of #87985 - nbdd0121:asm, r=Amanieubors-5/+37
Forbid `!` from being used in `asm!` output Fixes #87802 r? `@Amanieu`
2021-08-18add fixme about the `type_op_normalize` query in NLL HRTB diagnosticsRémy Rakic-1/+7
2021-08-18remove box_syntax uses from cranelift and toolsMarcel Hellwig-298/+304
2021-08-18Remove box syntax from rustc_lintest31-6/+5
2021-08-18Remove box syntax from rustc_mirest31-101/+119
2021-08-18Remove box syntax from rustc_middleest31-7/+6
2021-08-18Remove box syntax from rustc_parseest31-8/+7
2021-08-18Remove box syntax from rustc_serializeest31-2/+1