Skip to content

Rolling up PRs in the queue #22153

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

Merged
merged 72 commits into from
Feb 10, 2015
Merged

Rolling up PRs in the queue #22153

merged 72 commits into from
Feb 10, 2015

Conversation

alexcrichton
Copy link
Member

No description provided.

ranma42 and others added 30 commits February 4, 2015 01:25
As per rust-lang/rfcs#601, replace `be` with `become` as reserved
keyword for tail call optimization.
From Issue 21829 clarify equivalency of tuples
are any where-clauses at all. This seems to be the simplest possible
rule and will (hopefully!) put an end to these annoying "cache leak"
bugs. Fixes rust-lang#22019.
No point sending people to a page which just says "this is now part of
the Rust book".
When self.start > self.end, these iterators simply return None,
so we adjust the size_hint to just return zero in this case.

Certain optimizations can be implemented in and outside libstd if we
know we can trust the size_hint for all inputs to for example
Range<usize>.

This corrects the ExactSizeIterator implementations, which IMO were
unsound and incorrect previously, since they allowed a range like (2..1)
to return a size_hint of -1us in when debug assertions are turned off.
This was correct in the EBNF, but not in the prose (which seems to have
been copied-and-pasted from regular string literals).
- c-link-to-rust-staticlib: use EXTRACFLAGS defined by tools.mk for
  choose the good libraries to link to.

- no-stack-check: disabled for openbsd (no segmented stacks here)

- symbols-are-reasonable: use portable grep pattern

- target-specs: use POSIX form for options when invoking grep

- use-extern-for-plugins: disable as OpenBSD only support x86_64 for now
Update reference.md:
 - derive() no longer supports Zero trait
 - derive() now supports Copy trait
Replace links to `../index.html` with `index.html` as they are
linking to the `std` module and not `std::cell` as intended.
Crate types from multiple sources appear to be deduplicated properly, but not
deduplicated if they come from the command line arguments. At worst, this used
to cause compiler failures when `--crate-type=lib,rlib` (the same as
`--crate-type=rlib,rlib`, at least at the time of this commit) is provided and
generate the output multiple times otherwise.
(with multiple impls to further exercise correct trait-matching.)
- add namespace
- add function parens
With associated types an where clauses none of the type parameters are
necessary.

[breaking-change]
This is in preparation for stabilization of the `IntoIterator` trait. All
implementations and references to `Iter` need to be renamed to `IntoIter`.

[breaking-change]
Right now it is not possible to write a `for` loop without opting-in to the
`core` feature due to the way they're expanding (calling
`::std::iter::IntoIterator::into_iter`). There are some planned tweaks to the
`IntoIterator` trait (adding an `Item` associated type) which will cause
implementations of `IntoIterator` to break, but the *usage* of the trait is
currently stable.

This commit marks the method `into_iter` as stable as the name will not be
changing, nor the fact that it takes no arguments and returns one type (which is
determiend by the `Self` type). This means that usage of `for` loops is now
stable but manual implementations of the `IntoIterator` trait will continue to
be unstable.
Crate types from multiple sources appear to be deduplicated properly, but not
deduplicated if they come from the command line arguments. At worst, this used
to cause compiler failures when `--crate-type=lib,rlib` (the same as
`--crate-type=rlib,rlib`, at least at the time of this commit) is provided and
generate the output multiple times otherwise.

r? @alexcrichton
Based off rust-lang#21843, it looks like the syntax in the Closures guide is outdated.
* Remove type parameters from `IteratorExt::cloned`
* Rename `IntoIterator::Iter` to `IntoIterator::IntoIter`
* Mark `IntoIterator::into_iter` as stable (but not the trait, only the method).
This is to allow for use cases like sending a raw pointer slice across thread boundaries.
Add error message (i.e. do not ICE) when moving out of unsafe pointers.

Fix rust-lang#20801.
When trying to build against a newer, local LLVM version it might be
preferable to have a flag to disable the LLVM version check instead of
having to modify the configure script.

Fixes rust-lang#21998

r? @alexcrichton
@alexcrichton
Copy link
Member Author

@bors: r+ 58ede46 p=100

@rust-highfive
Copy link
Contributor

r? @brson

(rust_highfive has picked a reviewer for you, use r? to override)

@alexcrichton alexcrichton assigned alexcrichton and unassigned brson Feb 10, 2015
@bors
Copy link
Collaborator

bors commented Feb 10, 2015

⌛ Testing commit 58ede46 with merge f29c67b...

@bors
Copy link
Collaborator

bors commented Feb 10, 2015

💔 Test failed - auto-win-32-opt

@bors
Copy link
Collaborator

bors commented Feb 10, 2015

💔 Test failed - auto-mac-32-opt

@alexcrichton
Copy link
Member Author

@bors: r+ 3e10785 p=100

@bors
Copy link
Collaborator

bors commented Feb 10, 2015

⌛ Testing commit 3e10785 with merge bc87efe...

1 similar comment
@bors bors merged commit 3e10785 into rust-lang:master Feb 10, 2015
@alexcrichton alexcrichton deleted the rollup branch February 10, 2015 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.