| Age | Commit message (Collapse) | Author | Lines |
|
r? @steveklabnik
|
|
r=steveklabnik
This is the first use of `box`. It's an unstable feature and also isn't
consistent with the use of `Box` in the "original" code above it.
r? @steveklabnik
|
|
|
|
|
|
Create a new section under the Unstable section for `box` syntax and
patterns and removed their discussion from the Pointers section.
|
|
Collected from TWiR and the PR log.
r? @alexcrichton
f? @brson @nikomatsakis @huonw
|
|
|
|
|
|
Conflicts:
src/test/compile-fail/coherence-impls-copy.rs
|
|
@alexcrichton here are the two most recent Bitrig snapshots. As usual, please upload the snapshots to the snapshot server:
https://github.com/dhuseby/rust-cross-bitrig/blob/master/snapshots/rust-stage0-2015-03-25-a923278-bitrig-x86_64-e56c400a04bca7b52ab54e0780484bb68fa449c2.tar.bz2
https://github.com/dhuseby/rust-cross-bitrig/blob/master/snapshots/rust-stage0-2015-03-27-5520801-bitrig-x86_64-55a69b0ae5481ccda54c2fcfc54025a0945c4f57.tar.bz2
BTW, I was just able to get the Bitrig Rust build to pass "make check" so I'll submit a PR once this lands to fix the tests and get the Bitrig buildbot to finally complete a build. That will hopefully end this nonsense of hand building and uploading snapshots. :+1:
|
|
Feature-gate unsigned unary negate.
Discussed in weekly meeting here: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2015-03-31.md#feature-gate--expr
and also in the internals thread here: http://internals.rust-lang.org/t/forbid-unsigned-integer/752
|
|
Conflicts:
src/libcore/num/mod.rs
|
|
|
|
|
|
|
|
|
|
|
|
Namely, the special case treatment for `div`/`rem` is only applicable
to signed integer values.
Clearly RFC 1027 would have saved us here! ;)
|
|
This commit renames and stabilizes:
* `Condvar::wait_timeout_ms` (renamed from `wait_timeout`)
* `thread::park_timeout_ms` (renamed from `park_timeout`)
* `thread::sleep_ms` (renamed from `sleep`)
In each case, the timeout is taken as a `u32` number of milliseconds,
rather than a `Duration`.
These functions are likely to be deprecated once a stable form of
`Duration` is available, but there is little cost to having these named
variants around, and it's crucial functionality for 1.0.
[breaking-change]
r? @alexcrichton
cc @sfackler @carllerche
|
|
Like it says.
r? @alexcrichton
|
|
|
|
|
|
This commit renames and stabilizes:
* `Condvar::wait_timeout_ms` (renamed from `wait_timeout`)
* `thread::park_timeout_ms` (renamed from `park_timeout`)
* `thread::sleep_ms` (renamed from `sleep`)
In each case, the timeout is taken as a `u32` number of milliseconds,
rather than a `Duration`.
These functions are likely to be deprecated once a stable form of
`Duration` is available, but there is little cost to having these named
variants around, and it's crucial functionality for 1.0.
[breaking-change]
|
|
|
|
|
|
|
|
|
|
Conflicts:
src/liballoc/boxed.rs
|
|
This commit is an implementation of [RFC 979][rfc] which changes the meaning of
the count parameter to the `splitn` function on strings and slices. The
parameter now means the number of items that are returned from the iterator, not
the number of splits that are made.
[rfc]: https://github.com/rust-lang/rfcs/pull/979
Closes #23911
[breaking-change]
|
|
This commit is an implementation of [RFC 979][rfc] which changes the meaning of
the count parameter to the `splitn` function on strings and slices. The
parameter now means the number of items that are returned from the iterator, not
the number of splits that are made.
[rfc]: https://github.com/rust-lang/rfcs/pull/979
Closes #23911
[breaking-change]
|
|
Recent numerics stabilization removed the inherent `min_value` and
`max_value` methods from integer types, assuming that the module-level
constants would suffice. However, that failed to account for the use
case in FFI code when dealing with integer type aliases.
This commit reintroduces the methods as `#[stable]`, since this is
essential functionality for 1.0.
It's unfortunate to freeze these as methods, but when we can provide
inherent associated constants these methods can be deprecated.
r? @sfackler
cc @alexcrichton
|
|
Switches rustup to using the beta channel by default. Includes #23824 for the implementation.
cc #20453
Closes #21149
|
|
|
|
Fix example and some text for: `read_line` takes `&mut String` and return `Result` instead `IoResult`.
r? @steveklabnik
|
|
This PR implements rust-lang/rfcs#1023. In the process it fixes #23086 and #23516. A few impls in libcore had to be updated, but the impact is generally pretty minimal. Most of the fallout is in the tests that probed the limits of today's coherence.
I tested and we were able to build the most popular crates along with iron (modulo errors around errors being sendable).
Fixes #23918.
|
|
[rendered](https://github.com/steveklabnik/rust/blob/closure_docs/src/doc/trpl/closures.md)
r? @nikomatsakis
|
|
|
|
|
|
|
|
|
|
|
|
Recent numerics stabilization removed the inherent `min_value` and
`max_value` methods from integer types, assuming that the module-level
constants would suffice. However, that failed to account for the use
case in FFI code when dealing with integer type aliases.
This commit reintroduces the methods as `#[stable]`, since this is
essential functionality for 1.0.
It's unfortunate to freeze these as methods, but when we can provide
inherent associated constants these methods can be deprecated.
|
|
sidesteps a coherence difficulty where `liballoc` had to prove that
`&str: !Error`, which didn't involve any local types.
|
|
|
|
|
|
|
|
Fixes #22914
Said issue was mostly fixed, as there wasn't any examples when it was initially posted. This is mostly just some re-wording of some things and some cleanup
|
|
Basically stuff I did for unqualified assoc types which is worth landing by itself.
|
|
The primary purpose of this PR is to add blanket impls for the `Fn` traits of the following (simplified) form:
impl<F:Fn> Fn for &F
impl<F:FnMut> FnMut for &mut F
However, this wound up requiring two changes:
1. A slight hack so that `x()` where `x: &mut F` is translated to `FnMut::call_mut(&mut *x, ())` vs `FnMut::call_mut(&mut x, ())`. This is achieved by just autoderef'ing one time when calling something whose type is `&F` or `&mut F`.
2. Making the infinite recursion test in trait matching a bit more tailored. This involves adding a notion of "matching" types that looks to see if types are potentially unifiable (it's an approximation).
The PR also includes various small refactorings to the inference code that are aimed at moving the unification and other code into a library (I've got that particular change in a branch, these changes just lead the way there by removing unnecessary dependencies between the compiler and the more general unification code).
Note that per rust-lang/rfcs#1023, adding impls like these would be a breaking change in the future.
cc @japaric
cc @alexcrichton
cc @aturon
Fixes #23015.
|
|
This PR implements rust-lang/rfcs#1023. In the process it fixes #23086 and #23516. A few impls in libcore had to be updated, but the impact is generally pretty minimal. Most of the fallout is in the tests that probed the limits of today's coherence.
I tested and we were able to build the most popular crates along with iron (modulo errors around errors being sendable).
Fixes #23918.
|