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
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
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
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
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
Joshua Liebow-Feeser
ddb072b8d7
std: 🧵 :LocalKey: Document limitation with initializers
2017-09-07 12:57:08 -07: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
Jacob Kiesel
b762283e57
Add panic unit tests
2017-09-04 21:39:46 -06:00
Alexander von Gluck IV
1c5bf2468b
std/time: Give an example to get UNIX_EPOCH in seconds
2017-09-04 19:21:58 -05:00
Eduard-Mihai Burtescu
4e2be14986
Make the LocalKey facade of thread_local! inlineable cross-crate.
2017-09-04 08:24:06 +03:00
Ralf Jung
12d84cc009
update gcc crate
...
Use gcc::Build rather than deprecated gcc::Config.
Fixes #43973
2017-09-02 21:51:18 +02:00
kennytm
7169fe57d6
Fallback to dladdr-based resolve_symbol if backtrace failed.
...
This programs compiled without -g on macOS still provide the resolve to
actual symbols, instead of `<unknown>` everywhere.
2017-09-02 03:24:17 +08:00
John Colanduoni
09f572b7dc
Use env::current_exe for libbacktrace on macOS
2017-09-02 03:24:17 +08:00
John Colanduoni
e8121b3d16
Add libbacktrace support for Apple platforms
2017-09-02 03:24:15 +08:00
bors
f861b6ee46
Auto merge of #44154 - alexcrichton:bump-bootstrap, r=Mark-Simulacrum
...
Bump to 1.22.0 and update boostrap compiler
Time to get a new nightly!
2017-09-01 16:39:31 +00:00
bors
ed532c0d93
Auto merge of #44238 - nrc:pulldown-warn, r=@QuietMisdreavus
...
Improve the Pulldown/hoedown warnings
cc #44229
r? @QuietMisdreavus
2017-09-01 13:56:22 +00:00
Nick Cameron
1d6d09fa6d
Fix tests
...
This is just undoing changes from #41991 because we are not running markdown rendering twice.
2017-09-01 20:07:04 +12:00
Jacob Kiesel
2e34ff7671
Fix documentation and formatting.
2017-09-01 00:07:26 -06:00
Alex Crichton
9e5a7e9472
Bring back stage0 allocator logic on MSVC
...
I think there may still be bugs preventing its removal..
2017-08-31 18:20:52 -07:00
Mark Simulacrum
3cd4ea3bfa
Rollup merge of #44209 - frewsxcv:frewsxcv-addr-other-scenarios, r=alexcrichton
...
Expand docs of multi-address behavior of some UDP/TCP APIs.
Fixes https://github.com/rust-lang/rust/issues/22569 .
2017-08-31 18:07:46 -06:00
Mark Simulacrum
471f9894c9
Rollup merge of #44205 - frewsxcv:frewsxcv-addr-doc-fix, r=QuietMisdreavus
...
Fix typo in doc `ToSocketAddrs` example.
None
2017-08-31 18:07:44 -06:00
Corey Farwell
0a716fdce2
Expand docs of multi-address behavior of some UDP/TCP APIs.
...
Fixes https://github.com/rust-lang/rust/issues/22569 .
2017-08-31 11:24:34 -04:00
Alex Crichton
7a2a8d7d60
Update Cargo to 0.23.0 and our lockfile
2017-08-31 07:02:50 -07:00
Alex Crichton
9b9de27101
Bump to 1.22.0
2017-08-31 06:58:58 -07:00
Alex Crichton
2972687d10
Update bootstrap compiler
...
This commit updates the bootstrap compiler and clears out a number
of #[cfg(stage0)] annotations and related business
2017-08-31 06:58:58 -07:00
bors
97b01abf3d
Auto merge of #41991 - GuillaumeGomez:rustdoc-html-diff, r=nrc
...
Add warnings when rustdoc html rendering differs
2017-08-31 08:52:03 +00:00
Corey Farwell
396fc111e1
Fix typo in doc ToSocketAddrs example.
2017-08-30 22:03:03 -04:00
Alex Crichton
c0812c8458
Rollup merge of #44160 - AndyGauge:api-docs-macros, r=steveklabnik
...
API docs: macros. Standard Documentation Checklist
Fixes #29381
r? @steveklabnik
2017-08-30 13:17:05 -07:00
Alex Crichton
bc6981ba55
Rollup merge of #44116 - alexcrichton:update-libc, r=Mark-Simulacrum
...
Update the libc submodule
Brings in a few fixes for wasm/asmjs
2017-08-30 11:11:11 -05:00
Guillaume Gomez
bba7fd9dd5
Temporary fix for a test (will require another update when this is fully merged)
2017-08-30 09:40:43 +02:00
Andy Gauge
80d513aaec
broken links resolved
2017-08-29 16:39:11 -07:00
Ariel Ben-Yehuda
30907e1a27
Rollup merge of #44117 - frewsxcv:frewsxcv-to-socket-addrs-examples, r=QuietMisdreavus
...
Rewrite `std::net::ToSocketAddrs` doc examples.
in particular:
* show how to create an iterator that yields multiple socket addresses
* show more failing scenarios
done this as preliminary work while investigating https://github.com/rust-lang/rust/issues/22569
note: i haven't run doc tests on my machine for this, so would be good to confirm CI passes before approving
2017-08-29 21:40:57 +00:00
Andrew Gauger
84c5441e70
fix test failures in documentation change
2017-08-29 12:53:12 -07:00
Andy Gauge
b9b654924e
API docs: macros. Part of #29329 Standard Library Documentation Checklist.
2017-08-29 10:30:19 -07:00
Alex Crichton
e5b123cba2
Update the libc submodule
...
Brings in a few fixes for wasm/asmjs
2017-08-28 07:58:19 -07:00
Corey Farwell
10bd39e7af
Rewrite std::net::ToSocketAddrs doc examples.
...
in particular:
* show how to create an iterator that yields multiple socket addresses
* show more failing scenarios
2017-08-28 09:23:06 -04:00