Commit Graph

12482 Commits

Author SHA1 Message Date
Guillaume Gomez
c4044ee39a Add note for append method in OpenOptions docs 2017-09-13 14:47:50 +02:00
Guillaume Gomez
ccd4689ca3 Add missing urls for OpenOptions docs 2017-09-13 14:46:15 +02:00
Romain Porte
b40a9f4eca from_micros: add feature name 2017-09-13 13:21:20 +02:00
Tobias Schaffner
b2b5063517 Move default stack min size to thread implementations
The default min stack size value is smaller on l4re and therefore
this value has to be different depending on the platform.
2017-09-13 10:56:41 +02:00
Aidan Hobson Sayers
15887d786b Correctly bubble up errors from libbacktrace 2017-09-12 20:27:54 +01:00
Jeroen Bollen
d3de465dc8 Addressed @BurntSuchi's remarks regarding Entry::replace 2017-09-12 15:32:10 +02:00
bors
817e1b81e2 Auto merge of #44344 - jonhoo:entry_or_default, r=BurntSushi
Add or_default to Entry APIs

As argued for in #44324, this PR adds a new `or_default` method to the various `Entry` APIs (currently just for `BTreeMap` and `HashMap`) when `V: Default`. This method is effectively a shorthand for `or_insert_with(Default::default)`.
2017-09-12 09:54:59 +00:00
Jeremy Soller
914853bbfa Fix tidy checks 2017-09-11 19:46:18 -06:00
Jeremy Soller
e2820ea06c Sync with upstream syscall library 2017-09-11 18:46:01 -06:00
Frank Rehberger
85a9d97884 rustdoc: extend UdpSocket API doc (#657)
rustdoc: type-fixes
2017-09-12 01:50:32 +02:00
bors
ca94c75c52 Auto merge of #44220 - kennytm:fix-44216-instance-plus-max-duration-should-panic, r=alexcrichton
Properly detect overflow in Instance ± Duration.

Fix #44216.
Fix #42622

The computation `Instant::now() + Duration::from_secs(u64::max_value())` now panics. The call `receiver.recv_timeout(Duration::from_secs(u64::max_value()))`, which involves such time addition, will also panic.

The reason #44216 arises is because of an unchecked cast from `u64` to `i64`, making the duration equivalent to -1 second.

Note that the current implementation is over-conservative, since e.g. (-2⁶²) + (2⁶³) is perfectly fine for an `i64`, yet this is rejected because (2⁶³) overflows the `i64`.
2017-09-10 18:37:27 +00:00
Clar Charr
778d5f2074 Add Cow<str> -> Box<Error> impls. 2017-09-10 13:21:34 -04:00
Romain Porte
a15c541a2a from_micros: added issue number and fixed typo 2017-09-10 17:38:55 +02:00
bors
d290dec97f Auto merge of #44474 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 13 pull requests

- Successful merges: #44262, #44329, #44332, #44347, #44372, #44384, #44387, #44396, #44449, #44451, #44457, #44464, #44467
- Failed merges:
2017-09-10 12:48:55 +00:00
Guillaume Gomez
f76f2c76dc Rollup merge of #44396 - joshlf:tls-comment, r=alexcrichton
std:🧵:LocalKey: Document limitation with initializers

Document that if a `LocalKey`'s initializer recursively depends on itself, initialization will result in infinite recursion.
2017-09-10 14:03:27 +02:00
Guillaume Gomez
0e2dac7eba Rollup merge of #44384 - alexcrichton:osx-segfault, r=estebank
std: Fix a segfault on OSX with backtraces

Apparently `dladdr` can succeed but still give you NULL pointers!

Closes #44379
2017-09-10 14:03:25 +02:00
Eduard-Mihai Burtescu
10f66bd6e4 Use rvalue promotion to 'static instead of static items. 2017-09-10 11:20:27 +03:00
Romain Porte
abc53cc140 from_micros: Fix missing { 2017-09-10 00:27:39 +02:00
bors
ddd123ed9a Auto merge of #44251 - kennytm:osx-backtrace, r=alexcrichton
Add libbacktrace support for Apple platforms (resubmitted)

Resubmitting #43422 rebased on the current master (cc @JohnColanduoni).

I have added an additional commit to fallback to `dladdr`-based `resolve_symbol` if `libbacktrace` returns `None`, otherwise the stack trace will be full of `<unknown>` when you forget to pass the `-g` flag (actually it seems — at least on macOS — the `dladdr` symbol is more accurate than the `libbacktrace` one).
2017-09-09 17:32:13 +00:00
Romain Porte
2e6aed8f47 from_micros: Added unstable annotation 2017-09-09 11:49:32 +02:00
Romain Porte
376837b999 from_micros: Inlined return for consistency 2017-09-09 11:46:58 +02:00
bors
929b878262 Auto merge of #44438 - Xaeroxe:clamp, r=Mark-Simulacrum
Revert clamp

Revert clamp per https://github.com/rust-lang/rust/issues/44095#issuecomment-328218316 while we take time to assess the potential backwards compatibility damage done by it.
2017-09-09 09:13:03 +00:00
J. Cliff Dyer
8b6122f8b8 Add feature gate to doctests. 2017-09-08 20:41:09 -04:00
Jacob Kiesel
db5b5f9706 Revert "Add clamp functions"
This reverts commit c589f867f8.
2017-09-08 16:07:21 -06:00
Jacob Kiesel
63f4dab0f5 Revert "Add NAN examples"
This reverts commit f74c5d2e18.
2017-09-08 16:07:19 -06:00
Jacob Kiesel
eafdad511f Revert "Fix f32 examples."
This reverts commit 61f20f8df0.
2017-09-08 16:07:17 -06:00
Jacob Kiesel
15d3eeaf65 Revert "Fix f64 examples"
This reverts commit 576426a05a.
2017-09-08 16:07:15 -06:00
Jacob Kiesel
8b96167004 Revert "Fix documentation and formatting."
This reverts commit 2e34ff7671.
2017-09-08 16:07:13 -06:00
Jacob Kiesel
67283fa8e6 Revert "Add panic unit tests"
This reverts commit b762283e57.
2017-09-08 16:07:09 -06:00
Romain Porte
4db499ff10 Add Duration::from_micros 2017-09-08 23:02:56 +02:00
Sebastian Humenda
40794bf4b8 Move the stack size value for L4Re to the min_stack_size function 2017-09-08 14:36:56 +02:00
Sebastian Humenda
0b77464d22 Re-enable networking module fo rL4Re
As suggested in the discussion of PR #43972, std should provide a uniform API to
all platforms. Since there's no networking on L4Re, this now is a module in
`sys::net` providing types and functions/methods returning an error for each
action.
2017-09-08 14:36:56 +02:00
Tobias Schaffner
9bbc6dbde3 Add modifications needed for L4re in libstd
This commit adds the needed modifications to compile the std crate
for the L4 Runtime environment (L4Re).

A target for the L4Re was introduced in commit:
c151220a84

In many aspects implementations for linux also apply for the L4Re
microkernel.

Two uncommon characteristics had to be resolved:
* L4Re has no network funktionality
* L4Re has a maximum stacksize of 1Mb for threads

Co-authored-by: Sebastian Humenda <sebastian.humenda@tu-dresden.de>
2017-09-08 14:36:56 +02:00
Sebastian Humenda
2cf0a4ad46 Match c_char definitions and enable signal reset for L4Re
*   Match definition of c_char in os/raw.rs with the libc definition

    Due to historic reasons, os/raw.rs redefines types for c_char from
    libc, but these didn't match. Now they do :).

*   Enable signal reset on exec for L4Re

    L4Re has full signal emulation and hence it needs to reset the
    signal set of the child with sigemptyset. However, gid and uid
    should *not* be set.
2017-09-08 14:36:56 +02:00
J. Cliff Dyer
ad170f2339 Close doc examples and trim whitespace. 2017-09-07 19:06:57 -04:00
Joshua Liebow-Feeser
ddb072b8d7 std:🧵:LocalKey: Document limitation with initializers 2017-09-07 12:57:08 -07:00
J. Cliff Dyer
c22db3db6d IP address convenience constructors 2017-09-07 14:08:58 -04:00
Tobias Bucher
b4d0f61771 Clarify the behavior of UDP sockets wrt. multiple addresses in connect 2017-09-07 11:26:23 +02:00
kennytm
83d14bda7f Disable the 80-year-difference test on 32-bit-time_t platforms. 2017-09-07 17:14:27 +08:00
kennytm
756026563d Fix incorrect test in time::tests::system_time_math. 2017-09-07 17:14:27 +08:00
kennytm
8410ca6632 Properly detect overflow in Instance +/- Duration.
Avoid unchecked cast from `u64` to `i64`. Use `try_into()` for checked
cast. (On Unix, cast to `time_t` instead of `i64`.)
2017-09-07 17:14:27 +08:00
bors
d7d75eff30 Auto merge of #43931 - eddyb:const-local-key, r=alexcrichton
Make the LocalKey facade of thread_local! inlineable cross-crate.

Fixes (almost*) #25088 by changing the `LocalKey` `static` `thread_local!` generates to a `const`.
This can be done because a `LocalKey` value holds no actual TLS data, only function pointers to get at said data, and it could even be made `Copy` without any negative consequences.
The recent stabilization of rvalue promotion to `'static` allows doing this without changing the API.
r? @alexcrichton

*almost because we can't yet inline `__getit` because it breaks on MSVC, see https://github.com/rust-lang/rust/pull/43931#issuecomment-323534214
2017-09-07 06:52:05 +00:00
Alex Crichton
f633284b3d std: Fix a segfault on OSX with backtraces
Apparently `dladdr` can succeed but still give you NULL pointers!

Closes #44379
2017-09-06 22:14:34 -07:00
Mark Simulacrum
fdb8d0beb4 Rollup merge of #44315 - kallisti5:epoch-doc-example-squashed, r=GuillaumeGomez
std/time: Give an example to get UNIX_EPOCH in seconds
2017-09-06 18:27:53 -06:00
Mark Simulacrum
44351edb64 Rollup merge of #44097 - Xaeroxe:clamp, r=burntsushi
Add clamp functions

Implementation of clamp feature:

Tracking issue: https://github.com/rust-lang/rust/issues/44095
RFC: https://github.com/rust-lang/rfcs/pull/1961
2017-09-06 18:27:45 -06:00
Joshua Sheard
8e80cee144 Implement named threads on Windows 2017-09-06 20:40:34 +01:00
QuietMisdreavus
bb6de3c9ce add feature gate doc_masked and tests 2017-09-05 13:51:08 -05:00
QuietMisdreavus
c491e195c4 new attribute #[doc(masked)] to hide internal crates from std docs 2017-09-05 13:50:37 -05:00
Jon Gjengset
00bdae02fd Avoid weird or_insert_with example 2017-09-05 13:37:36 -04:00
Jon Gjengset
35c7943fd2 Add or_default to Entry APIs 2017-09-05 13:11:38 -04:00