about summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2019-02-20Turn duration consts into associated constsStjepan Glavina-3/+0
2019-01-12Rollup merge of #57511 - jethrogb:jb/fix-undef, r=cramertjMazdak Farrokhzad-2/+2
Fix undefined behavior From the [`MaybeUninit::get_mut` docs](https://doc.rust-lang.org/std/mem/union.MaybeUninit.html): > It is up to the caller to guarantee that the the MaybeUninit really is in an initialized state, otherwise this will immediately cause undefined behavior. r? @joshtriplett
2019-01-12Rollup merge of #57498 - steveklabnik:gh29008, r=alexcrichtonMazdak Farrokhzad-0/+2
make note of one more normalization that Paths do Fixes #29008
2019-01-12Rollup merge of #57450 - steveklabnik:gh45678, r=KodrAusMazdak Farrokhzad-3/+2
actually take a slice in this example Fixes #45678
2019-01-12Rollup merge of #57441 - ↵Mazdak Farrokhzad-11/+82
VardhanThigle:Vardhan/x86_64-fortanix-unknown-sgx-backtrace-support, r=alexcrichton Supporting backtrace for x86_64-fortanix-unknown-sgx. # Overview Implementing following functions required by `libstd/sys_common` to support `backtrace`: ``` 1. unwind_backtrace 2. trace_fn 3. resolve_symname ``` # Description: The changes here are quite similar to the Cloudabi target `src/libstd/sys/cloudabi/backtrace.rs` The first 2 functions are implemented via calls to libunwind.a that is linked to the `x86_64-fortanix-unknown-sgx` (#56979), we have not implemented functionality needed by `resolve_symname` (or `dladdr`) to reduce SGX TCB. Rather, we print the function address (relative to enclave image base) in `resolve_symname` which can be later translated to correct symbol name (say, via `addr2line`). # Note: For `x86_64-fortanix-unknown-sgx`, the `RUST_BACKTRACE` environment has to be set from within the program running in an enclave. cc: @jethrogb r? @alexcrichton
2019-01-12Rollup merge of #57296 - ↵Mazdak Farrokhzad-1/+1
JosephTLyons:Fix-question-mark-operator-in-stdio-document, r=wesleywiser Fixed the link to the ? operator I'm working on updating all broken links, but figured I'd break up the pull requests so they are easier to review, versus just one big pull request.
2019-01-12Rollup merge of #57192 - czipperz:error_trait_doc_cause_to_source, r=wesleywiserMazdak Farrokhzad-7/+7
Change std::error::Error trait documentation to talk about `source` instead of `cause` Resolves #57056
2019-01-12Auto merge of #57234 - Centril:const-stabilizations-2, r=oli-obkbors-3/+3
Const-stabilize `const_int_ops` + `const_ip` r? @oli-obk ## Note for relnotes: This PR includes https://github.com/rust-lang/rust/pull/57105. I've added T-lang since this affects intrinsics and the operational semantics of Rust's `const fn` fragment. ## Stable APIs proposed for constification + `const_int_ops`: + `count_ones` + `count_zeros` + `leading_zeros` + `trailing_zeros` + `swap_bytes` + `from_be` + `from_le` + `to_be` + `to_le` + `const_ip` + `Ipv4Addr::new` ## Unstable APIs constified + `const_int_conversion`: + `reverse_bits`
2019-01-11Fix undefined behaviorJethro Beekman-2/+2
2019-01-10Update src/libstd/path.rsMazdak Farrokhzad-1/+1
Co-Authored-By: steveklabnik <steve@steveklabnik.com>
2019-01-10make note of one more normalization that Paths doSteve Klabnik-0/+2
Fixes #29008
2019-01-09actually take a slice in this exampleSteve Klabnik-3/+2
Fixes #45678
2019-01-09Exposing enclave image-base to the enclave applicationVardhan Thigle-7/+5
image-base could be used by crates like backtrace to providing to make symbol resolution easier.
2019-01-08Change std::error::Error trait documentation to talk about `source` instead ↵Czipperz-7/+7
of `cause`
2019-01-08Auto merge of #56407 - GuillaumeGomez:missing-docs-reexported-macros, r=varkorbors-0/+1
check missing docs for reexported macros as well Fixes #56334.
2019-01-08Supporting backtrace for x86_64-fortanix-unknown-sgx.Vardhan Thigle-10/+83
2019-01-08Auto merge of #56988 - alexcrichton:monotonic-instant, r=sfacklerbors-13/+101
std: Force `Instant::now()` to be monotonic This commit is an attempt to force `Instant::now` to be monotonic through any means possible. We tried relying on OS/hardware/clock implementations, but those seem buggy enough that we can't rely on them in practice. This commit implements the same hammer Firefox recently implemented (noted in #56612) which is to just keep whatever the lastest `Instant::now()` return value was in memory, returning that instead of the OS looks like it's moving backwards. Closes #48514 Closes #49281 cc #51648 cc #56560 Closes #56612 Closes #56940
2019-01-07std: Force `Instant::now()` to be monotonicAlex Crichton-13/+101
This commit is an attempt to force `Instant::now` to be monotonic through any means possible. We tried relying on OS/hardware/clock implementations, but those seem buggy enough that we can't rely on them in practice. This commit implements the same hammer Firefox recently implemented (noted in #56612) which is to just keep whatever the lastest `Instant::now()` return value was in memory, returning that instead of the OS looks like it's moving backwards. Closes #48514 Closes #49281 cc #51648 cc #56560 Closes #56612 Closes #56940
2019-01-07Rollup merge of #57375 - stjepang:duration-constants, r=joshtriplettPietro Albini-0/+4
Add duration constants Add constants `SECOND`, `MILLISECOND`, `MICROSECOND`, and `NANOSECOND` to `core::time`. This will make working with durations more ergonomic. Compare: ```rust // Convenient, but deprecated function. thread::sleep_ms(2000); // The current canonical way to sleep for two seconds. thread::sleep(Duration::from_secs(2)); // Sleeping using one of the new constants. thread::sleep(2 * SECOND); ```
2019-01-07Specify the tracking issueStjepan Glavina-1/+1
2019-01-06check missing docs for reexported macros as wellGuillaume Gomez-0/+1
2019-01-06Re-export constants from core into stdStjepan Glavina-0/+4
2019-01-05Rollup merge of #57326 - king6cong:doc, r=rkruppekennytm-2/+2
Doc rewording, use the same name `writer` None
2019-01-05Rollup merge of #57314 - wiktorkuchta:master, r=Centrilkennytm-3/+3
Fix repeated word typos Inspired by #57295 (I skipped 'be be' because of it) and my [PR in another repo ](https://github.com/e-maxx-eng/e-maxx-eng/pull/389) Not a stupid `sed`, I actually tried to fix case by case.
2019-01-05Rollup merge of #57312 - Mendess2526:master, r=Centrilkennytm-2/+2
`const fn` is no longer coming soon (const keyword docs) The `const` keyword [documentation](https://doc.rust-lang.org/std/keyword.const.html) mentions that `const fn`s are coming soon, but they have already been added.
2019-01-05Rollup merge of #57249 - frewsxcv:frewsxcv-second-edition, r=KodrAuskennytm-5/+5
Fix broken links to second edition TRPL. Fixes https://github.com/rust-lang/rust/issues/57104. Remove `second-edition/` from TRPL hyperlinks.
2019-01-05Rollup merge of #57238 - Zoxc:bt-fix, r=alexcrichtonkennytm-1/+10
Fix backtraces for inlined functions on Windows Fixes an regression introduced in https://github.com/rust-lang/rust/pull/50526 r? @alexcrichton
2019-01-04Doc rewording, use the same name `writer`king6cong-2/+2
2019-01-03Fix repeated word typosWiktor Kuchta-3/+3
Found with `git grep -P '\b([a-z]+)\s+\1\b'`
2019-01-03const fn no longer comming soon on const docsMendess2526-2/+2
2019-01-03Fixed the link to the ? operatorJoseph Lyons-1/+1
2019-01-02Auto merge of #57243 - dingelish:master, r=sfacklerbors-9/+13
Bound sgx target_env with fortanix as target_vendor This PR adds `target_vendor` check, as discussed in issue [57231](https://github.com/rust-lang/rust/issues/57231) Signed-off-by: Yu Ding <dingelish@gmail.com>
2019-01-02Auto merge of #56827 - faern:eliminate-recv-timeout-panic, r=KodrAusbors-6/+30
Eliminate Receiver::recv_timeout panic Fixes #54552. This panic is because `recv_timeout` uses `Instant::now() + timeout` internally. This possible panic is not mentioned in the documentation for this method. Very recently we merged (still unstable) support for checked addition (#56490) of `Instant + Duration`, so it's now finally possible to add these together without risking a panic.
2019-01-01Merge remote-tracking branch 'upstream/master'Yu Ding-40/+0
2019-01-01Remove min_const_unsafe_fn since it is stableYu Ding-2/+1
Signed-off-by: Yu Ding <dingelish@gmail.com>
2019-01-01Fix broken links to second edition TRPL.Corey Farwell-5/+5
Fixes https://github.com/rust-lang/rust/issues/57104.
2019-01-01Auto merge of #57194 - matthiaskrgr:copyright_headers, r=Centrilbors-30/+0
remove more copyright headers r? @Mark-Simulacrum
2018-12-31Bound sgx target_env with fortanix as target_vendorYu Ding-9/+14
Signed-off-by: Yu Ding <dingelish@gmail.com>
2019-01-01privacy: Use common `DefId` visiting infra for all privacy visitorsVadim Petrochenkov-10/+0
2018-12-31Fix backtraces on WindowsJohn Kåre Alsaker-1/+10
2018-12-31const-stabilize Ipv4Addr::newMazdak Farrokhzad-2/+2
2018-12-31const-stabilize const_int_ops + reverse_bitsMazdak Farrokhzad-1/+1
2018-12-29Rollup merge of #57177 - varkor:fix-duration_as_u128-warning, r=estebankkennytm-1/+0
Fix warning when compiling rustc
2018-12-29Rollup merge of #57153 - estebank:doc, r=cramertjkennytm-1/+1
Small: Fix span in char documentation
2018-12-28remove remaining copyright headersMatthias Krüger-30/+0
2018-12-28Fix warning when compiling rustcvarkor-1/+0
2018-12-28Auto merge of #57137 - cramertj:unpin-prelude, r=SimonSapinbors-1/+1
Add Unpin to std prelude, not just core r? @alexcrichton
2018-12-28Auto merge of #55519 - fhartwig:hashmap-index-example, r=Centrilbors-0/+3
Add example of using the indexing operator to HashMap docs Fixes #52575
2018-12-27Fix span in char documentationEsteban Küber-1/+1
2018-12-27Auto merge of #57119 - jethrogb:jb/sgx-os-mod2, r=joshtriplettbors-11/+307
Add `io` and `arch` modules to `std::os::fortanix_sgx` This PR adds two more (unstable) modules to `std::os::fortanix_sgx` for the `x86_64-fortanix-unknown-sgx` target. ### io `io` allows conversion between raw file descriptors and Rust types, similar to `std::os::unix::io`. ### arch `arch` exposes the `ENCLU[EREPORT]` and `ENCLU[EGETKEY]` instructions. The current functions are very likely not going to be the final form of these functions (see also https://github.com/fortanix/rust-sgx/issues/15), but this should be sufficient to enable experimentation in libraries. I tried using the actual types (from the [`sgx-isa` crate](https://crates.io/crates/sgx-isa)) instead of byte arrays, but that would make `std` dependent on the `bitflags` crate which I didn't want to do at this time.