| Age | Commit message (Collapse) | Author | Lines |
|
Closes #25977
The various `stdfoo_raw` methods in std::io now return `io::Result`s,
since they may not exist on Windows. They will always return `Ok` on
Unix-like platforms.
[breaking-change]
|
|
|
|
r? @alexcrichton
|
|
With the latter is provided by the `From` conversion trait, the former is now completely redundant. Their code is identical. Let’s deprecate now and plan to remove in the next cycle. (It’s `#[unstable]`.)
r? @alexcrichton
CC @nagisa
|
|
Since all those flags are u32 anyway, avoid unnecessary conversions
[breaking change]
Signed-off-by: Peter Atashian <retep998@gmail.com>
|
|
|
|
r? @eddyb
|
|
|
|
|
|
File handles are inherited from, not by, the parent process
|
|
fixed build fail on aarch64-android
by support aarch64-android raw type definitions
|
|
|
|
The API documentation is not explicit enough that because `try!` returns
`Err` early for you, you can only use it in functions that return
`Result`. The book mentions this, but if you come across `try!` outside
of the book and look it up in the docs, this restriction on the return
type of the function is not particularly clear.
I seriously had this epiphany a few days ago after working with Rust for MONTHS, and after seeing [a friend have to come to the same realization](http://joelmccracken.github.io/entries/a-simple-web-app-in-rust-pt-2a/), I'd like to save more people from this confusion :) :sparkling_heart:
|
|
The priority policy of RWLock is not specified, and the fact there is no policy should probably be specified.
|
|
|
|
|
|
|
|
|
|
|
|
The API documentation is not explicit enough that because `try!` returns
`Err` early for you, you can only use it in functions that return
`Result`. The book mentions this, but if you come across `try!` outside
of the book and look it up in the docs, this restriction on the return
type of the function is not particularly clear.
|
|
These are implemented in asm, they're just not inlined.
Open questions are:
* Should I just inline them? They're.. big, but it seems as though this needs violates the #[inline(always)] gaurantees the others make.
* Does something (llvm?) provide these as intrinsics? The structure of this code suggests that we could be hoisting off something else, instead of flagrantly ignoring it like we do for power and mips.
|
|
|
|
This is based on the documented behavior of cmath::{fmin,fmax}. It is also tested by existing unit tests in this module.
|
|
This takes the cases from `InvalidInput` where a data format error
was encountered. This is different from the documented semantics
of `InvalidInput`, which more likely indicate a programming error.
Fixes rust-lang/rfcs#906
|
|
This is based on the documented behavior of cmath::{fmin,fmax}. It is also
tested by existing unit tests in this module.
|
|
This commit adds a ./configure option called `--disable-elf-tls` which disables
ELF based TLS (that which is communicated to LLVM) on platforms which already
support it. OSX 10.6 does not support this form of TLS, and some users of Rust
need to target 10.6 and are unable to do so due to the usage of TLS. The
standard library will continue to use ELF based TLS on OSX by default (as the
officially supported platform is 10.7+), but this adds an option to compile the
standard library in a way that is compatible with 10.6.
Closes #25342
|
|
The `HashMap` and `HashSet` iterators use `RawTable::first_bucket_raw` which is generic and will get inlined cross-crate.
However, `first_bucket_raw` calls `calculate_offsets` and the call doesn't get inlined, despite being a simple function.
This missing `#[inline]` results in `hash_table::calculate_offsets` showing up at the top of a callgrind profile with 3 million calls (for the testcase in #25916).
|
|
|
|
Closes #25619
r? @alexcrichton
|
|
|
|
This commit implements a number of standard traits for the standard library's
process I/O handles. The `FromRaw{Fd,Handle}` traits are now implemented for the
`Stdio` type and the `AsRaw{Fd,Handle}` traits are now implemented for the
`Child{Stdout,Stdin,Stderr}` types.
The stability markers for these implementations mention that they are stable for
1.1 as I will nominate this commit for cherry-picking to beta.
|
|
This takes the cases from InvalidInput where a data format error
was encountered. This is different from the documented semantics
of InvalidInput, which more likely indicate a programming error.
|
|
|
|
Closes #25619
|
|
The first commit simply forwards `io::Error`'s `cause` implementation to the inner error.
The second commit adds accessor methods for the inner error. Method names mirror those used elsewhere like `BufReader`.
r? @alexcrichton
|
|
|
|
This commit adds a ./configure option called `--disable-elf-tls` which disables
ELF based TLS (that which is communicated to LLVM) on platforms which already
support it. OSX 10.6 does not support this form of TLS, and some users of Rust
need to target 10.6 and are unable to do so due to the usage of TLS. The
standard library will continue to use ELF based TLS on OSX by default (as the
officially supported platform is 10.7+), but this adds an option to compile the
standard library in a way that is compatible with 10.6.
|
|
This is now std::io::Result
|
|
|
|
Ergonomics are a bit crappy right now because method resolution isn't
smart enough to drop bounds, unfortunately.
|
|
error::Error itself has downcasting methods, so there's no need to
duplicate those here.
|
|
|
|
|
|
|
|
Fixes #24816
r? @alexcrichton
|
|
|
|
Fixes #24816
|
|
|
|
By the same logic that `mem::forget` is safe, `boxed::into_raw` is actually a safe function.
Fixes #25755.
|
|
|