Commit graph

13421 commits

Author SHA1 Message Date
bors
ed196221d8 Auto merge of #57810 - MikaelUrankar:stack_t_bsd, r=nagisa
FreeBSD 10.x is EOL, in FreeBSD 11 and later, ss_sp is actually a void*

…d* [1]

dragonflybsd still uses c_char [2]

[1] https://svnweb.freebsd.org/base/releng/11.2/sys/sys/signal.h?revision=334459&view=markup#l438
[2] https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/signal.h#L339
2019-03-22 14:19:42 +00:00
Lukas Kalbertodt
c97d3d4dd1
Add tracking issue number for seek_convenience 2019-03-22 11:25:44 +01:00
Jethro Beekman
2079df1c87 Unify OsString/OsStr for byte-based implementations 2019-03-21 13:45:35 -07:00
MikaelUrankar
de021e39e6 FreeBSD 10.x is EOL, in FreeBSD 11 and later, ss_sp is actually a void* [1]
dragonflybsd still uses c_char [2]

[1] https://svnweb.freebsd.org/base/releng/11.2/sys/sys/signal.h?revision=334459&view=markup#l438
[2] https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/signal.h#L339
2019-03-21 16:53:31 +01:00
bors
89573b3c8b Auto merge of #58422 - LukasKalbertodt:seek-convenience, r=alexcrichton
Add provided methods `Seek::{stream_len, stream_position}`

This adds two new, provided methods to the `io::Seek` trait:
- `fn stream_len(&mut self) -> Result<u64>`
- `fn stream_position(&mut self) -> Result<u64>`

Both are added for convenience and to improve readability in user code. Reading `file.stream_len()` is much better than to manually seek two or three times. Similarly, `file.stream_position()` is much more clear than `file.seek(SeekFrom::Current(0))`.

You can find prior discussions [in this internals thread](https://internals.rust-lang.org/t/pre-rfc-idea-extend-io-seek-with-convenience-methods-with-e-g-stream-len/9262). I think I addressed all concerns in that thread.

I already wrote three RFCs to add a small new API to libstd but I noticed that many public changes to libstd happen without an RFC. So I figured I can try opening a PR directly without going through RFCs first. After all, we do have rfcbot here too. If you think this change is too big to merge without an RFC, I can still close this PR and write an RFC.
2019-03-21 14:28:18 +00:00
bors
15a5dfa0b4 Auto merge of #58913 - Milack27:patch_buf_reader, r=joshtriplett
Add new test case for possible bug in BufReader

When reading a large chunk from a BufReader, if all the bytes from the buffer have been already consumed, the internal buffer is bypassed entirely. However, it is not invalidated, and it's possible to access its contents using the `seek_relative` method, because it tries to reuse the existing buffer.
2019-03-21 05:41:13 +00:00
Jacob Kiesel
72f5d9137e Fix f64 test 2019-03-20 16:59:46 -06:00
Jacob Kiesel
e2b5a0334d Fix formatting and add unit tests for panic cases 2019-03-20 15:16:50 -06:00
Jacob Kiesel
2f8d9a23ee Add NAN test to docs 2019-03-20 15:07:16 -06:00
Simon Sapin
c1d9191fa5 Add a test for size_of Option<ThreadId> 2019-03-20 19:04:38 +01:00
Mazdak Farrokhzad
5abd9c7d15
Rollup merge of #58812 - jonhoo:floor_v_trunc, r=alexcrichton
Clarify distinction between floor() and trunc()

`floor()` rounds towards `-INF`, `trunc()` rounds towards 0.
This PR clarifies this in the examples.
2019-03-19 15:16:50 +01:00
Mazdak Farrokhzad
d4ef74b2da
Rollup merge of #57847 - clarcharr:dbg_no_params, r=Centril
dbg!() without parameters

Fixes #57845.
2019-03-19 15:16:46 +01:00
Simon Sapin
8cf720bd19 Make Option<ThreadId> no larger than ThreadId, with NonZeroU64 2019-03-19 14:00:13 +01:00
Aleksey Kladov
9d408d972f Add todo!() macro
The use-case of `todo!()` macro is to be a much easier to type
alternative to `unimplemented!()` macro.
2019-03-18 19:27:31 +03:00
Tobias Bucher
f95219fa58
Apply suggestions from code review
Fix typos in the documentation

Co-Authored-By: LukasKalbertodt <lukas.kalbertodt@gmail.com>
2019-03-17 09:39:47 +01:00
kennytm
08959313be
Rollup merge of #59175 - Zoxc:fix-process-test, r=alexcrichton
Don't run test launching `echo` since that doesn't exist on Windows
2019-03-16 22:40:39 +08:00
kennytm
6241fb55ba
Rollup merge of #59152 - smmalis37:range_contains, r=SimonSapin
Stabilize Range*::contains.

Closes https://github.com/rust-lang/rust/issues/32311. There's also a bit of rustfmt on range.rs thrown in for good measure (I forgot to turn off format-on-save in VSCode).
2019-03-16 22:40:23 +08:00
kennytm
d84e063506
Rollup merge of #59147 - jethrogb:jb/time-tests, r=sfackler
Make std time tests more robust for platform differences

Previously, `time::tests::since_epoch` and `time::tests::system_time_math` would fail if the platform represents a SystemTime as unix epoch + `u64` nanoseconds.

r? @sfackler
2019-03-16 22:40:19 +08:00
kennytm
d1744728a0
Rollup merge of #59082 - alexreg:cosmetic-2-doc-comments, r=Centril
A few improvements to comments in user-facing crates

Not too many this time, and all concern comments (almost all doc comments) in user-facing crates (libstd, libcore, liballoc).

r? @steveklabnik
2019-03-16 22:39:56 +08:00
kennytm
d3f30c30ea
Rollup merge of #59009 - sfackler:fix-sgx-vectors, r=alexcrichton
Fix SGX implementations of read/write_vectored.
2019-03-16 22:39:15 +08:00
Linus Unnebäck
81d5fb5c6f
Add UdpSocket peer_addr implementation for Wasm 2019-03-16 11:20:11 +00:00
Linus Unnebäck
214110bb4c
Add UdpSocket peer_addr implementation for L4Re 2019-03-16 11:20:11 +00:00
Linus Unnebäck
7e73cd48c4
Fix test names regarding ip version 2019-03-16 11:13:32 +00:00
Linus Unnebäck
7f7cfaee6a
Add test for UdpSocket peer_addr 2019-03-16 11:13:32 +00:00
Linus Unnebäck
24e3fa079c
Document UdpSocket peer_addr NotConnected error 2019-03-16 11:13:32 +00:00
Linus Unnebäck
bf473e3c15
Mark UdpSocket peer_addr unstable w/ tracking issue 2019-03-16 11:13:32 +00:00
Linus Unnebäck
a7bd36c9e8
Add peer_addr function to UdpSocket 2019-03-16 11:13:32 +00:00
kennytm
152ed3717b
Rollup merge of #58949 - jethrogb:jb/sgx-thread-id, r=joshtriplett
SGX target: Expose thread id function in os module

In order to call `std::os::fortanix_sgx::usercalls::send`, you need the thread id. This exposes it through another function in `std::os::fortanix_sgx`.

I looked at how other platforms do this. On Windows and `cfg(unix)` you can get the OS handle from a `thread::JoinHandle`, but that's not sufficient, I need it for a `thread::Thread`. In the future, this functionality could be added to `thread::Thread` and this platform can follow suit.

r? @joshtriplett
2019-03-16 14:56:23 +08:00
kennytm
ccbf754e35
Rollup merge of #58901 - ebarnard:just-copying, r=sfackler
Change `std::fs::copy` to use `copyfile` on MacOS and iOS

`copyfile` on MacOS is similar to `CopyFileEx` on Windows. It supports copying resource forks, extended attributes, and file ACLs, none of which are copied by the current generic unix implementation.

The API is available from MacOS 10.7 and iOS 4.3 (and possibly earlier but I haven't checked).

Closes #58895.
2019-03-16 14:56:16 +08:00
kennytm
2318274a2d
Rollup merge of #58855 - alexcrichton:wasm-multithreaded-alloc, r=fitzgen
std: Spin for a global malloc lock on wasm32

There's lots of comments in the code, but the main gist of this commit
is that the acquisition of the global malloc lock on the
`wasm32-unknown-unknown` target when threads are enabled will not spin
on contention rather than block.
2019-03-16 14:56:13 +08:00
bors
70d1150478 Auto merge of #58710 - EdorianDark:master, r=sfackler
Add clamp for ranges. Implements #44095

Ready for merge
2019-03-15 06:23:21 +00:00
Lukas Kalbertodt
ea40aa46e7
Change "undefined" to "unspecified" in Seek::stream_len docs 2019-03-14 17:51:11 +01:00
Lukas Kalbertodt
c518f2dd70
Overwrite Cursor's Seek::stream_{len, position} for performance 2019-03-14 13:43:19 +01:00
Lukas Kalbertodt
598a1b4dd1
Avoid third seek operation in Seek::stream_len when possible 2019-03-14 13:43:17 +01:00
John Kåre Alsaker
88d43a052a Don't run test launching echo since that doesn't exist on Windows 2019-03-14 05:53:44 +01:00
Steven Malis
266ca31f74 Stabilize Range*::contains. 2019-03-12 21:00:37 -07:00
Jethro Beekman
adbd0a6645 Make std time tests more robust for platform differences 2019-03-12 17:51:39 -07:00
Alexander Regueiro
d4b2071b1f Resolved nits raised in review. 2019-03-11 15:54:57 +00:00
Alexander Regueiro
8629fd3e4e Improvements to comments in libstd, libcore, liballoc. 2019-03-11 02:25:44 +00:00
Lukas Kalbertodt
e8ee00a649
Add provided methods Seek::{stream_len, stream_position}
These two methods are defined in terms of `Seek::seek` and are
added for convenience. Tests are included.
2019-03-10 18:06:49 +01:00
Scott McMurray
df4ea90b39 Use lifetime contravariance to elide more lifetimes in core+alloc+std 2019-03-09 19:10:28 -08:00
Dirk Leifeld
6041ec3b78 add feature clamp 2019-03-09 20:10:48 +01:00
Dirk Leifeld
bd2e12609f Revert "Revert "Add clamp functions"" 2019-03-09 19:16:54 +01:00
Mazdak Farrokhzad
02c9928f44
Rollup merge of #59018 - alexcrichton:omg, r=sfackler
std: Delete a by-definition spuriously failing test

This commit deletes the `connect_timeout_unbound` test from the standard
library which, unfortunately, is by definition eventually going to be a
spuriously failing test. There's no way to reserve a port as unbound so
we can rely on ecosystem testing for this feature for now.

Closes #52590
2019-03-09 17:18:27 +01:00
bors
e1b8898cfb Auto merge of #57882 - euclio:unused-doc-attributes, r=estebank
overhaul unused doc comments lint

This PR contains a number of improvements to the `unused_doc_comments` lint.

- Extends the span to cover the entire comment when using sugared doc comments.
- Triggers the lint for all unused doc comments on a node, instead of just the first one.
- Triggers the lint on macro expansions, and provides a help note explaining that doc comments must be expanded by the macro.
- Adds a label pointing at the node that cannot be documented.

Furthermore, this PR fixes any instances in rustc where a macro expansion was erroneously documented.
2019-03-09 08:17:48 +00:00
Andy Russell
daf80f721b
expand unused doc comment diagnostic
Report the diagnostic on macro expansions, and add a label indicating
why the comment is unused.
2019-03-08 12:39:50 -05:00
Alex Crichton
6465257e54 std: Delete a by-definition spuriously failing test
This commit deletes the `connect_timeout_unbound` test from the standard
library which, unfortunately, is by definition eventually going to be a
spuriously failing test. There's no way to reserve a port as unbound so
we can rely on ecosystem testing for this feature for now.

Closes #52590
2019-03-08 07:41:19 -08:00
Pietro Albini
378a0118f3
Rollup merge of #58963 - seanmonstar:patch-3, r=cramertj
libstd: implement Error::source for io::Error
2019-03-08 09:42:10 +01:00
Pietro Albini
4bff63f05f
Rollup merge of #58893 - benaryorg:thread_local_example_join, r=alexcrichton
race condition in thread local storage example

The example had a potential race condition that would still pass the test.
If the thread which was supposed to modify it's own thread local was slower than the instruction to
modify in the main thread, then the test would pass even in case of a failure.
This is would be minor if the child thread was waited for since it check using an `assert_eq` for the
same thing, but vice versa.
However, if the `assert_eq` failed this would trigger a panic, which is not at all caught by the
example since the thread is not waited on.

Signed-off-by: benaryorg <binary@benary.org>
2019-03-08 09:41:50 +01:00
Pietro Albini
55dc386f61
Rollup merge of #58369 - nox:sync-hash-map-entry, r=Amanieu
Make the Entry API of HashMap<K, V> Sync and Send

Fixes #45219
2019-03-08 09:41:42 +01:00