diff options
| author | bors <bors@rust-lang.org> | 2018-12-31 23:30:57 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-12-31 23:30:57 +0000 |
| commit | fe6a54d2207c9ab2c5eb5aa3c9488d92c7c86bfb (patch) | |
| tree | 6679295c9f2d8390701a58a66e0124bd647dc9dc /src/libstd/sys | |
| parent | 9eac386342c601b14311b435f2b6d314fc817bb5 (diff) | |
| parent | 60d1fa70bbb017632f43c206e5f16b0b5bbd0149 (diff) | |
| download | rust-fe6a54d2207c9ab2c5eb5aa3c9488d92c7c86bfb.tar.gz rust-fe6a54d2207c9ab2c5eb5aa3c9488d92c7c86bfb.zip | |
Auto merge of #56878 - petrochenkov:privdyn, r=arielb1
privacy: Use common `DefId` visiting infrastructure for all privacy visitors One repeating pattern in privacy checking is going through a type, visiting all `DefId`s inside it and doing something with them. This is the case because visibilities and reachabilities are attached to `DefId`s. Previously various privacy visitors visited types slightly differently using their own methods, with most recently written `TypePrivacyVisitor` being the "gold standard". This mostly worked okay, but differences could manifest in overly conservative reachability analysis, some errors being reported twice, some private-in-public lints (not errors) being wrongly reported or not reported. This PR does something that I wanted to do since https://github.com/rust-lang/rust/pull/32674#discussion_r58291608 - factoring out the common visiting logic! Now all the common logic is contained in `struct DefIdVisitorSkeleton`, with specific privacy visitors deciding only what to do with visited `DefId`s (via `trait DefIdVisitor`). A bunch of cleanups is also applied in the process. This area is somewhat tricky due to lots of easily miss-able details, but thankfully it's was well covered by tests in https://github.com/rust-lang/rust/pull/46083 and previous PRs, so I'm relatively sure in the refactoring correctness. Fixes https://github.com/rust-lang/rust/pull/56837#discussion_r241962239 in particular. Also this will help with implementing https://github.com/rust-lang/rust/issues/48054.
Diffstat (limited to 'src/libstd/sys')
| -rw-r--r-- | src/libstd/sys/windows/handle.rs | 5 | ||||
| -rw-r--r-- | src/libstd/sys/windows/stdio.rs | 5 |
2 files changed, 0 insertions, 10 deletions
diff --git a/src/libstd/sys/windows/handle.rs b/src/libstd/sys/windows/handle.rs index 7d12e0f6ef0..855efbd3eb5 100644 --- a/src/libstd/sys/windows/handle.rs +++ b/src/libstd/sys/windows/handle.rs @@ -160,11 +160,6 @@ impl RawHandle { } } - pub fn read_to_end(&self, buf: &mut Vec<u8>) -> io::Result<usize> { - let mut me = self; - (&mut me).read_to_end(buf) - } - pub fn write(&self, buf: &[u8]) -> io::Result<usize> { let mut amt = 0; let len = cmp::min(buf.len(), <c::DWORD>::max_value() as usize) as c::DWORD; diff --git a/src/libstd/sys/windows/stdio.rs b/src/libstd/sys/windows/stdio.rs index f331397db8c..a4f4bd22cd9 100644 --- a/src/libstd/sys/windows/stdio.rs +++ b/src/libstd/sys/windows/stdio.rs @@ -128,11 +128,6 @@ impl Stdin { // MemReader shouldn't error here since we just filled it utf8.read(buf) } - - pub fn read_to_end(&self, buf: &mut Vec<u8>) -> io::Result<usize> { - let mut me = self; - (&mut me).read_to_end(buf) - } } #[unstable(reason = "not public", issue = "0", feature = "fd_read")] |
