about summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2019-07-25std: win: Don't expose link() on UWPHugo Beauzée-Luyssen-4/+11
Or rather expose it, but always return an error
2019-07-25std: win: Don't use SetHandleInformation on UWPHugo Beauzée-Luyssen-19/+61
Attempt to create sockets with the WSA_FLAG_NO_HANDLE_INHERIT flag, and handle the potential error gracefully (as the flag isn't support on Windows 7 before SP1)
2019-07-25std: rand: Use BCrypt on UWPHugo Beauzée-Luyssen-2/+43
As Rtl* functions are not allowed there
2019-07-25std: Link UWP with allowed libraries onlyHugo Beauzée-Luyssen-0/+2
2019-07-25libstd: windows: compat: Allow use of attributesHugo Beauzée-Luyssen-0/+2
2019-07-25Auto merge of #60340 - mgeier:cap-vs-capacity, r=alexcrichtonbors-7/+7
Rename .cap() methods to .capacity() As mentioned in #60316, there are a few `.cap()` methods, which seem out-of-place because such methods are called `.capacity()` in the rest of the code. This PR renames them to `.capacity()` but leaves `RawVec::cap()` in there for backwards compatibility. I didn't try to mark the old version as "deprecated", because I guess this would cause too much noise.
2019-07-25std: Use native `#[thread_local]` TLS on wasmAlex Crichton-134/+56
This commit moves `thread_local!` on WebAssembly targets to using the `#[thread_local]` attribute in LLVM. This was recently implemented upstream and is [in the process of being documented][dox]. This change only takes affect if modules are compiled with `+atomics` which is currently unstable and a pretty esoteric method of compiling wasm artifacts. This "new power" of the wasm toolchain means that the old `wasm-bindgen-threads` feature of the standard library can be removed since it should now be possible to create a fully functioning threaded wasm module without intrusively dealing with libstd symbols or intrinsics. Yay! [dox]: https://github.com/WebAssembly/tool-conventions/pull/116
2019-07-25Rollup merge of #62814 - androm3da:hexagon_19jul_2019, r=alexcrichtonMazdak Farrokhzad-1/+65
add support for hexagon-unknown-linux-musl
2019-07-24Use match ergonomics in Condvar documentationKevin W Matthews-18/+18
2019-07-23Use raw pointers in std::sys::cloudabi when passing MaybeUninit valuesNathan-6/+6
2019-07-23Cleanup std::sys::cloudabiNathan-19/+19
2019-07-23word things more like we usually doRalf Jung-2/+2
2019-07-23Apply suggestions from code reviewRalf Jung-3/+6
Co-Authored-By: gnzlbg <gnzlbg@users.noreply.github.com>
2019-07-23stage0 -> bootstrapJonas Schievink-32/+32
2019-07-23Make #[doc(include)] paths behave like other pathsJonas Schievink-16/+32
This makes them relative to the containing file instead of the crate root
2019-07-23Modify CloudABI ReentrantMutex to use MaybeUninitNathan-14/+18
Remove uses of mem::uninitialized, which is now deprecated
2019-07-22Remove uses of mem::uninitialized in std::sys::cloudabiNathan-16/+31
Usages still appear in cloudabi tests and in the reentrant mutex implementation
2019-07-22add support for hexagon-unknown-linux-muslBrian Cain-1/+65
2019-07-22account for non-drop-glue typesRalf Jung-2/+3
2019-07-22Rollup merge of #62845 - RalfJung:read, r=rkruppeMazdak Farrokhzad-2/+2
read: fix doc comment No idea how that happened...
2019-07-22Rollup merge of #62787 - Indy2222:master, r=Mark-SimulacrumMazdak Farrokhzad-2/+2
Fix typo in src/libstd/net/udp.rs doc comment Affect is usually used as a verb, effect as a verb.
2019-07-22Rollup merge of #62746 - RalfJung:deprecated, r=KodrAusMazdak Farrokhzad-16/+14
do not use assume_init in std::io Cc https://github.com/rust-lang/rust/issues/62397
2019-07-22Rollup merge of #62709 - nhynes:test-maplike-fromiter, r=cuviperMazdak Farrokhzad-2/+6
Test that maplike FromIter satisfies uniqueness This PR adds a simple assertion to the `HashMap` and `HashSet` tests to ensure that uniqueness is satisfied when `FromIter`ing. This is useful for people who want to test their custom type against the Map/Set interfaces since they'll copy the tests wholesale but possibly miss this bug (where _they_ = _me_).
2019-07-22weasle, weasleRalf Jung-3/+3
2019-07-21code cleanupBaoshan Pang-1042/+1
2019-07-21read: fix doc commentRalf Jung-2/+2
2019-07-21apply feedbackRalf Jung-4/+6
2019-07-21sync with nomicon: raw ptr must be non-dangling and aligned every time it is ↵Ralf Jung-2/+2
dereferenced
2019-07-20references must be aligned; also move up the warning that fn ptrs must be ↵Ralf Jung-7/+8
non-NULL
2019-07-20warn that raw pointers must be aligned when used, and that writes cause dropRalf Jung-2/+6
2019-07-19ONCE_INIT is deprecated-in-future only for bootstrapRalf Jung-2/+3
2019-07-19do not use mem::uninitialized in std::ioRalf Jung-14/+11
2019-07-19warn about deprecated-in-future in most of libstdRalf Jung-3/+3
2019-07-18Fix typo in src/libstd/net/udp.rs doc commentMartin Indra-2/+2
Affect is usually used as a verb, effect as a verb.
2019-07-18Rollup merge of #62732 - nathanwhit:fix_mem_uninit, r=AmanieuMark Rousskov-4/+9
Remove last use of mem::uninitialized from std::io::util Addresses #62397 for std::io::util
2019-07-18Fix clippy::len_zero warningsMateusz Mikuła-3/+3
2019-07-18Fix clippy::clone_on_copy warningsMateusz Mikuła-1/+1
2019-07-16Remove last use of mem::uninitialized from std::io::utilnathanwhit-4/+9
2019-07-16Auto merge of #61946 - BaoshanPang:vxworks, r=alexcrichtonbors-2/+8372
port rust for vxWorks The supporting for vxWorks has been enabled in this branch. Although there are still a lots of work to do, I would like to upstream the code and fix the problems later. Please let me know if there is anything I have to do before upstream the code. r? @alexcrichton Thanks, Baoshan
2019-07-16Add supporting for vxWorksBaoshan Pang-2/+8372
r? @alexcrichton
2019-07-16Test that maplike FromIter satisfies uniquenessNick Hynes-2/+6
2019-07-15Update the stdarch submodulegnzlbg-4/+4
2019-07-14Auto merge of #62610 - Stargateur:fix-miri-error-cstring-into_inner, r=RalfJungbors-5/+6
Fix miri error in into_inner() of CString Fix #62553 I choice to not transmute because I think it's more unsafe and in case the structure change this code should always work. r? @RalfJung
2019-07-14Auto merge of #62464 - GuillaumeGomez:add-missing-urls-osstr, r=QuietMisdreavusbors-3/+4
Add missing urls for osstr r? @QuietMisdreavus
2019-07-13Fix miri error in into_inner() of CStringAntoine PLASKOWSKI-5/+6
2019-07-13simplify std::io::Write::write rustdocColin Arnott-1/+1
The std::io::Write::write method currensly suggests consumers guaranteed that `0 <= n <= buf.len()`, for `Ok(n)`, however `n` is of type `usize` causing the compiler to emit a warning: ``` warning: comparison is useless due to type limits --> lib.rs:6:18 | 6 | Ok(n) => 0 <= n && n <= output.len(), | ^^^^^^ | = note: #[warn(unused_comparisons)] on by default ``` This PR removes the suggestion to check `0 <= n` since it is moot. r? @steveklabnik
2019-07-11document that crate refers to the project rootNathan Goldbaum-1/+5
2019-07-11Rollup merge of #62425 - cyphar:linux-cloexec-use-fcntl, r=alexcrichtonMazdak Farrokhzad-0/+2
filedesc: don't use ioctl(FIOCLEX) on Linux All `ioctl(2)`s will fail on `O_PATH` file descriptors on Linux (because they use `&empty_fops` as a security measure against `O_PATH` descriptors affecting the backing file). As a result, `File::try_clone()` and various other methods would always fail with `-EBADF` on `O_PATH` file descriptors. The solution is to simply use `F_SETFD` (as is used on other unices) which works on `O_PATH` descriptors because it operates through the `fnctl(2)` layer and not through `ioctl(2)`s. Since this code is usually only used in strange error paths (a broken or ancient kernel), the extra overhead of one syscall shouldn't cause any dramas. Most other systems programming languages also use the fnctl(2) so this brings us in line with them. Fixes: rust-lang/rust#62314 Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2019-07-10filedesc: don't use ioctl(FIOCLEX) on LinuxAleksa Sarai-0/+2
All ioctl(2)s will fail on O_PATH file descriptors on Linux (because they use &empty_fops as a security measure against O_PATH descriptors affecting the backing file). As a result, File::try_clone() and various other methods would always fail with -EBADF on O_PATH file descriptors. The solution is to simply use F_SETFD (as is used on other unices) which works on O_PATH descriptors because it operates through the fnctl(2) layer and not through ioctl(2)s. Since this code is usually only used in strange error paths (a broken or ancient kernel), the extra overhead of one syscall shouldn't cause any dramas. Most other systems programming languages also use the fnctl(2) so this brings us in line with them. Fixes: rust-lang/rust#62314 Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2019-07-09Rollup merge of #62403 - SimonSapin:concat, r=alexcrichtonMazdak Farrokhzad-6/+0
Replace SliceConcatExt trait with inherent methods and SliceConcat helper trait Before this change `SliceConcatExt` was an unstable extension trait with stable methods. It was in the libstd prelude, so that its methods could be used on the stable channel. This replaces it with inherent methods, which can be used without any addition to the prelude. Since the methods are stable and very generic (with for example a return type that depends on the types of parameters), an helper trait is still needed. But now that trait does not need to be in scope for the methods to be used. Removing this depedency on the libstd prelude allows the methods to be used in `#![no_std]` crate that use liballoc, which does not have its own implicitly-imported prelude.