-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of PRs in the queue; Friday #23107
Commits on Mar 4, 2015
-
Configuration menu - View commit details
-
Copy full SHA for 29938ff - Browse repository at this point
Copy the full SHA 29938ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 61a2766 - Browse repository at this point
Copy the full SHA 61a2766View commit details -
Configuration menu - View commit details
-
Copy full SHA for b1e0dfb - Browse repository at this point
Copy the full SHA b1e0dfbView commit details -
Fix broken link in old rust guide
Having come back to rust recently after > 6months I was looking for docs on tasks and stumbled upon this broken link.
Configuration menu - View commit details
-
Copy full SHA for a037cdf - Browse repository at this point
Copy the full SHA a037cdfView commit details
Commits on Mar 5, 2015
-
std: Stabilize portions of the
io
moduleThe new `io` module has had some time to bake and this commit stabilizes some of the utilities associated with it. This commit also deprecates a number of `std::old_io::util` functions and structures. These items are now `#[stable]` * `Cursor` * `Cursor::{new, into_inner, get_ref, get_mut, position, set_position}` * Implementations of I/O traits for `Cursor<T>` * Delegating implementations of I/O traits for references and `Box` pointers * Implementations of I/O traits for primitives like slices and `Vec<T>` * `ReadExt::bytes` * `Bytes` (and impls) * `ReadExt::chain` * `Chain` (and impls) * `ReadExt::take` (and impls) * `BufReadExt::lines` * `Lines` (and impls) * `io::copy` * `io::{empty, Empty}` (and impls) * `io::{sink, Sink}` (and impls) * `io::{repeat, Repeat}` (and impls) These items remain `#[unstable]` * Core I/O traits. These may want a little bit more time to bake along with the commonly used methods like `read_to_end`. * `BufReadExt::split` - this function may be renamed to not conflict with `SliceExt::split`. * `Error` - there are a number of questions about its representation, `ErrorKind`, and usability. These items are now `#[deprecated]` in `old_io` * `LimitReader` - use `take` instead * `NullWriter` - use `io::sink` instead * `ZeroReader` - use `io::repeat` instead * `NullReader` - use `io::empty` instead * `MultiWriter` - use `broadcast` instead * `ChainedReader` - use `chain` instead * `TeeReader` - use `tee` instead * `copy` - use `io::copy` instead [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for 0dfa997 - Browse repository at this point
Copy the full SHA 0dfa997View commit details -
rustdoc: Move sidebar items into shared JavaScript.
It had been a source of huge bloat in rustdoc outputs. Of course, we can simply disable compiler docs (as `rustc` generates over 90M of HTML) but this approach fares better even after such decision. Each directory now has `sidebar-items.js`, which immediately calls `initSidebarItems` with a JSON sidebar data. This file is shared throughout every item in the sidebar. The current item is highlighted via a separate JS snippet (`window.sidebarCurrent`). The JS file is designed to be loaded asynchronously, as the sidebar is rendered before the content and slow sidebar loading blocks the entire rendering. For the minimal accessibility without JS, links to the parent items are left in HTML. In the future, it might also be possible to integrate crates data with the same fashion: `sidebar-items.js` at the root path will do that. (Currently rustdoc skips writing JS in that case.) This has a huge impact on the size of rustdoc outputs. Originally it was 326MB uncompressed (37.7MB gzipped, 6.1MB xz compressed); it is 169MB uncompressed (11.9MB gzipped, 5.9MB xz compressed) now. The sidebar JS only takes 10MB uncompressed & 0.3MB gzipped.
Configuration menu - View commit details
-
Copy full SHA for 9e28156 - Browse repository at this point
Copy the full SHA 9e28156View commit details -
iOS: open file on aarch64 breaks permissions
According to Apple arm64 calling convention varargs always are passed through stack. Since `open` is actually a vararg function on Darwin's, it means that older declaration caused permissions to be taken from stack, while passed through register => it set file permissions to garbage and it was simply impossible to read/delete files after they were created. They way this commit handles it is to preserve compatibility with existing code - it simply creates a shim unsafe function so all existing callers continue work as nothing happened.
Configuration menu - View commit details
-
Copy full SHA for 3f4181a - Browse repository at this point
Copy the full SHA 3f4181aView commit details -
Use more associated types in core::iter.
This concretely improves type inference of some cases (see included test). I assume the compiler struggles to reason about multiple layers of generic type parameters (even with associated-type equalities) but *can* understand pure associated types, since they are always directly computable from the input types.
Configuration menu - View commit details
-
Copy full SHA for 7bcf7fb - Browse repository at this point
Copy the full SHA 7bcf7fbView commit details -
Oliver Schneider committed
Mar 5, 2015 Configuration menu - View commit details
-
Copy full SHA for 18f1e40 - Browse repository at this point
Copy the full SHA 18f1e40View commit details -
debuginfo: Add
debuginfo::with_source_location_override()
function...... and use it to fix a debug-location issue with constants.
Configuration menu - View commit details
-
Copy full SHA for e316c66 - Browse repository at this point
Copy the full SHA e316c66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a6fb45 - Browse repository at this point
Copy the full SHA 4a6fb45View commit details -
Configuration menu - View commit details
-
Copy full SHA for 215d287 - Browse repository at this point
Copy the full SHA 215d287View commit details -
Configuration menu - View commit details
-
Copy full SHA for 951ef9d - Browse repository at this point
Copy the full SHA 951ef9dView commit details -
std: Deprecate the old_io::process module
This module is now superseded by the `std::process` module. This module still has some room to expand to get quite back up to parity with the `old_io` version, and there is a [tracking issue][issue] for feature requests as well as known room for expansion. [issue]: rust-lang/rfcs#941 [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for 7ed418c - Browse repository at this point
Copy the full SHA 7ed418cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1eb37bf - Browse repository at this point
Copy the full SHA 1eb37bfView commit details -
OIBIT: for
PhantomData<T>
checkT
rather than the struct itselfJorge Aparicio committedMar 5, 2015 Configuration menu - View commit details
-
Copy full SHA for f0897aa - Browse repository at this point
Copy the full SHA f0897aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9319252 - Browse repository at this point
Copy the full SHA 9319252View commit details -
rustc: Add a debug_assertions #[cfg] directive
This commit is an implementation of [RFC 563][rfc] which adds a new `cfg(debug_assertions)` directive which is specially recognized and calculated by the compiler. The flag is turned off at any optimization level greater than 1 and may also be explicitly controlled through the `-C debug-assertions` flag. [rfc]: rust-lang/rfcs#563 The `debug_assert!` and `debug_assert_eq!` macros now respect this instead of the `ndebug` variable and `ndebug` no longer holds any meaning to the standard library. Code which was previously relying on `not(ndebug)` to gate expensive code should be updated to rely on `debug_assertions` instead. Closes rust-lang#22492 [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for d5d8345 - Browse repository at this point
Copy the full SHA d5d8345View commit details -
The two main sub-modules, `c_str` and `os_str`, have now had some time to bake in the standard library. This commits performs a sweep over the modules adding various stability tags. The following APIs are now marked `#[stable]` * `OsString` * `OsStr` * `OsString::from_string` * `OsString::from_str` * `OsString::new` * `OsString::into_string` * `OsString::push` (renamed from `push_os_str`, added an `AsOsStr` bound) * various trait implementations for `OsString` * `OsStr::from_str` * `OsStr::to_str` * `OsStr::to_string_lossy` * `OsStr::to_os_string` * various trait implementations for `OsStr` * `CString` * `CStr` * `NulError` * `CString::new` - this API's implementation may change as a result of rust-lang/rfcs#912 but the usage of `CString::new(thing)` looks like it is unlikely to change. Additionally, the `IntoBytes` bound is also likely to change but the set of implementors for the trait will not change (despite the trait perhaps being renamed). * `CString::from_vec_unchecked` * `CString::as_bytes` * `CString::as_bytes_with_nul` * `NulError::nul_position` * `NulError::into_vec` * `CStr::from_ptr` * `CStr::as_ptr` * `CStr::to_bytes` * `CStr::to_bytes_with_nul` * various trait implementations for `CStr` The following APIs remain `#[unstable]` * `OsStr*Ext` traits remain unstable as the organization of `os::platform` is uncertain still and the traits may change location. * `AsOsStr` remains unstable as generic conversion traits are likely to be rethought soon. The following APIs were deprecated * `OsString::push_os_str` is now called `push` and takes `T: AsOsStr` instead (a superset of the previous functionality).
Configuration menu - View commit details
-
Copy full SHA for 628f5d2 - Browse repository at this point
Copy the full SHA 628f5d2View commit details -
mk: Once again rename the beta channel artifacts as 'beta'
No more alphas, please.
Configuration menu - View commit details
-
Copy full SHA for 6148537 - Browse repository at this point
Copy the full SHA 6148537View commit details -
std: net: enable bind_error test on all platforms
Bind on non-local IP address is essentially the same test, and it works same way on all platforms. Fixes rust-lang#11530
Configuration menu - View commit details
-
Copy full SHA for d3e7700 - Browse repository at this point
Copy the full SHA d3e7700View commit details
Commits on Mar 6, 2015
-
This commit performs a stabilization pass over the `std::fs` module now that it's had some time to bake. The change was largely just adding `#[stable]` tags, but there are a few APIs that remain `#[unstable]`. The following apis are now marked `#[stable]`: * `std::fs` (the name) * `File` * `Metadata` * `ReadDir` * `DirEntry` * `OpenOptions` * `Permissions` * `File::{open, create}` * `File::{sync_all, sync_data}` * `File::set_len` * `File::metadata` * Trait implementations for `File` and `&File` * `OpenOptions::new` * `OpenOptions::{read, write, append, truncate, create}` * `OpenOptions::open` - this function was modified, however, to not attempt to reject cross-platform openings of directories. This means that some platforms will succeed in opening a directory and others will fail. * `Metadata::{is_dir, is_file, len, permissions}` * `Permissions::{readonly, set_readonly}` * `Iterator for ReadDir` * `DirEntry::path` * `remove_file` - like with `OpenOptions::open`, the extra windows code to remove a readonly file has been removed. This means that removing a readonly file will succeed on some platforms but fail on others. * `metadata` * `rename` * `copy` * `hard_link` * `soft_link` * `read_link` * `create_dir` * `create_dir_all` * `remove_dir` * `remove_dir_all` * `read_dir` The following apis remain `#[unstable]`. * `WalkDir` and `walk` - there are many methods by which a directory walk can be constructed, and it's unclear whether the current semantics are the right ones. For example symlinks are not handled super well currently. This is now behind a new `fs_walk` feature. * `File::path` - this is an extra abstraction which the standard library provides on top of what the system offers and it's unclear whether we should be doing so. This is now behind a new `file_path` feature. * `Metadata::{accessed, modified}` - we do not currently have a good abstraction for a moment in time which is what these APIs should likely be returning, so these remain `#[unstable]` for now. These are now behind a new `fs_time` feature * `set_file_times` - like with `Metadata::accessed`, we do not currently have the appropriate abstraction for the arguments here so this API remains unstable behind the `fs_time` feature gate. * `PathExt` - the precise set of methods on this trait may change over time and some methods may be removed. This API remains unstable behind the `path_ext` feature gate. * `set_permissions` - we may wish to expose a more granular ability to set the permissions on a file instead of just a blanket "set all permissions" method. This function remains behind the `fs` feature. The following apis are now `#[deprecated]` * The `TempDir` type is now entirely deprecated and is [located on crates.io][tempdir] as the `tempdir` crate with [its source][github] at rust-lang/tempdir. [tempdir]: https://crates.io/crates/tempdir [github]: https://github.com/rust-lang/tempdir The stability of some of these APIs has been questioned over the past few weeks in using these APIs, and it is intentional that the majority of APIs here are marked `#[stable]`. The `std::fs` module has a lot of room to grow and the material is [being tracked in a RFC issue][rfc-issue]. [rfc-issue]: rust-lang/rfcs#939 [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for 73b0b25 - Browse repository at this point
Copy the full SHA 73b0b25View commit details -
Configuration menu - View commit details
-
Copy full SHA for a08f129 - Browse repository at this point
Copy the full SHA a08f129View commit details -
std: Fix peeling ports from addresses
The `rsplitn` call was called with 2 instead of 1 so the iterator would yield 3 items in some cases, not the 2 that it should have. Closes rust-lang#23076
Configuration menu - View commit details
-
Copy full SHA for 65b4eda - Browse repository at this point
Copy the full SHA 65b4edaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8655e94 - Browse repository at this point
Copy the full SHA 8655e94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1552f67 - Browse repository at this point
Copy the full SHA 1552f67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96b1f0c - Browse repository at this point
Copy the full SHA 96b1f0cView commit details -
file permission: remove executable bit from *.rs
Signed-off-by: Lai Jiangshan <[email protected]>
Lai Jiangshan committedMar 6, 2015 Configuration menu - View commit details
-
Copy full SHA for ccd83da - Browse repository at this point
Copy the full SHA ccd83daView commit details -
Rollup merge of rust-lang#22862 - vhbit:broken-open, r=alexcrichton
According to Apple's [arm64 calling convention](https://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARM64FunctionCallingConventions.html#//apple_ref/doc/uid/TP40013702-SW1) varargs always are passed through stack. Since `open` is actually a vararg function on Darwin, it means that older declaration caused permissions to be taken from stack, while passed through register => it set file permissions to garbage and it was simply impossible to read/delete files after they were created. They way this commit handles it is to preserve compatibility with existing code - it simply creates a shim unsafe function so all existing callers continue work as nothing happened.
Configuration menu - View commit details
-
Copy full SHA for e80fc10 - Browse repository at this point
Copy the full SHA e80fc10View commit details -
Rollup merge of rust-lang#22899 - huonw:macro-stability, r=alexcrichton
Unstable items used in a macro expansion will now always trigger stability warnings, *unless* the unstable items are directly inside a macro marked with `#[allow_internal_unstable]`. IOW, the compiler warns unless the span of the unstable item is a subspan of the definition of a macro marked with that attribute. E.g. #[allow_internal_unstable] macro_rules! foo { ($e: expr) => {{ $e; unstable(); // no warning only_called_by_foo!(); }} } macro_rules! only_called_by_foo { () => { unstable() } // warning } foo!(unstable()) // warning The unstable inside `foo` is fine, due to the attribute. But the `unstable` inside `only_called_by_foo` is not, since that macro doesn't have the attribute, and the `unstable` passed into `foo` is also not fine since it isn't contained in the macro itself (that is, even though it is only used directly in the macro). In the process this makes the stability tracking much more precise, e.g. previously `println!(\"{}\", unstable())` got no warning, but now it does. As such, this is a bug fix that may cause [breaking-change]s. The attribute is definitely feature gated, since it explicitly allows side-stepping the feature gating system. --- This updates `thread_local!` macro to use the attribute, since it uses unstable features internally (initialising a struct with unstable fields).
Configuration menu - View commit details
-
Copy full SHA for 9eb596c - Browse repository at this point
Copy the full SHA 9eb596cView commit details -
Rollup merge of rust-lang#22980 - alexcrichton:debug-assertions, r=pn…
…kfelix This commit is an implementation of [RFC 563][rfc] which adds a new `cfg(debug_assertions)` directive which is specially recognized and calculated by the compiler. The flag is turned off at any optimization level greater than 1 and may also be explicitly controlled through the `-C debug-assertions` flag. [rfc]: rust-lang/rfcs#563 The `debug_assert!` and `debug_assert_eq!` macros now respect this instead of the `ndebug` variable and `ndebug` no longer holds any meaning to the standard library. Code which was previously relying on `not(ndebug)` to gate expensive code should be updated to rely on `debug_assertions` instead. Closes rust-lang#22492 [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for efb487b - Browse repository at this point
Copy the full SHA efb487bView commit details -
Rollup merge of rust-lang#23010 - alexcrichton:deprecate-some-old-io,…
… r=aturon The new `io` module has had some time to bake and this commit stabilizes some of the utilities associated with it. This commit also deprecates a number of `std::old_io::util` functions and structures. These items are now `#[stable]` * `Cursor` * `Cursor::{new, into_inner, get_ref, get_mut, position, set_position}` * Implementations of I/O traits for `Cursor<T>` * Delegating implementations of I/O traits for references and `Box` pointers * Implementations of I/O traits for primitives like slices and `Vec<T>` * `ReadExt::bytes` * `Bytes` (and impls) * `ReadExt::chain` * `Chain` (and impls) * `ReadExt::take` (and impls) * `BufReadExt::lines` * `Lines` (and impls) * `io::copy` * `io::{empty, Empty}` (and impls) * `io::{sink, Sink}` (and impls) * `io::{repeat, Repeat}` (and impls) These items remain `#[unstable]` * Core I/O traits. These may want a little bit more time to bake along with the commonly used methods like `read_to_end`. * `BufReadExt::split` - this function may be renamed to not conflict with `SliceExt::split`. * `Error` - there are a number of questions about its representation, `ErrorKind`, and usability. These items are now `#[deprecated]` in `old_io` * `LimitReader` - use `take` instead * `NullWriter` - use `io::sink` instead * `ZeroReader` - use `io::repeat` instead * `NullReader` - use `io::empty` instead * `MultiWriter` - use `broadcast` instead * `ChainedReader` - use `chain` instead * `TeeReader` - use `tee` instead * `copy` - use `io::copy` instead [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for 32631b4 - Browse repository at this point
Copy the full SHA 32631b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for e99b00f - Browse repository at this point
Copy the full SHA e99b00fView commit details -
Rollup merge of rust-lang#23060 - lifthrasiir:rustdoc-sidebar-in-js, …
…r=alexcrichton It had been a source of huge bloat in rustdoc outputs. Of course, we can simply disable compiler docs (as `rustc` generates over 90M of HTML) but this approach fares better even after such decision. Each directory now has `sidebar-items.js`, which immediately calls `initSidebarItems` with a JSON sidebar data. This file is shared throughout every item in the sidebar. The current item is highlighted via a separate JS snippet (`window.sidebarCurrent`). The JS file is designed to be loaded asynchronously, as the sidebar is rendered before the content and slow sidebar loading blocks the entire rendering. For the minimal accessibility without JS, links to the parent items are left in HTML. In the future, it might also be possible to integrate crates data with the same fashion: `sidebar-items.js` at the root path will do that. (Currently rustdoc skips writing JS in that case.) This has a huge impact on the size of rustdoc outputs. Originally it was 326MB uncompressed (37.7MB gzipped, 6.1MB xz compressed); it is 169MB uncompressed (11.9MB gzipped, 5.9MB xz compressed) now. The sidebar JS only takes 10MB uncompressed & 0.3MB gzipped.
Configuration menu - View commit details
-
Copy full SHA for 7a12c03 - Browse repository at this point
Copy the full SHA 7a12c03View commit details -
Rollup merge of rust-lang#23070 - krdln:fix-stat-arm, r=alexcrichton
This separates definitions of struct stat and other typedefs between Android and Linux on ARM (Android has a non-standard one). This makes functions such as `File::metadata()` work correctly and makes one able to check file's size. All tests from std (and also run-pass: stat.rs) now pass on ARM Linux. Fixes rust-lang#20007.
Configuration menu - View commit details
-
Copy full SHA for c39833e - Browse repository at this point
Copy the full SHA c39833eView commit details -
Rollup merge of rust-lang#23074 - michaelwoerister:constants-debug-lo…
…cs, r=alexcrichton With this PR in-place constants are handled correctly with respect to debug location assignment. The PR also adds an (unrelated) test case for debug locations in `extern \"C\"` functions. Fixes rust-lang#22432
Configuration menu - View commit details
-
Copy full SHA for d77fc9f - Browse repository at this point
Copy the full SHA d77fc9fView commit details -
Rollup merge of rust-lang#23079 - alexcrichton:deprecate-process, r=a…
…turon This module is now superseded by the `std::process` module. This module still has some room to expand to get quite back up to parity with the `old_io` version, and there is a [tracking issue][issue] for feature requests as well as known room for expansion. [issue]: rust-lang/rfcs#941 [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for c9063e0 - Browse repository at this point
Copy the full SHA c9063e0View commit details -
Rollup merge of rust-lang#23081 - alexcrichton:stabilize-fs, r=aturon
This commit performs a stabilization pass over the `std::fs` module now that it's had some time to bake. The change was largely just adding `#[stable]` tags, but there are a few APIs that remain `#[unstable]`. The following apis are now marked `#[stable]`: * `std::fs` (the name) * `File` * `Metadata` * `ReadDir` * `DirEntry` * `OpenOptions` * `Permissions` * `File::{open, create}` * `File::{sync_all, sync_data}` * `File::set_len` * `File::metadata` * Trait implementations for `File` and `&File` * `OpenOptions::new` * `OpenOptions::{read, write, append, truncate, create}` * `OpenOptions::open` - this function was modified, however, to not attempt to reject cross-platform openings of directories. This means that some platforms will succeed in opening a directory and others will fail. * `Metadata::{is_dir, is_file, len, permissions}` * `Permissions::{readonly, set_readonly}` * `Iterator for ReadDir` * `DirEntry::path` * `remove_file` - like with `OpenOptions::open`, the extra windows code to remove a readonly file has been removed. This means that removing a readonly file will succeed on some platforms but fail on others. * `metadata` * `rename` * `copy` * `hard_link` * `soft_link` * `read_link` * `create_dir` * `create_dir_all` * `remove_dir` * `remove_dir_all` * `read_dir` The following apis remain `#[unstable]`. * `WalkDir` and `walk` - there are many methods by which a directory walk can be constructed, and it's unclear whether the current semantics are the right ones. For example symlinks are not handled super well currently. This is now behind a new `fs_walk` feature. * `File::path` - this is an extra abstraction which the standard library provides on top of what the system offers and it's unclear whether we should be doing so. This is now behind a new `file_path` feature. * `Metadata::{accessed, modified}` - we do not currently have a good abstraction for a moment in time which is what these APIs should likely be returning, so these remain `#[unstable]` for now. These are now behind a new `fs_time` feature * `set_file_times` - like with `Metadata::accessed`, we do not currently have the appropriate abstraction for the arguments here so this API remains unstable behind the `fs_time` feature gate. * `PathExt` - the precise set of methods on this trait may change over time and some methods may be removed. This API remains unstable behind the `path_ext` feature gate. * `set_permissions` - we may wish to expose a more granular ability to set the permissions on a file instead of just a blanket \"set all permissions\" method. This function remains behind the `fs` feature. The following apis are now `#[deprecated]` * The `TempDir` type is now entirely deprecated and is [located on crates.io][tempdir] as the `tempdir` crate with [its source][github] at rust-lang/tempdir. [tempdir]: https://crates.io/crates/tempdir [github]: https://github.com/rust-lang/tempdir The stability of some of these APIs has been questioned over the past few weeks in using these APIs, and it is intentional that the majority of APIs here are marked `#[stable]`. The `std::fs` module has a lot of room to grow and the material is [being tracked in a RFC issue][rfc-issue]. [rfc-issue]: rust-lang/rfcs#939 Closes rust-lang#22879 [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for fe41c93 - Browse repository at this point
Copy the full SHA fe41c93View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b7117b - Browse repository at this point
Copy the full SHA 0b7117bView commit details -
Rollup merge of rust-lang#23095 - stepancheg:test-bind-fail, r=alexcr…
…ichton Bind on non-local IP address is essentially the same test, and it works same way on all platforms. Fixes rust-lang#11530
Configuration menu - View commit details
-
Copy full SHA for 4993fd0 - Browse repository at this point
Copy the full SHA 4993fd0View commit details -
Fix an easy to trigger deadlock in std::io::stdio
Being a person who somehow has taken a liking to premature optimisation, my knee-jerk reaction to locking in std handles was preamble resembling following snippet: let stdout = stdout(); let lstdout = stdout.lock(); let stdin = stdin(); let lstdin = stdin.lock(); and then reading from the locked handle like this: let mut letter = [0; 1]; lstdin.read(&mut letter).unwrap(); As it is now this code will deadlock because the `read` method attempts to lock stdout as well!
Configuration menu - View commit details
-
Copy full SHA for 3f94260 - Browse repository at this point
Copy the full SHA 3f94260View commit details -
Check that traits with default impls have no methods
fixes rust-lang#23080
Jorge Aparicio committedMar 6, 2015 Configuration menu - View commit details
-
Copy full SHA for 707f7a1 - Browse repository at this point
Copy the full SHA 707f7a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f2a1cf2 - Browse repository at this point
Copy the full SHA f2a1cf2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 56e0229 - Browse repository at this point
Copy the full SHA 56e0229View commit details -
Rollup merge of rust-lang#23101 - laijs:fix-file-perm, r=alexcrichton
Signed-off-by: Lai Jiangshan <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7a2eea5 - Browse repository at this point
Copy the full SHA 7a2eea5View commit details -
Rollup merge of rust-lang#23025 - huonw:better-iter-infer, r=Gankro
This concretely improves type inference of some cases (see included test). I assume the compiler struggles to reason about multiple layers of generic type parameters (even with associated-type equalities) but *can* understand pure associated types, since they are always directly computable from the input types. Thanks to @shepmaster for noticing the issue with `Cloned` (I took that example as a test case).
Configuration menu - View commit details
-
Copy full SHA for 4176398 - Browse repository at this point
Copy the full SHA 4176398View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55087e7 - Browse repository at this point
Copy the full SHA 55087e7View commit details -
Rollup merge of rust-lang#23048 - davbo:fix-broken-link-in-old-guide,…
… r=brson Having come back to rust recently after > 6months I was looking for docs on tasks and stumbled upon this broken link.
Configuration menu - View commit details
-
Copy full SHA for ce2d04a - Browse repository at this point
Copy the full SHA ce2d04aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2fcdd82 - Browse repository at this point
Copy the full SHA 2fcdd82View commit details -
Rollup merge of rust-lang#23067 - oli-obk:doc_examle_fix, r=alexcrichton
The compiler even tells us this won't work. ``` let mut i = s.len(); while i < 0 { ... } ```
Configuration menu - View commit details
-
Copy full SHA for babd41e - Browse repository at this point
Copy the full SHA babd41eView commit details -
Rollup merge of rust-lang#23082 - killercup:patch-6, r=alexcrichton
This should fix rust-lang#22615. Previously, the playpen links grabbed the content of all `.rusttest` containers on the same level to build the URL. Now they just select the one before the `pre` they are shown in. I have only tested this by changing the file in my local build of the docs (not by running rustdoc itself).
Configuration menu - View commit details
-
Copy full SHA for a14d6a9 - Browse repository at this point
Copy the full SHA a14d6a9View commit details -
Rollup merge of rust-lang#23094 - brson:beta, r=huonw
No more alphas, please.
Configuration menu - View commit details
-
Copy full SHA for 88cef03 - Browse repository at this point
Copy the full SHA 88cef03View commit details -
Rollup merge of rust-lang#23096 - posborne:paths-documentation-gramma…
…r-fix, r=huonw
Configuration menu - View commit details
-
Copy full SHA for ae16afb - Browse repository at this point
Copy the full SHA ae16afbView commit details -
Configuration menu - View commit details
-
Copy full SHA for aaaa431 - Browse repository at this point
Copy the full SHA aaaa431View commit details -
Configuration menu - View commit details
-
Copy full SHA for 61c6b19 - Browse repository at this point
Copy the full SHA 61c6b19View commit details -
Rollup merge of rust-lang#22474 - iKevinY:pandoc-version-check, r=brson
Executing `configure` seems to create the following error due to how the script [parses Pandoc's version](https://github.com/rust-lang/rust/blob/master/configure#L705): ```text ./configure: line 705: [: pandoc: integer expression expected ./configure: line 705: [: 1.12.4.2: integer expression expected ``` This issue seems to stem from a discrepancy between BSD and GNU versions of sed. This patch changes the sed command to use an extended regex, which works with both flavours of sed.
Configuration menu - View commit details
-
Copy full SHA for 7ed4660 - Browse repository at this point
Copy the full SHA 7ed4660View commit details -
move check into wf pass, add a test for assoc types
Jorge Aparicio committedMar 6, 2015 Configuration menu - View commit details
-
Copy full SHA for 8a391dd - Browse repository at this point
Copy the full SHA 8a391ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for f7594e1 - Browse repository at this point
Copy the full SHA f7594e1View commit details -
std: Deprecate the std::old_io::net primitives
The `std::net` primitives should be ready for use now and as a result the old ones are now deprecated and slated for removal. Most TCP/UDP functionality is now available through `std::net` but the `std::old_io::net::pipe` module is removed entirely from the standard library. Unix socket funtionality can be found in sfackler's [`unix_socket`][unix] crate and there is currently no replacement for named pipes on Windows. [unix]: https://crates.io/crates/unix_socket [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for 9aea749 - Browse repository at this point
Copy the full SHA 9aea749View commit details -
This test is known to fail on windows.
Configuration menu - View commit details
-
Copy full SHA for 16ff140 - Browse repository at this point
Copy the full SHA 16ff140View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a30412 - Browse repository at this point
Copy the full SHA 1a30412View commit details -
rollup merge of rust-lang#22813: alexcrichton/deprecate-net
The `std::net` primitives should be ready for use now and as a result the old ones are now deprecated and slated for removal. Most TCP/UDP functionality is now available through `std::net` but the `std::old_io::net::pipe` module is removed entirely from the standard library. Unix socket funtionality can be found in sfackler's [`unix_socket`][unix] crate and there is currently no replacement for named pipes on Windows. [unix]: https://crates.io/crates/unix_socket [breaking-change]
Configuration menu - View commit details
-
Copy full SHA for fd86a01 - Browse repository at this point
Copy the full SHA fd86a01View commit details -
rollup merge of rust-lang#22975: alexcrichton/stabilize-ffi
Conflicts: src/librustc_trans/back/link.rs src/librustc_trans/lib.rs
Configuration menu - View commit details
-
Copy full SHA for 2bd02ca - Browse repository at this point
Copy the full SHA 2bd02caView commit details -
rollup merge of rust-lang#23087: nagisa/std-undeadlock
Being a person who somehow has taken a liking to premature optimisation, my knee-jerk reaction to locking in std handles was preamble resembling following snippet: let stdout = stdout(); let lstdout = stdout.lock(); let stdin = stdin(); let lstdin = stdin.lock(); and then reading from the locked handle like this: let mut letter = [0; 1]; lstdin.read(&mut letter).unwrap(); As it is now this code will deadlock because the `read` method attempts to lock stdout as well! r? @alexcrichton --- Either way, I find flushing stdout when stdin is used debatable. I believe people who write prompts should take care to flush stdout when necessary themselves. Another idea: Would be cool if locks on std handles would be taken for a thread, rather than a handle, so given preamble (first code snippet) stdin.lock() or more generally stdin.read(…) worked fine. I.e. if more than a single lock are all taken inside the same thread, it would work, though not sure if our synchronisation primitives are expressive enough to make it possible.
Configuration menu - View commit details
-
Copy full SHA for 697de42 - Browse repository at this point
Copy the full SHA 697de42View commit details -
rollup merge of rust-lang#23091: japaric/phantom
r? @nikomatsakis See the cfail test, it compiles without this patch cc rust-lang#13231
Configuration menu - View commit details
-
Copy full SHA for 31af637 - Browse repository at this point
Copy the full SHA 31af637View commit details -
rollup merge of rust-lang#23097: alexcrichton/issue-23076
The `rsplitn` call was called with 2 instead of 1 so the iterator would yield 3 items in some cases, not the 2 that it should have. Closes rust-lang#23076
Configuration menu - View commit details
-
Copy full SHA for 3c2c516 - Browse repository at this point
Copy the full SHA 3c2c516View commit details -
rollup merge of rust-lang#23117: japaric/default-impl
fixes rust-lang#23080 r? @nikomatsakis cc @flaper87
Configuration menu - View commit details
-
Copy full SHA for bc409cb - Browse repository at this point
Copy the full SHA bc409cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 11ddfb8 - Browse repository at this point
Copy the full SHA 11ddfb8View commit details
Commits on Mar 7, 2015
-
Configuration menu - View commit details
-
Copy full SHA for aed31ee - Browse repository at this point
Copy the full SHA aed31eeView commit details