]> git.lizzy.rs Git - rust.git/log
rust.git
8 years agoEfficient trie lookup for boolean Unicode properties
Raph Levien [Tue, 19 Apr 2016 19:25:28 +0000 (12:25 -0700)]
Efficient trie lookup for boolean Unicode properties

Replace binary search of ranges with trie lookup using leaves of
64-bit bitmap chunks. Benchmarks suggest this is approximately 10x
faster than the bsearch approach.

8 years agoAuto merge of #33060 - jseyfried:cleanup_resolve, r=nrc
bors [Tue, 19 Apr 2016 15:02:59 +0000 (08:02 -0700)]
Auto merge of #33060 - jseyfried:cleanup_resolve, r=nrc

resolve: miscellaneous clean-ups

This PR consists of some small, miscellaneous clean-ups in `resolve`.
r? @eddyb

8 years agoAuto merge of #33002 - mitaa:rdoc-cross-impls, r=alexcrichton
bors [Tue, 19 Apr 2016 12:00:10 +0000 (05:00 -0700)]
Auto merge of #33002 - mitaa:rdoc-cross-impls, r=alexcrichton

rustdoc: refine cross-crate impl inlining

This changes the current rule that impls within `doc(hidden)` modules aren't inlined, to only inlining impls where the implemented trait and type are reachable in documentation.

fixes #14586
fixes #31948

.. and also applies the reachability checking to cross-crate links.

fixes #28480

r? @alexcrichton

8 years agoAuto merge of #32985 - caipre:rustdoc-disambiguate-impl-anchors, r=alexcrichton
bors [Tue, 19 Apr 2016 08:49:13 +0000 (01:49 -0700)]
Auto merge of #32985 - caipre:rustdoc-disambiguate-impl-anchors, r=alexcrichton

rustdoc: Disambiguate anchors

Closes https://github.com/rust-lang/rust/issues/32890

8 years agoAuto merge of #32866 - davidhewitt:master, r=apasel422
bors [Tue, 19 Apr 2016 04:05:58 +0000 (21:05 -0700)]
Auto merge of #32866 - davidhewitt:master, r=apasel422

Implement `From<Vec<T>>` and `Into<Vec<T>>` for `VecDeque<T>`

8 years agoAuto merge of #32755 - alexcrichton:rustbuild-start-test, r=brson
bors [Tue, 19 Apr 2016 00:53:58 +0000 (17:53 -0700)]
Auto merge of #32755 - alexcrichton:rustbuild-start-test, r=brson

rustbuild: Add support for compiletest test suites

This commit adds support in rustbuild for running all of the compiletest test
suites as part of `make check`. The `compiletest` program was moved to
`src/tools` (like `rustbook` and others) and is now just compiled like any other
old tool. Each test suite has a pretty standard set of dependencies and just
tweaks various parameters to the final compiletest executable.

Note that full support is lacking in terms of:

* Once a test suite has passed, that's not remembered. When a test suite is
  requested to be run, it's always run.
* The arguments to compiletest probably don't work for every possible
  combination of platforms and testing environments just yet. There will likely
  need to be future updates to tweak various pieces here and there.
* Cross compiled test suites probably don't work just yet, support for that will
  come in a follow-up patch.

8 years agorustbuild: Add support for compiletest test suites
Alex Crichton [Tue, 5 Apr 2016 18:34:23 +0000 (11:34 -0700)]
rustbuild: Add support for compiletest test suites

This commit adds support in rustbuild for running all of the compiletest test
suites as part of `make check`. The `compiletest` program was moved to
`src/tools` (like `rustbook` and others) and is now just compiled like any other
old tool. Each test suite has a pretty standard set of dependencies and just
tweaks various parameters to the final compiletest executable.

Note that full support is lacking in terms of:

* Once a test suite has passed, that's not remembered. When a test suite is
  requested to be run, it's always run.
* The arguments to compiletest probably don't work for every possible
  combination of platforms and testing environments just yet. There will likely
  need to be future updates to tweak various pieces here and there.
* Cross compiled test suites probably don't work just yet, support for that will
  come in a follow-up patch.

8 years agoAuto merge of #33081 - steveklabnik:rollup, r=steveklabnik
bors [Mon, 18 Apr 2016 19:03:14 +0000 (12:03 -0700)]
Auto merge of #33081 - steveklabnik:rollup, r=steveklabnik

Rollup of 6 pull requests

- Successful merges: #32558, #32906, #33007, #33008, #33035, #33058
- Failed merges: #32912

8 years agoRollup merge of #33058 - Manishearth:fx-E0102, r=GuillaumeGomez
Steve Klabnik [Mon, 18 Apr 2016 18:50:35 +0000 (14:50 -0400)]
Rollup merge of #33058 - Manishearth:fx-E0102, r=GuillaumeGomez

Update E0102's example (fixes #33057)

r? @GuillaumeGomez

8 years agoRollup merge of #33035 - jbranchaud:use-consistent-variable-names-in-ownership, r...
Steve Klabnik [Mon, 18 Apr 2016 18:50:35 +0000 (14:50 -0400)]
Rollup merge of #33035 - jbranchaud:use-consistent-variable-names-in-ownership, r=GuillaumeGomez

Use `v` instead of `v1` for consistency

The code examples and previous paragraphs all use `v` and `v2`

8 years agoRollup merge of #33008 - sanmai-NL:patch-1, r=steveklabnik
Steve Klabnik [Mon, 18 Apr 2016 18:50:35 +0000 (14:50 -0400)]
Rollup merge of #33008 - sanmai-NL:patch-1, r=steveklabnik

grammar: fix

Reading this, one item stood out a bit. Small improvements here.

1. ‘Compile-time’ is not a noun, ‘compilation time’ was meant;
1. Mathematical formulas are best not rendered as code;
1. Use the same tense as in other items.

8 years agoRollup merge of #33007 - notriddle:master, r=steveklabnik
Steve Klabnik [Mon, 18 Apr 2016 18:50:35 +0000 (14:50 -0400)]
Rollup merge of #33007 - notriddle:master, r=steveklabnik

Do not use "bind" to refer to both referencing and to assignment

See https://users.rust-lang.org/t/difference-between-four-references/5406/7

8 years agoRollup merge of #32906 - jocki84:jocki84-book-size, r=steveklabnik
Steve Klabnik [Mon, 18 Apr 2016 18:50:34 +0000 (14:50 -0400)]
Rollup merge of #32906 - jocki84:jocki84-book-size, r=steveklabnik

Reword explanation of 'size' types.

Do not reference machine 'pointers' in explanation of 'size' types.

I think the number of elements that can be directly addressed is a fundamental feature of a machine architecture in its own right. The fact that it coincides with the ‘size’ of a pointer should be viewed as an ‘implementation detail’ ;)

8 years agoRollup merge of #32558 - sanxiyn:rustdoc-self-link, r=steveklabnik
Steve Klabnik [Mon, 18 Apr 2016 18:50:34 +0000 (14:50 -0400)]
Rollup merge of #32558 - sanxiyn:rustdoc-self-link, r=steveklabnik

Avoid linking to itself in implementors section of trait page

Fix #32474.

8 years agoAdded From<VecDeque<T>> for Vec<T> and From<Vec<T>> for VecDeque<T>
David Hewitt [Sat, 9 Apr 2016 22:33:43 +0000 (23:33 +0100)]
Added From<VecDeque<T>> for Vec<T> and From<Vec<T>> for VecDeque<T>

8 years agoAuto merge of #33042 - alexcrichton:clean-doc, r=nikomatsakis
bors [Mon, 18 Apr 2016 16:53:13 +0000 (09:53 -0700)]
Auto merge of #33042 - alexcrichton:clean-doc, r=nikomatsakis

rustbuild: Clean more as part of `make clean`

Clean out old documentation as well as the new test/tools directories. Should
prevent a problem that happened this morning where a PR bounced and then it left
docs with "broken links" so all future PRs bounced.

8 years agoUpdate E0102's example (fixes #33057)
Manish Goregaokar [Sun, 17 Apr 2016 19:05:06 +0000 (00:35 +0530)]
Update E0102's example (fixes #33057)

8 years agoAuto merge of #33064 - jseyfried:improve_resolve_performance, r=eddyb
bors [Mon, 18 Apr 2016 02:11:20 +0000 (19:11 -0700)]
Auto merge of #33064 - jseyfried:improve_resolve_performance, r=eddyb

resolve: Improve performance

This fixes #33061 by speeding up searchs through all traits in scope, a bottleneck in `resolve`.

According to my measurements, this PR improves resolution performance by a factor of 3.4x on `librustc`, which almost completely reverses the 3.75x performance regression reported in #33061.

r? @eddyb

8 years agoresolve: improve performance
Jeffrey Seyfried [Mon, 18 Apr 2016 00:00:18 +0000 (00:00 +0000)]
resolve: improve performance

8 years agorustdoc: Disambiguate anchors for assoc item impls
Nick Platt [Sat, 16 Apr 2016 15:46:52 +0000 (11:46 -0400)]
rustdoc: Disambiguate anchors for assoc item impls

8 years agoUpdate outdated comment
Jeffrey Seyfried [Mon, 18 Apr 2016 00:26:18 +0000 (00:26 +0000)]
Update outdated comment

8 years agoReachability check cross-crate links
mitaa [Sun, 17 Apr 2016 06:54:48 +0000 (08:54 +0200)]
Reachability check cross-crate links

8 years agoPerform doc-reachability check for inlined impls
mitaa [Fri, 15 Apr 2016 14:34:48 +0000 (16:34 +0200)]
Perform doc-reachability check for inlined impls

This changes the current rule that impls within `doc(hidden)` modules
aren't inlined, to only inlining impls where the implemented
trait and type are reachable in documentation.

8 years agoRefactor the per-module node map `module_children` into a per-resolver map.
Jeffrey Seyfried [Sun, 17 Apr 2016 20:41:57 +0000 (20:41 +0000)]
Refactor the per-module node map `module_children` into a per-resolver map.

8 years agoMake import resolution and error resolution reporting deterministic.
Jeffrey Seyfried [Sun, 17 Apr 2016 20:23:10 +0000 (20:23 +0000)]
Make import resolution and error resolution reporting deterministic.
These tasks used to depend on the iteration order of `module_children`.

8 years agoRefactor `is_prelude` to only apply to glob imports
Jeffrey Seyfried [Sun, 17 Apr 2016 19:23:25 +0000 (19:23 +0000)]
Refactor `is_prelude` to only apply to glob imports

8 years agoAuto merge of #33034 - tbu-:pr_doc_mutex_lock, r=nagisa
bors [Sun, 17 Apr 2016 21:00:56 +0000 (14:00 -0700)]
Auto merge of #33034 - tbu-:pr_doc_mutex_lock, r=nagisa

Add a comment about locking a `Mutex` multiple times

Fixes #32260.

8 years agoAdd a comment about locking a `Mutex` multiple times
Tobias Bucher [Sat, 16 Apr 2016 17:59:40 +0000 (19:59 +0200)]
Add a comment about locking a `Mutex` multiple times

Fixes #32260.

8 years agoAuto merge of #33050 - apasel422:bh, r=alexcrichton
bors [Sun, 17 Apr 2016 18:17:54 +0000 (11:17 -0700)]
Auto merge of #33050 - apasel422:bh, r=alexcrichton

Implement `Clone` for `binary_heap::IntoIter`

r? @alexcrichton

8 years agoAuto merge of #33016 - tbu-:pr_doc_peekable, r=alexcrichton
bors [Sun, 17 Apr 2016 16:09:24 +0000 (09:09 -0700)]
Auto merge of #33016 - tbu-:pr_doc_peekable, r=alexcrichton

Add a note about side effects for "peekable" iterators

8 years agoImplement `Clone` for `binary_heap::IntoIter`
Andrew Paseltiner [Sun, 17 Apr 2016 13:28:30 +0000 (09:28 -0400)]
Implement `Clone` for `binary_heap::IntoIter`

8 years agoAuto merge of #33049 - Manishearth:rollup, r=Manishearth
bors [Sun, 17 Apr 2016 12:32:47 +0000 (05:32 -0700)]
Auto merge of #33049 - Manishearth:rollup, r=Manishearth

Rollup of 10 pull requests

- Successful merges: #31441, #32956, #33003, #33022, #33023, #33032, #33039, #33044, #33045, #33046
- Failed merges:

8 years agoRollup merge of #33046 - jseyfried:fix_unresolved_pattern_diagnostics, r=eddyb
Manish Goregaokar [Sun, 17 Apr 2016 12:20:35 +0000 (17:50 +0530)]
Rollup merge of #33046 - jseyfried:fix_unresolved_pattern_diagnostics, r=eddyb

Fix diagnostics for unresolved patterns

This fixes #33043, a bug in the diagnostics for unresolved patterns.
r? @eddyb

8 years agoRollup merge of #33045 - jseyfried:no_def_modifiers, r=eddyb
Manish Goregaokar [Sun, 17 Apr 2016 12:20:35 +0000 (17:50 +0530)]
Rollup merge of #33045 - jseyfried:no_def_modifiers, r=eddyb

resolve: Refactor away `DefModifiers`

This refactors away `DefModifiers`, which is unneeded now that #32875 has landed.
r? @eddyb

8 years agoRollup merge of #33044 - petrochenkov:prefix, r=eddyb
Manish Goregaokar [Sun, 17 Apr 2016 12:20:35 +0000 (17:50 +0530)]
Rollup merge of #33044 - petrochenkov:prefix, r=eddyb

syntax: Parse import prefixes as paths

Fixes https://github.com/rust-lang/rust/issues/10415

r? @eddyb
(This partially intersects with https://github.com/rust-lang/rust/pull/33041)

8 years agoRollup merge of #33039 - bluss:trait-obj-error, r=arielb1
Manish Goregaokar [Sun, 17 Apr 2016 12:20:35 +0000 (17:50 +0530)]
Rollup merge of #33039 - bluss:trait-obj-error, r=arielb1

Adjust example for error E0225

Adjust example for error E0225

It's using Copy as a trait object compatible trait, which is not
appropriate, change to use a more typical Read + Send + Sync example.

Also use whitespace around `+`.

This seems appropriate apropos issue #32963

8 years agoRollup merge of #33032 - kindlychung:patch-3, r=Manishearth
Manish Goregaokar [Sun, 17 Apr 2016 12:20:34 +0000 (17:50 +0530)]
Rollup merge of #33032 - kindlychung:patch-3, r=Manishearth

Update casting-between-types.md

8 years agoRollup merge of #33023 - tbu-:pr_wrapping_traits, r=alexcrichton
Manish Goregaokar [Sun, 17 Apr 2016 12:20:34 +0000 (17:50 +0530)]
Rollup merge of #33023 - tbu-:pr_wrapping_traits, r=alexcrichton

Implement `Display` and `Hash` for `std::num::Wrapping`

Also, change the `Debug` implementation to only show the inner value.

Fixes #33006.

8 years agoRollup merge of #33022 - Mr4x:master, r=bluss
Manish Goregaokar [Sun, 17 Apr 2016 12:20:34 +0000 (17:50 +0530)]
Rollup merge of #33022 - Mr4x:master, r=bluss

Fix f32::sin_cos and f64::sin_cos examples

8 years agoRollup merge of #33003 - fbergr:link, r=steveklabnik
Manish Goregaokar [Sun, 17 Apr 2016 12:20:34 +0000 (17:50 +0530)]
Rollup merge of #33003 - fbergr:link, r=steveklabnik

Fix link in contributing page

Link was broken (404).

8 years agoRollup merge of #32956 - GuillaumeGomez:ptr_examples, r=steveklabnik
Manish Goregaokar [Sun, 17 Apr 2016 12:20:34 +0000 (17:50 +0530)]
Rollup merge of #32956 - GuillaumeGomez:ptr_examples, r=steveklabnik

Add examples for std::ptr module functions

Part of #29371.

r? @steveklabnik

8 years agoRollup merge of #31441 - gereeter:btree-docs, r=bluss
Manish Goregaokar [Sun, 17 Apr 2016 12:20:33 +0000 (17:50 +0530)]
Rollup merge of #31441 - gereeter:btree-docs, r=bluss

Start documenting BTreeMap's node interface

cc @Gankro @apasel422

8 years agoAuto merge of #33012 - pravic:describe-L-rustc-option, r=alexcrichton
bors [Sun, 17 Apr 2016 10:24:46 +0000 (03:24 -0700)]
Auto merge of #33012 - pravic:describe-L-rustc-option, r=alexcrichton

List possible keys of the -L rustc option.

Since `rustc --help -v` does not describe it, only *rustc.1* man page, but there is no man for Windows.

r? @alexcrichton
cc @steveklabnik

8 years agoAuto merge of #32987 - xosmig:binary_heap_extension, r=apasel422
bors [Sun, 17 Apr 2016 08:16:02 +0000 (01:16 -0700)]
Auto merge of #32987 - xosmig:binary_heap_extension, r=apasel422

collections: add append for binary heap

8 years agoAuto merge of #32977 - alexcrichton:ignore-panics, r=brson
bors [Sun, 17 Apr 2016 06:06:29 +0000 (23:06 -0700)]
Auto merge of #32977 - alexcrichton:ignore-panics, r=brson

std: Change String::truncate to panic less

The `Vec::truncate` method does not panic if the length argument is greater than
the vector's current length, but `String::truncate` will indeed panic. This
semantic difference can be a bit jarring (e.g. #32717), and after some
discussion the libs team concluded that although this can technically be a
breaking change it is almost undoubtedly not so in practice.

This commit changes the semantics of `String::truncate` to be a noop if
`new_len` is greater than the length of the current string.

Closes #32717

8 years agoAuto merge of #32952 - eddyb:mir-debuginfo-2, r=michaelwoerister
bors [Sun, 17 Apr 2016 03:40:33 +0000 (20:40 -0700)]
Auto merge of #32952 - eddyb:mir-debuginfo-2, r=michaelwoerister

Get all (but one) of debuginfo tests to pass with MIR codegen.

I didn't get much feedback in #31005 so I went ahead and implemented something simple.
Closes #31005, as MIR debuginfo should work now for most usecases.

The `no-debug-attribute` test no longer assumes variables are in scope of `return`.
We might also want to revisit that in #32949, but the test is more reliable now either way.

In order to get one last function in the `associated-type` test pass, this PR also fixes #32790.

8 years agoresolve: Refactor away `DefModifiers`
Jeffrey Seyfried [Sun, 17 Apr 2016 01:57:09 +0000 (01:57 +0000)]
resolve: Refactor away `DefModifiers`

8 years agoFix diagnostics for unresolved patterns
Jeffrey Seyfried [Sun, 17 Apr 2016 02:37:15 +0000 (02:37 +0000)]
Fix diagnostics for unresolved patterns

8 years agoAuto merge of #32909 - sanxiyn:unused-trait-import-2, r=alexcrichton
bors [Sun, 17 Apr 2016 01:31:11 +0000 (18:31 -0700)]
Auto merge of #32909 - sanxiyn:unused-trait-import-2, r=alexcrichton

Remove unused trait imports

8 years agosyntax: Parse import prefixes as paths
Vadim Petrochenkov [Sun, 17 Apr 2016 00:48:40 +0000 (03:48 +0300)]
syntax: Parse import prefixes as paths

8 years agoAuto merge of #32875 - jseyfried:1422_implementation, r=nikomatsakis
bors [Sat, 16 Apr 2016 23:21:09 +0000 (16:21 -0700)]
Auto merge of #32875 - jseyfried:1422_implementation, r=nikomatsakis

Implement `pub(restricted)` privacy (RFC 1422)

This implements `pub(restricted)` privacy from RFC 1422 (cc #32409) behind a feature gate.

`pub(restricted)` paths currently cannot use re-exported modules both for simplicity of implementation and for future compatibility with RFC 1560 (cf #31783).

r? @nikomatsakis

8 years agoAdd tests for `pub(restricted)`
Jeffrey Seyfried [Sun, 10 Apr 2016 11:52:25 +0000 (11:52 +0000)]
Add tests for `pub(restricted)`

8 years agorustbuild: Clean more as part of `make clean`
Alex Crichton [Sat, 16 Apr 2016 21:56:37 +0000 (14:56 -0700)]
rustbuild: Clean more as part of `make clean`

Clean out old documentation as well as the new test/tools directories. Should
prevent a problem that happened this morning where a PR bounced and then it left
docs with "broken links" so all future PRs bounced.

8 years agoAlways report PRIVATE_IN_PUBLIC violations as hard errors when
Jeffrey Seyfried [Wed, 13 Apr 2016 03:21:17 +0000 (03:21 +0000)]
Always report PRIVATE_IN_PUBLIC violations as hard errors when
the feature `pub_restricted` is enabled.

8 years agoAdjust example for error E0225
Ulrik Sverdrup [Sat, 16 Apr 2016 19:29:31 +0000 (21:29 +0200)]
Adjust example for error E0225

It's using Copy as a trait object compatible trait, which is not
appropriate, change to use a more typical Read + Send + Sync example.

Also use whitespace around `+`.

8 years agomir: place match pattern bindings in their respective arms.
Eduard Burtescu [Thu, 14 Apr 2016 14:17:37 +0000 (17:17 +0300)]
mir: place match pattern bindings in their respective arms.

8 years agodebuginfo: argument and upvar names for MIR.
Eduard Burtescu [Sat, 16 Apr 2016 18:51:26 +0000 (21:51 +0300)]
debuginfo: argument and upvar names for MIR.

8 years agoAuto merge of #33019 - kamalmarhubi:binary_search_by_key, r=alexcrichton
bors [Sat, 16 Apr 2016 18:51:13 +0000 (11:51 -0700)]
Auto merge of #33019 - kamalmarhubi:binary_search_by_key, r=alexcrichton

slice: Add tracking issue for slice_binary_search_by_key

8 years agoUse `v` instead of `v1` for consistency
jbranchaud [Sat, 16 Apr 2016 18:27:33 +0000 (13:27 -0500)]
Use `v` instead of `v1` for consistency

The code examples and previous paragraphs all use `v` and `v2`

8 years agoUpdate casting-between-types.md
Kaiyin Zhong [Sat, 16 Apr 2016 16:04:27 +0000 (18:04 +0200)]
Update casting-between-types.md

8 years agotest: don't depend on locals being in scope on the return path.
Eduard Burtescu [Thu, 14 Apr 2016 07:55:40 +0000 (10:55 +0300)]
test: don't depend on locals being in scope on the return path.

8 years agosemantics: slightly clarify big-O claim
Sander Maijers [Sat, 16 Apr 2016 08:58:20 +0000 (10:58 +0200)]
semantics: slightly clarify big-O claim

Clarification by more precise specification.

8 years agostyle: enhance font of big-O expressions
Sander Maijers [Sat, 16 Apr 2016 08:55:33 +0000 (10:55 +0200)]
style: enhance font of big-O expressions

8 years agoImplement `Display` and `Hash` for `std::num::Wrapping`
Tobias Bucher [Sat, 16 Apr 2016 07:51:21 +0000 (09:51 +0200)]
Implement `Display` and `Hash` for `std::num::Wrapping`

Also, change the `Debug` implementation to only show the inner value.

Fixes #33006.

8 years agoFix f32::sin_cos and f64::sin_cos examples
Maxim Samburskiy [Sat, 16 Apr 2016 06:42:37 +0000 (11:42 +0500)]
Fix f32::sin_cos and f64::sin_cos examples

8 years agoAuto merge of #32785 - tbu-:pr_more_defaults, r=alexcrichton
bors [Sat, 16 Apr 2016 03:26:19 +0000 (20:26 -0700)]
Auto merge of #32785 - tbu-:pr_more_defaults, r=alexcrichton

Implement `Default` for more types in the standard library

Also add `Hash` to `std::cmp::Ordering` and most possible traits to
`fmt::Error`.

8 years agoAuto merge of #32779 - michaelwoerister:partitioning, r=nikomatsakis
bors [Sat, 16 Apr 2016 01:13:59 +0000 (18:13 -0700)]
Auto merge of #32779 - michaelwoerister:partitioning, r=nikomatsakis

Add initial version of codegen unit partitioning for incremental compilation.

The task of the partitioning module is to take the complete set of translation items of a crate and produce a set of codegen units from it, where a codegen unit is a named set of (translation-item, linkage) pairs. That is, this module decides which translation item appears in which codegen units with which linkage.

This version only handles the case of partitioning for incremental compilation, not the regular N-codegen units case. In the future the regular case should be handled too, maybe even doing a bit more analysis to intelligently figure out a good partitioning.

One thing that could be improved is the syntax of the codegen unit tests. Right now they still use the compile-fail error specification infrastructure, so everything has to be on one line. Would be nice to be able to format things in a more readable way.

8 years agoslice: Add tracking issue for slice_binary_search_by_key
Kamal Marhubi [Fri, 15 Apr 2016 23:27:03 +0000 (19:27 -0400)]
slice: Add tracking issue for slice_binary_search_by_key

8 years agoAdd a note about side effects for "peekable" iterators
Tobias Bucher [Fri, 15 Apr 2016 23:00:18 +0000 (01:00 +0200)]
Add a note about side effects for "peekable" iterators

8 years agoAuto merge of #33005 - Manishearth:rollup, r=Manishearth
bors [Fri, 15 Apr 2016 21:51:16 +0000 (14:51 -0700)]
Auto merge of #33005 - Manishearth:rollup, r=Manishearth

Rollup of 11 pull requests

- Successful merges: #32923, #32926, #32929, #32931, #32935, #32945, #32946, #32964, #32970, #32973, #32997
- Failed merges:

8 years agocollections: add append and extend specialization for binary heap
Andrey Tonkih [Thu, 14 Apr 2016 23:18:52 +0000 (02:18 +0300)]
collections: add append and extend specialization for binary heap

8 years agoDescribe possible keys of the -L rustc option.
pravic [Fri, 15 Apr 2016 20:55:42 +0000 (23:55 +0300)]
Describe possible keys of the -L rustc option.

8 years agogrammar: fix
Sander Maijers [Fri, 15 Apr 2016 20:33:50 +0000 (22:33 +0200)]
grammar: fix

Reading this, one item stood out a bit. Small improvements here.

. ‘Compile-time’ is not a noun, ‘compilation time’ was meant;
. Mathematical formulas are best not rendered as code;
. Use the same tense as in other items.

8 years agoDo not use "bind" to refer to referencing and to variable binding.
Michael Howell [Fri, 15 Apr 2016 20:04:33 +0000 (13:04 -0700)]
Do not use "bind" to refer to referencing and to variable binding.

8 years agoRollup merge of #32997 - alexcrichton:fix-alloc-system-how-did-this-land, r=nagisa
Manish Goregaokar [Fri, 15 Apr 2016 19:46:45 +0000 (01:16 +0530)]
Rollup merge of #32997 - alexcrichton:fix-alloc-system-how-did-this-land, r=nagisa

alloc_system: Handle failure properly

The Unix implementation was incorrectly handling failure for reallocation of
over-aligned types by not checking for NULL.

Closes #32993

8 years agoRollup merge of #32973 - kindlychung:patch-1, r=steveklabnik
Manish Goregaokar [Fri, 15 Apr 2016 19:46:45 +0000 (01:16 +0530)]
Rollup merge of #32973 - kindlychung:patch-1, r=steveklabnik

remove "#" symbols to make the code compile

8 years agoRollup merge of #32970 - taralx:patch-2, r=alexcrichton
Manish Goregaokar [Fri, 15 Apr 2016 19:46:45 +0000 (01:16 +0530)]
Rollup merge of #32970 - taralx:patch-2, r=alexcrichton

Accommodate the case where dup lang items are entirely external.

Fixes #32961

8 years agoRollup merge of #32964 - tshepang:comma, r=GuillaumeGomez
Manish Goregaokar [Fri, 15 Apr 2016 19:46:44 +0000 (01:16 +0530)]
Rollup merge of #32964 - tshepang:comma, r=GuillaumeGomez

doc: add missing comma

8 years agoRollup merge of #32946 - eddyb:issue-32783, r=dotdash
Manish Goregaokar [Fri, 15 Apr 2016 19:46:44 +0000 (01:16 +0530)]
Rollup merge of #32946 - eddyb:issue-32783, r=dotdash

trans: always register an item's symbol, even if duplicated.

Fixes #32783 which was introduced by not always registering item symbols in #32742.

8 years agoRollup merge of #32945 - durka:rfc1494, r=pnkfelix
Manish Goregaokar [Fri, 15 Apr 2016 19:46:44 +0000 (01:16 +0530)]
Rollup merge of #32945 - durka:rfc1494, r=pnkfelix

implement RFC amendment 1494

Adds `:block` to the follow set for `:ty` and `:path`. See rust-lang/rfcs#1494.

8 years agoRollup merge of #32935 - pierzchalski:restore_trait_impl_docs, r=alexcrichton
Manish Goregaokar [Fri, 15 Apr 2016 19:46:44 +0000 (01:16 +0530)]
Rollup merge of #32935 - pierzchalski:restore_trait_impl_docs, r=alexcrichton

Restore trait impl docs

Currently, documentation on methods in trait implementations doesn't get rendered. This changes that;  trait implementations have all documentation associated with impl items displayed (documentation from the trait definition is ignored).

Fixes #24838
Fixes #26871

8 years agoRollup merge of #32931 - deepak:gh-issue-32928-update-cargo-in-getting-started-doc...
Manish Goregaokar [Fri, 15 Apr 2016 19:46:44 +0000 (01:16 +0530)]
Rollup merge of #32931 - deepak:gh-issue-32928-update-cargo-in-getting-started-doc, r=GuillaumeGomez

Doc fix: Update Cargo.toml in book/getting-started

The Cargo.toml mentioned in book/getting-started
is missing the section called `[dependencies]`

fixes https://github.com/rust-lang/rust/issues/32928

8 years agoRollup merge of #32929 - LeoTestard:featureck-comment, r=GuillaumeGomez
Manish Goregaokar [Fri, 15 Apr 2016 19:46:44 +0000 (01:16 +0530)]
Rollup merge of #32929 - LeoTestard:featureck-comment, r=GuillaumeGomez

Update a comment to reflect changes in tidy checks.

8 years agoRollup merge of #32926 - caipre:rustbuild-verify-download, r=alexcrichton
Manish Goregaokar [Fri, 15 Apr 2016 19:46:43 +0000 (01:16 +0530)]
Rollup merge of #32926 - caipre:rustbuild-verify-download, r=alexcrichton

rustbuild: Verify sha256 of downloaded tarballs

Here's a quick first pass at this.

I don't use Python often enough to claim that this is totally Pythonic. I've left off some (almost certainly unnecessary) error handling regarding opening and processing files. The whole tarball is read into memory to calculate the hash, but the file isn't *so* large so that should be fine. I don't care for the output from `raise RuntimeError`, but that's how `run()` does it so I'm following precedent.

Tested by manually changing the value of `expected`, and by modifying the tarball then forcing `rustc_out_of_date()`. Both cases tripped the error.

Closes https://github.com/rust-lang/rust/issues/32902

8 years agoRollup merge of #32923 - jseyfried:fix_hygiene, r=nrc
Manish Goregaokar [Fri, 15 Apr 2016 19:46:43 +0000 (01:16 +0530)]
Rollup merge of #32923 - jseyfried:fix_hygiene, r=nrc

Fix macro hygiene bug

This fixes #32922 (EDIT: and fixes #31856), macro hygiene bugs.
It is a [breaking-change]. For example, the following would break:
```rust
fn main() {
    let x = true;
    macro_rules! foo { () => {
        let x = 0;
        macro_rules! bar { () => {x} }
        let _: bool = bar!();
        //^ `bar!()` used to resolve the first `x` (a bool),
        //| but will now resolve to the second x (an i32).
    }}
    foo! {};
}
```

r? @nrc

8 years agoAuto merge of #32338 - lukaspustina:doc-std-process, r=alexcrichton
bors [Fri, 15 Apr 2016 19:41:25 +0000 (12:41 -0700)]
Auto merge of #32338 - lukaspustina:doc-std-process, r=alexcrichton

Extends rustdoc on how to caputure output

- The documentation is quite about how to caputure a process' output when using
  ` std::process::Child::wait_with_output()`.
- This PR adds an example for this particular use case.

8 years agoFix link in contributing page
Florian Berger [Fri, 15 Apr 2016 19:28:32 +0000 (22:28 +0300)]
Fix link in contributing page

8 years agoAuto merge of #32972 - alexcrichton:cargotest, r=brson
bors [Fri, 15 Apr 2016 17:32:10 +0000 (10:32 -0700)]
Auto merge of #32972 - alexcrichton:cargotest, r=brson

cargotest: Put output in build directory

Right now cargotest uses `TempDir` to place output into the system temp
directory, but unfortunately this means that if the process is interrupted then
it'll leak the directory and that'll never get cleaned up. One of our bots
filled up its disk space and there were 20 cargotest directories lying around so
seems prudent to clean them up!

By putting the output in the build directory it should ensure that we don't leak
too many extra builds.

8 years agostd: Change String::truncate to panic less
Alex Crichton [Thu, 14 Apr 2016 23:56:59 +0000 (16:56 -0700)]
std: Change String::truncate to panic less

The `Vec::truncate` method does not panic if the length argument is greater than
the vector's current length, but `String::truncate` will indeed panic. This
semantic difference can be a bit jarring (e.g. #32717), and after some
discussion the libs team concluded that although this can technically be a
breaking change it is almost undoubtedly not so in practice.

This commit changes the semantics of `String::truncate` to be a noop if
`new_len` is greater than the length of the current string.

Closes #32717

8 years agoalloc_system: Handle failure properly
Alex Crichton [Fri, 15 Apr 2016 17:02:21 +0000 (10:02 -0700)]
alloc_system: Handle failure properly

The Unix implementation was incorrectly handling failure for reallocation of
over-aligned types by not checking for NULL.

Closes #32993

8 years agocargotest: Put output in build directory
Alex Crichton [Thu, 14 Apr 2016 21:27:51 +0000 (14:27 -0700)]
cargotest: Put output in build directory

Right now cargotest uses `TempDir` to place output into the system temp
directory, but unfortunately this means that if the process is interrupted then
it'll leak the directory and that'll never get cleaned up. One of our bots
filled up its disk space and there were 20 cargotest directories lying around so
seems prudent to clean them up!

By putting the output in the build directory it should ensure that we don't leak
too many extra builds.

8 years agoImplement `Default` for more types in the standard library
Tobias Bucher [Fri, 15 Apr 2016 15:53:43 +0000 (17:53 +0200)]
Implement `Default` for more types in the standard library

Also add `Hash` to `std::cmp::Ordering` and most possible traits to
`fmt::Error`.

8 years agoAuto merge of #32915 - dtolnay:rawptr, r=nrc
bors [Fri, 15 Apr 2016 15:23:36 +0000 (08:23 -0700)]
Auto merge of #32915 - dtolnay:rawptr, r=nrc

Bare raw pointers have been disallowed forever

This change was in 0.12.0, a year and a half ago. Let's move on!

8 years agoAdd initial version of codegen unit partitioning for incremental compilation.
Michael Woerister [Thu, 24 Mar 2016 15:40:49 +0000 (11:40 -0400)]
Add initial version of codegen unit partitioning for incremental compilation.

8 years agoAuto merge of #32895 - alexcrichton:rustbuild-beta, r=brson
bors [Fri, 15 Apr 2016 11:10:11 +0000 (04:10 -0700)]
Auto merge of #32895 - alexcrichton:rustbuild-beta, r=brson

rustbuild: Fix handling of the bootstrap key

Bring the calculation logic in line with the makefiles and also set the
RUSTC_BOOTSTRAP_KEY environment variable to enable the bootstrap on the stable
compiler.

8 years agoAuto merge of #32851 - apasel422:spec-extend, r=alexcrichton
bors [Fri, 15 Apr 2016 09:01:05 +0000 (02:01 -0700)]
Auto merge of #32851 - apasel422:spec-extend, r=alexcrichton

Specialize `Extend` to `append` for `{LinkedList, Vec}`

8 years agoAdd flag for whether an item is default or not.
pierzchalski [Fri, 15 Apr 2016 04:41:54 +0000 (14:41 +1000)]
Add flag for whether an item is default or not.

We don't want to render default item docs but previously
`doctraititem` naively delegated to the trait definition in those
cases.

Updated tests to also check that this doesn't strip default item
docs from the trait definition.

8 years agoAuto merge of #32693 - kamalmarhubi:binary_search_by_key, r=alexcrichton
bors [Fri, 15 Apr 2016 04:23:35 +0000 (21:23 -0700)]
Auto merge of #32693 - kamalmarhubi:binary_search_by_key, r=alexcrichton

collections: Add slice::binary_search_by_key

This method adds to the family of `_by_key` methods, and is the
counterpart of `slice::sort_by_key`. It was mentioned on #30423 but
was not implemented at that time.

Refs #30423

8 years agoAdd tests against weird provided/required method behaviour
pierzchalski [Fri, 15 Apr 2016 03:13:55 +0000 (13:13 +1000)]
Add tests against weird provided/required method behaviour

In `test/rustdoc/manual_impl.rs` there are now three structs:

* S1 implements and documents required method `a_method`.
* S2 implements and documents `a_method` as well as provided
  method `b_method`.
* S3 implements `a_method` and `b_method`, but only documents
  `b_method`.

For a struct, we want the rendered trait impls to include documentation
if and only if it appears on the trait implementation itself
(since users can just go to the trait definition for anything not
covered in the impl docs). This means we expect:

* S1, S2, and S3 to all include top-level trait impl docs.
* S1, S2, and S3 to exclude all trait definition docs.
* S1 to show impl docs for `a_method`.
* S2 to show impl docs for `a_method` and `b_method`.
* S3 to show impl docs for `b_method`.

These tests cover those cases.

8 years agoAdd another test for issue #31856
Jeffrey Seyfried [Fri, 15 Apr 2016 02:22:34 +0000 (02:22 +0000)]
Add another test for issue #31856