]> git.lizzy.rs Git - rust.git/log
rust.git
8 years agoRollup merge of #31919 - petrochenkov:blockpub, r=nikomatsakis
Manish Goregaokar [Wed, 2 Mar 2016 01:31:15 +0000 (07:01 +0530)]
Rollup merge of #31919 - petrochenkov:blockpub, r=nikomatsakis

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

r? @nikomatsakis

8 years agoAuto merge of #31993 - steveklabnik:rollup, r=steveklabnik
bors [Tue, 1 Mar 2016 20:09:00 +0000 (20:09 +0000)]
Auto merge of #31993 - steveklabnik:rollup, r=steveklabnik

- Successful merges: #31965, #31969, #31973, #31978, #31984, #31987, #31992
- Failed merges:

8 years agoRollup merge of #31992 - brson:bump, r=steveklabnik
Steve Klabnik [Tue, 1 Mar 2016 18:39:42 +0000 (13:39 -0500)]
Rollup merge of #31992 - brson:bump, r=steveklabnik

8 years agoRollup merge of #31987 - gcatlin:patch-1, r=steveklabnik
Steve Klabnik [Tue, 1 Mar 2016 18:39:42 +0000 (13:39 -0500)]
Rollup merge of #31987 - gcatlin:patch-1, r=steveklabnik

r? @steveklabnik

8 years agoRollup merge of #31984 - xaocon:master, r=steveklabnik
Steve Klabnik [Tue, 1 Mar 2016 18:39:42 +0000 (13:39 -0500)]
Rollup merge of #31984 - xaocon:master, r=steveklabnik

Had a discussion at https://www.reddit.com/r/rust/comments/488mjv/borrowing_or_returning_ownership/ about how an example could be worded more clearly and tried to take my recommendation and expand upon it with further information provided in the post.

8 years agoRollup merge of #31978 - tsion:patch-1, r=Manishearth
Steve Klabnik [Tue, 1 Mar 2016 18:39:42 +0000 (13:39 -0500)]
Rollup merge of #31978 - tsion:patch-1, r=Manishearth

Previously it was rendering like this: http://i.imgur.com/ODFPdFW.png

8 years agoRollup merge of #31973 - brson:relnotes3, r=alexcrichton
Steve Klabnik [Tue, 1 Mar 2016 18:39:42 +0000 (13:39 -0500)]
Rollup merge of #31973 - brson:relnotes3, r=alexcrichton

This builds on some of the other relnotes PRs in the queue.

8 years agoRollup merge of #31969 - brson:relnotes, r=alexcrichton
Steve Klabnik [Tue, 1 Mar 2016 18:39:41 +0000 (13:39 -0500)]
Rollup merge of #31969 - brson:relnotes, r=alexcrichton

Same as https://github.com/rust-lang/rust/pull/31923 but without the submodule updates.

8 years agoRollup merge of #31965 - miqid:doc, r=steveklabnik
Steve Klabnik [Tue, 1 Mar 2016 18:39:41 +0000 (13:39 -0500)]
Rollup merge of #31965 - miqid:doc, r=steveklabnik

Hello.

Quite a few of the links in the `core` module concerning redirection to additional primitive type documentation are broken. I noticed in #30214 that there seemed to be a consensus with linking across to `std` module documentation from the `core` module. This is what I've done with the `core` modules for primitive types.

If the changes here are good to go forward with, I'll happily tend to adding more documentation links for the extension traits in the aforementioned issue if need be.

r? @steveklabnik

8 years agoBump to 1.9
Brian Anderson [Tue, 1 Mar 2016 18:34:26 +0000 (18:34 +0000)]
Bump to 1.9

8 years agoAuto merge of #31939 - killercup:patch-17, r=brson
bors [Tue, 1 Mar 2016 14:46:04 +0000 (14:46 +0000)]
Auto merge of #31939 - killercup:patch-17, r=brson

Use unordered nested list for stabilised APIs to improve readability. This makes the release notes for 1.7 a bit longer, but I don't think we should optimise for brevity here. It's a bit inconsistent since the other releases are not done this way, so feel free to ignore this change.

Also:
- Add link to `u32::checked_neg`
- Remove trailing back tick from BTreeMap line

r? @brson

8 years agogrammar: 'fewer' instead of 'less'
Geoff Catlin [Tue, 1 Mar 2016 13:42:34 +0000 (08:42 -0500)]
grammar: 'fewer' instead of 'less'

8 years agoFix broken links for core primitives
Michael Huynh [Tue, 1 Mar 2016 12:44:48 +0000 (20:44 +0800)]
Fix broken links for core primitives

Redirects existing links for more details on primitive types in the
`core` module to the ones that exist in the `std` module.

8 years agoAuto merge of #31962 - sanxiyn:const-eval-map, r=arielb1
bors [Tue, 1 Mar 2016 11:33:25 +0000 (11:33 +0000)]
Auto merge of #31962 - sanxiyn:const-eval-map, r=arielb1

Fix #31910.

8 years agoAuto merge of #31335 - SimonSapin:ascii-into, r=alexcrichton
bors [Tue, 1 Mar 2016 07:43:52 +0000 (07:43 +0000)]
Auto merge of #31335 - SimonSapin:ascii-into, r=alexcrichton

The default implementations (with `where Self: Sized`) are so that methods that take `self` by value can exist in a trait that’s implemented for dynamically-sized types (`str` and `[u8]`).

CC https://github.com/rust-lang/rust/issues/27809#issuecomment-177564950
CC @alexcrichton

8 years agoAuto merge of #31713 - alexcrichton:rustbuild-docs, r=brson
bors [Tue, 1 Mar 2016 04:44:56 +0000 (04:44 +0000)]
Auto merge of #31713 - alexcrichton:rustbuild-docs, r=brson

This commit implements documentation generation of the nomicon, the book, the
style guide, and the standalone docs. New steps were added for each one as well
as appropriate makefile targets for each one as well.

8 years agoClarified the details of a borrowing example.
Evan [Tue, 1 Mar 2016 04:22:30 +0000 (23:22 -0500)]
Clarified the details of a borrowing example.

Had a discussion at https://www.reddit.com/r/rust/comments/488mjv/borrowing_or_returning_ownership/ about how an example could be worded more clearly and tried to take my recommendation and expand upon it with further information provided in the post.

8 years agoAdd link for `checked_neg` in 1.7 release notes.
Scott Olson [Mon, 29 Feb 2016 22:36:36 +0000 (16:36 -0600)]
Add link for `checked_neg` in 1.7 release notes.

8 years agoAuto merge of #31884 - alexcrichton:no-bootstrap-from-existing, r=brson
bors [Mon, 29 Feb 2016 22:30:44 +0000 (22:30 +0000)]
Auto merge of #31884 - alexcrichton:no-bootstrap-from-existing, r=brson

These commits add support to the rustbuild build system to compile non-build-system compilers. For example this will allow creating an ARM compiler on a x86 system. The high level way this works is:

* The only compiler ever run is the build target compiler. No other compiler is assumed to be runnable.
* As a result, all output artifacts come from the build compiler.
* The libs for the stageN cross-compiled compiler will be linked into place after the build target builds them.

This will break the assumption that a compiler never links to anything it didn't itself produce, but it retains the assumption that a compiler only ever links to anything built in the same stage. I believe this means that the stage1 cross-compiled compilers will still be usable.

I tested this by creating an `arm-unknown-linux-gnueabihf` compiler. So far the linking ended up all working OK (including LLVM being cross compiled), but I haven't been able to run it yet (in QEMU for a raspberry pi). I think that's because my system linker is messed up or something like that (some newer option is assumed when it's not actually there).

Overall, though, this means that rustbuild can compile an arm-unknown-linux-gnueabihf compiler. Ideally we could even start shipping nightlies based on this at some point!

8 years agoMove the RFC 1214 breakage to 1.7 compatibility notes
Brian Anderson [Mon, 29 Feb 2016 18:35:43 +0000 (18:35 +0000)]
Move the RFC 1214 breakage to 1.7 compatibility notes

8 years agoAdd HashMap stabilizations to 1.7 relnotes
Brian Anderson [Mon, 29 Feb 2016 18:27:38 +0000 (18:27 +0000)]
Add HashMap stabilizations to 1.7 relnotes

8 years agoremove unstable flag from 1.7 release notes
Brian Anderson [Mon, 29 Feb 2016 18:15:26 +0000 (18:15 +0000)]
remove unstable flag from 1.7 release notes

8 years agoAuto merge of #31928 - alexcrichton:stabilize-1.8, r=aturon
bors [Mon, 29 Feb 2016 17:39:26 +0000 (17:39 +0000)]
Auto merge of #31928 - alexcrichton:stabilize-1.8, r=aturon

This commit is the result of the FCPs ending for the 1.8 release cycle for both
the libs and the lang suteams. The full list of changes are:

Stabilized

* `braced_empty_structs`
* `augmented_assignments`
* `str::encode_utf16` - renamed from `utf16_units`
* `str::EncodeUtf16` - renamed from `Utf16Units`
* `Ref::map`
* `RefMut::map`
* `ptr::drop_in_place`
* `time::Instant`
* `time::SystemTime`
* `{Instant,SystemTime}::now`
* `{Instant,SystemTime}::duration_since` - renamed from `duration_from_earlier`
* `{Instant,SystemTime}::elapsed`
* Various `Add`/`Sub` impls for `Time` and `SystemTime`
* `SystemTimeError`
* `SystemTimeError::duration`
* Various impls for `SystemTimeError`
* `UNIX_EPOCH`
* `ops::{Add,Sub,Mul,Div,Rem,BitAnd,BitOr,BitXor,Shl,Shr}Assign`

Deprecated

* Scoped TLS (the `scoped_thread_local!` macro)
* `Ref::filter_map`
* `RefMut::filter_map`
* `RwLockReadGuard::map`
* `RwLockWriteGuard::map`
* `Condvar::wait_timeout_with`

Closes #27714
Closes #27715
Closes #27746
Closes #27748
Closes #27908
Closes #29866
Closes #28235
Closes #29720

8 years agotest: Mark all rpass-valgrind as no-prefer-dynamic
Alex Crichton [Mon, 29 Feb 2016 17:34:13 +0000 (09:34 -0800)]
test: Mark all rpass-valgrind as no-prefer-dynamic

This applies the same fix as added in 595d5b2f which is to just compile all
valgrind tests statically instead of dynamically. It looks like this is a
resurgence of either #30383 or #31328 in some weird fashion.

I'm not actually sure what's going on with the bots, and it's unclear whether
this is a valgrind bug or a libstd bug, but for now let's just get things
landing again.

Closes #30383

8 years agostd: Stabilize APIs for the 1.8 release
Alex Crichton [Thu, 25 Feb 2016 23:52:29 +0000 (15:52 -0800)]
std: Stabilize APIs for the 1.8 release

This commit is the result of the FCPs ending for the 1.8 release cycle for both
the libs and the lang suteams. The full list of changes are:

Stabilized

* `braced_empty_structs`
* `augmented_assignments`
* `str::encode_utf16` - renamed from `utf16_units`
* `str::EncodeUtf16` - renamed from `Utf16Units`
* `Ref::map`
* `RefMut::map`
* `ptr::drop_in_place`
* `time::Instant`
* `time::SystemTime`
* `{Instant,SystemTime}::now`
* `{Instant,SystemTime}::duration_since` - renamed from `duration_from_earlier`
* `{Instant,SystemTime}::elapsed`
* Various `Add`/`Sub` impls for `Time` and `SystemTime`
* `SystemTimeError`
* `SystemTimeError::duration`
* Various impls for `SystemTimeError`
* `UNIX_EPOCH`
* `ops::{Add,Sub,Mul,Div,Rem,BitAnd,BitOr,BitXor,Shl,Shr}Assign`

Deprecated

* Scoped TLS (the `scoped_thread_local!` macro)
* `Ref::filter_map`
* `RefMut::filter_map`
* `RwLockReadGuard::map`
* `RwLockWriteGuard::map`
* `Condvar::wait_timeout_with`

Closes #27714
Closes #27715
Closes #27746
Closes #27748
Closes #27908
Closes #29866

8 years agoUse HIR map instead of tcx in constant evaluator
Seo Sanghyeon [Mon, 29 Feb 2016 13:54:02 +0000 (22:54 +0900)]
Use HIR map instead of tcx in constant evaluator

Constant evaluator can be called while tcx is in construction.

8 years agoAuto merge of #31958 - teoryn:patch-3, r=nagisa
bors [Mon, 29 Feb 2016 11:12:15 +0000 (11:12 +0000)]
Auto merge of #31958 - teoryn:patch-3, r=nagisa

8 years agoAuto merge of #31960 - aidanhs:aphs-tweak-aliasing-docs, r=Manishearth
bors [Mon, 29 Feb 2016 05:03:32 +0000 (05:03 +0000)]
Auto merge of #31960 - aidanhs:aphs-tweak-aliasing-docs, r=Manishearth

See https://doc.rust-lang.org/book/unsafe.html#what-does-safe-mean for the book version of these points which already contain the T.

8 years agoAdd the 'T' present in the rust book
Aidan Hobson Sayers [Mon, 29 Feb 2016 02:50:18 +0000 (02:50 +0000)]
Add the 'T' present in the rust book

8 years agoAuto merge of #31959 - teoryn:patch-4, r=Manishearth
bors [Mon, 29 Feb 2016 01:50:34 +0000 (01:50 +0000)]
Auto merge of #31959 - teoryn:patch-4, r=Manishearth

8 years agoFix typo (an Result)
Kevin Stock [Mon, 29 Feb 2016 01:48:17 +0000 (20:48 -0500)]
Fix typo (an Result)

8 years agoFix typo (!#[no_std])
Kevin Stock [Mon, 29 Feb 2016 01:46:56 +0000 (20:46 -0500)]
Fix typo (!#[no_std])

8 years agoAuto merge of #31897 - tshepang:ref-not-needed, r=steveklabnik
bors [Sun, 28 Feb 2016 20:07:26 +0000 (20:07 +0000)]
Auto merge of #31897 - tshepang:ref-not-needed, r=steveklabnik

Also, `path` seems better than `p`

8 years agorustbuild: Update dependencies
Alex Crichton [Thu, 25 Feb 2016 18:38:09 +0000 (10:38 -0800)]
rustbuild: Update dependencies

* Fixes a warning with libc
* Brings in some new flag updates for various platforms through gcc-rs
* Otherwise routine updates here/there

8 years agorustbuild: Update nightly date
Alex Crichton [Thu, 25 Feb 2016 17:29:02 +0000 (09:29 -0800)]
rustbuild: Update nightly date

Also fix a bug where we didn't clean out previous nightlies

8 years agorustbuild: Relax assertions about stage0
Alex Crichton [Thu, 25 Feb 2016 08:01:22 +0000 (00:01 -0800)]
rustbuild: Relax assertions about stage0

This allows bootstrapping new platforms immediately in stage0

8 years agorustbuild: Remove extra rustc flags
Alex Crichton [Thu, 25 Feb 2016 07:51:36 +0000 (23:51 -0800)]
rustbuild: Remove extra rustc flags

These should all no longer be necessary as they've been folded into the
compiler.

8 years agorustbuild: Add steps for linking a sysroot
Alex Crichton [Thu, 25 Feb 2016 07:50:32 +0000 (23:50 -0800)]
rustbuild: Add steps for linking a sysroot

When cross compiling for a new host, we can't actually run the host compiler to
generate its own libs. In theory, however, all stage2 compilers (for any host)
will produce the same libraries, so we just require the build compiler to
produce the necessary host libraries and then we link those into place.

8 years agorustbuild: Document what steps are
Alex Crichton [Thu, 25 Feb 2016 05:12:42 +0000 (21:12 -0800)]
rustbuild: Document what steps are

8 years agorustbuild: Compile with the build compiler
Alex Crichton [Thu, 25 Feb 2016 03:04:35 +0000 (19:04 -0800)]
rustbuild: Compile with the build compiler

This switches the defaults to ensure that everything is built with the build
compiler rather than the host compiler itself (which we're not guaranteed to be
able to run)

8 years agorustbuild: Move assembling rustc to its own step
Alex Crichton [Thu, 25 Feb 2016 03:03:48 +0000 (19:03 -0800)]
rustbuild: Move assembling rustc to its own step

Right now it's implicitly done as part of building the compiler, but this was
intended to be a standalone step to ensure we tracked what built what.

8 years agorustbuild: Fix a copy/paste error
Alex Crichton [Thu, 25 Feb 2016 01:13:23 +0000 (17:13 -0800)]
rustbuild: Fix a copy/paste error

Fixes `--step librustc`

8 years agorustbuild: Enable cross-compiling LLVM
Alex Crichton [Thu, 25 Feb 2016 01:09:17 +0000 (17:09 -0800)]
rustbuild: Enable cross-compiling LLVM

Currently all multi-host builds assume the the build platform can run the
`llvm-config` binary generated for each host platform we're creating a compiler
for. Unfortunately this assumption isn't always true when cross compiling, so we
need to handle this case.

This commit alters the build script of `rustc_llvm` to understand when it's
running an `llvm-config` which is different than the platform we're targeting for.

8 years agorustbuild: Fix compiler-rt build on gnueabihf
Alex Crichton [Wed, 24 Feb 2016 22:31:18 +0000 (14:31 -0800)]
rustbuild: Fix compiler-rt build on gnueabihf

Needs a different target to get built and also we apparently need to appease the
C++ compiler somehow.

8 years agorustbuild: Sync changes to Cargo.lock
Alex Crichton [Wed, 24 Feb 2016 22:17:21 +0000 (14:17 -0800)]
rustbuild: Sync changes to Cargo.lock

8 years agorustbuild: Only pass RUSTC_FLAGS to target compiles
Alex Crichton [Wed, 24 Feb 2016 22:16:54 +0000 (14:16 -0800)]
rustbuild: Only pass RUSTC_FLAGS to target compiles

These flags aren't applicable to build scripts, and may actuall wreak havoc.

8 years agorustbuild: Enable bootstrapping new hosts
Alex Crichton [Wed, 24 Feb 2016 07:00:48 +0000 (23:00 -0800)]
rustbuild: Enable bootstrapping new hosts

This commit fixes a longstanding issue with the makefiles where all host
platforms bootstrap themselves. This commit alters the build logic for the
bootstrap to instead only bootstrap the build triple, and all other compilers
are compiled from that one compiler.

The benefit of this change is that we can cross-compile compilers which cannot
run on the build platform. For example our builders could start creating
`arm-unknown-linux-gnueabihf` compilers.

This reduces the amount of bootstrapping we do, reducing the amount of test
coverage, but overall it should largely just end in faster build times for
multi-host compiles as well as enabling a feature which can't be done today.

cc #5258

8 years agoAdd some tests
Vadim Petrochenkov [Sun, 28 Feb 2016 11:50:58 +0000 (14:50 +0300)]
Add some tests

8 years agodoc: "ref" not needed in the example
Tshepang Lekhonkhobe [Thu, 25 Feb 2016 21:21:55 +0000 (23:21 +0200)]
doc: "ref" not needed in the example

Also, `path` seems better than `p`

8 years agoAuto merge of #31902 - mitaa:rdoc-shorter, r=alexcrichton
bors [Sun, 28 Feb 2016 07:27:12 +0000 (07:27 +0000)]
Auto merge of #31902 - mitaa:rdoc-shorter, r=alexcrichton

fixes #31899

r? @alexcrichton

8 years agoAuto merge of #31942 - bluss:iter-desugar, r=steveklabnik
bors [Sat, 27 Feb 2016 22:33:29 +0000 (22:33 +0000)]
Auto merge of #31942 - bluss:iter-desugar, r=steveklabnik

Make for loop desugaring for iterators more precise

The UFCS call IntoIterator::into_iter() is used by the for loop.

8 years agoAuto merge of #31931 - Luke-Nukem:master, r=steveklabnik
bors [Sat, 27 Feb 2016 20:26:59 +0000 (20:26 +0000)]
Auto merge of #31931 - Luke-Nukem:master, r=steveklabnik

 Refinement of paragraph referenced by [this issue](https://github.com/rust-lang/rust/issues/31927).

The paragraph in question had been adjusted already, but I've made some further clarifications which should help with readability and not leave the reader any `dangling pointers`.

8 years agoAuto merge of #31915 - nagisa:mir-unpretty-fix, r=arielb1
bors [Sat, 27 Feb 2016 18:12:23 +0000 (18:12 +0000)]
Auto merge of #31915 - nagisa:mir-unpretty-fix, r=arielb1

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

8 years agoMake for loop desugaring for iterators more precise
Ulrik Sverdrup [Sat, 27 Feb 2016 16:32:20 +0000 (17:32 +0100)]
Make for loop desugaring for iterators more precise

The UFCS call IntoIterator::into_iter() is used by the for loop.

8 years agoAuto merge of #31940 - teoryn:patch-2, r=steveklabnik
bors [Sat, 27 Feb 2016 15:06:19 +0000 (15:06 +0000)]
Auto merge of #31940 - teoryn:patch-2, r=steveklabnik

See http://www.ietf.org/rfc/rfc2119.txt

8 years agoResolve ambiguous documentation
Kevin Stock [Sat, 27 Feb 2016 13:26:42 +0000 (08:26 -0500)]
Resolve ambiguous documentation

See http://www.ietf.org/rfc/rfc2119.txt

8 years agoReformat Part of 1.7 Release Notes
Pascal Hertleif [Sat, 27 Feb 2016 11:19:08 +0000 (12:19 +0100)]
Reformat Part of 1.7 Release Notes

- Use unordered nested list for stabilised APIs to improve readability
- Add link to `u32::checked_neg`
- Remove trailing back tick from BTreeMap line

8 years agoAdd test
Simonas Kazlauskas [Fri, 26 Feb 2016 16:24:04 +0000 (18:24 +0200)]
Add test

8 years agoFix MIR unpretty on failure conditions
Simonas Kazlauskas [Fri, 26 Feb 2016 16:20:47 +0000 (18:20 +0200)]
Fix MIR unpretty on failure conditions

8 years agoAuto merge of #31932 - Manishearth:rollup, r=Manishearth
bors [Sat, 27 Feb 2016 08:59:57 +0000 (08:59 +0000)]
Auto merge of #31932 - Manishearth:rollup, r=Manishearth

- Successful merges: #31909, #31918, #31922, #31926, #31928, #31929, #31930
- Failed merges:

8 years agoAuto merge of #31926 - llogiq:more_post, r=eddyb
bors [Sat, 27 Feb 2016 06:58:28 +0000 (06:58 +0000)]
Auto merge of #31926 - llogiq:more_post, r=eddyb

These `_post` methods are quite helpful to control lint behavior without storing e.g. block node ids. So here are a few more I believe will be helpful.

r? @Manishearth

8 years agoCorrect plain-summary-line
mitaa [Fri, 26 Feb 2016 16:39:37 +0000 (17:39 +0100)]
Correct plain-summary-line

For plaintext we don't actually need to render the Markdown before
shortening the string. (and this may have led to wrong output)

8 years agoClearly separate code blocks from other blocks
mitaa [Fri, 26 Feb 2016 16:19:35 +0000 (17:19 +0100)]
Clearly separate code blocks from other blocks

For summary descriptions we need the first paragraph (adjacent lines
until a blank line) - but the rendered markdown of a code block did not
leave a blank line in the html and was thus included in the summary line.

8 years agoRollup merge of #31930 - miqid:doc, r=steveklabnik
Manish Goregaokar [Sat, 27 Feb 2016 02:34:54 +0000 (08:04 +0530)]
Rollup merge of #31930 - miqid:doc, r=steveklabnik

Hello.

I've added links for items inside of some stable methods for consistency with existing ones that already have them. Also includes minor formatting fixes.

r? @steveklabnik

8 years agoRollup merge of #31929 - dotdash:less_rallocx, r=alexcrichton
Manish Goregaokar [Sat, 27 Feb 2016 02:34:54 +0000 (08:04 +0530)]
Rollup merge of #31929 - dotdash:less_rallocx, r=alexcrichton

When foldings Substs, we map over VecPerParamSpace instances using
EnumeratedItems which does not provide an accurate size_hint()
in its Iterator implementation. This leads to quite a large number or
reallocations. Providing a suitable size_hint() implementation reduces
the time spent in item-bodies checking quite a bit.

```
crate  | before | after | ~change
-------|-------------------------
core   |  7.28s | 5.44s |   -25%
std    |  2.07s | 1.88s |  -9.2%
syntax |  8.86s | 8.30s |  -6.3%
```

8 years agoRollup merge of #31926 - llogiq:more_post, r=eddyb
Manish Goregaokar [Sat, 27 Feb 2016 02:34:54 +0000 (08:04 +0530)]
Rollup merge of #31926 - llogiq:more_post, r=eddyb

These `_post` methods are quite helpful to control lint behavior without storing e.g. block node ids. So here are a few more I believe will be helpful.

r? @Manishearth

8 years agoRollup merge of #31922 - Amanieu:relnotes17, r=brson
Manish Goregaokar [Sat, 27 Feb 2016 02:34:54 +0000 (08:04 +0530)]
Rollup merge of #31922 - Amanieu:relnotes17, r=brson

8 years agoRollup merge of #31918 - GuillaumeGomez:patch-3, r=steveklabnik
Manish Goregaokar [Sat, 27 Feb 2016 02:34:53 +0000 (08:04 +0530)]
Rollup merge of #31918 - GuillaumeGomez:patch-3, r=steveklabnik

r? @steveklabnik

Fixes #29334

8 years agoRollup merge of #31909 - benaryorg:patch-2, r=Manishearth
Manish Goregaokar [Sat, 27 Feb 2016 02:34:53 +0000 (08:04 +0530)]
Rollup merge of #31909 - benaryorg:patch-2, r=Manishearth

`continue` expression's description mentioned `break` instead of `continue`

8 years agoRefinement of paragraph referenced by [this
Luke Jones [Sat, 27 Feb 2016 01:41:38 +0000 (14:41 +1300)]
Refinement of paragraph referenced by [this
issue](https://github.com/rust-lang/rust/issues/31927)

8 years agoAuto merge of #31914 - bluss:copy-from-slice-everywhere, r=alexcrichton
bors [Sat, 27 Feb 2016 01:15:23 +0000 (01:15 +0000)]
Auto merge of #31914 - bluss:copy-from-slice-everywhere, r=alexcrichton

Use .copy_from_slice() where applicable

.copy_from_slice() does the same job of .clone_from_slice(), but the
former is explicitly for Copy elements and calls `memcpy` directly, and
thus is it efficient without optimization too.

8 years agoImprove formatting of the primitive str documentation
Michael Huynh [Sat, 27 Feb 2016 00:25:31 +0000 (08:25 +0800)]
Improve formatting of the primitive str documentation

Adds extra documentation links for library types and methods to be
consistent with similar items already linked. Also includes minor
formatting fixes.

8 years agoAvoid excessive reallocations during item-bodies checking
Björn Steinbrink [Fri, 26 Feb 2016 23:53:33 +0000 (00:53 +0100)]
Avoid excessive reallocations during item-bodies checking

When foldings Substs, we map over VecPerParamSpace instances using
EnumeratedItems which does not provide an accurate size_hint()
in its Iterator implementation. This leads to quite a large number or
reallocations. Providing a suitable size_hint() implementation reduces
the time spent in item-bodies checking quite a bit.

```
crate  | before | after | ~change
-------|-------------------------
core   |  7.28s | 5.44s |   -25%
std    |  2.07s | 1.88s |  -9.2%
syntax |  8.86s | 8.30s |  -6.3%
```

8 years agomore check_*_post methods for LintPasses
llogiq [Fri, 26 Feb 2016 23:21:20 +0000 (00:21 +0100)]
more check_*_post methods for LintPasses

8 years agoAuto merge of #31876 - ollie27:win_fill_bytes, r=brson
bors [Fri, 26 Feb 2016 22:21:59 +0000 (22:21 +0000)]
Auto merge of #31876 - ollie27:win_fill_bytes, r=brson

CryptGenRandom takes a DWORD (u32) for the length so it only supports
writing u32::MAX bytes at a time.

Casting the length from a usize caused truncation meaning the whole
buffer was not always filled.

cc #31841

This is the same as rust-lang-nursery/rand#99. I think it's a good idea to keep the implementations in sync.

r? @alexcrichton

8 years agoFix typo in release notes
Amanieu d'Antras [Fri, 26 Feb 2016 21:21:02 +0000 (21:21 +0000)]
Fix typo in release notes

8 years agoAuto merge of #31903 - mitaa:rdoc-ghostly-impls, r=alexcrichton
bors [Fri, 26 Feb 2016 19:25:16 +0000 (19:25 +0000)]
Auto merge of #31903 - mitaa:rdoc-ghostly-impls, r=alexcrichton

fixes #29584

r? @alexcrichton

8 years agoSome drive-by improvements to SanePrivacyVisitor
Vadim Petrochenkov [Fri, 26 Feb 2016 19:06:39 +0000 (22:06 +0300)]
Some drive-by improvements to SanePrivacyVisitor

Check that variant fields are not marked public by syntax extensions

8 years agoPermit `pub` items in blocks
Vadim Petrochenkov [Fri, 26 Feb 2016 18:20:56 +0000 (21:20 +0300)]
Permit `pub` items in blocks

8 years agoAuto merge of #31858 - alexcrichton:fix-networking-cast, r=brson
bors [Fri, 26 Feb 2016 15:42:44 +0000 (15:42 +0000)]
Auto merge of #31858 - alexcrichton:fix-networking-cast, r=brson

Similar to #31825 where the read/write limits were capped for files, this
implements similar limits when reading/writing networking types. On Unix this
shouldn't affect anything because the write size is already a `usize`, but on
Windows this will cap the read/write amounts to `i32::max_value`.

cc #31841

8 years agoDon't inline impls from `doc(hidden)` modules
mitaa [Fri, 26 Feb 2016 00:45:24 +0000 (01:45 +0100)]
Don't inline impls from `doc(hidden)` modules

8 years agoUse .copy_from_slice() where applicable
Ulrik Sverdrup [Tue, 23 Feb 2016 18:25:43 +0000 (19:25 +0100)]
Use .copy_from_slice() where applicable

.copy_from_slice() does the same job of .clone_from_slice(), but the
former is explicitly for Copy elements and calls `memcpy` directly, and
thus is it efficient without optimization too.

8 years agoAuto merge of #31846 - alexcrichton:better-disable-jemallc, r=brson
bors [Fri, 26 Feb 2016 13:38:46 +0000 (13:38 +0000)]
Auto merge of #31846 - alexcrichton:better-disable-jemallc, r=brson

The `--disable-jemalloc` configure option has a failure mode where it will
create a distribution that is not compatible with other compilers. For example
the nightly for Linux will assume that it will link to jemalloc by default as
an allocator for executable crates. If, however, a standard library is used
which was built via `./configure --disable-jemalloc` then this will fail
because the jemalloc crate wasn't built.

While this seems somewhat reasonable as a niche situation, the same mechanism is
used for disabling jemalloc for platforms that just don't support it. For
example if the rumprun target is compiled then the sibiling Linux target *also*
doesn't have jemalloc. This is currently a problem for our cross-build nightlies
which build many targets. If rumprun is also built, it will disable jemalloc for
all targets, which isn't desired.

This commit moves the platform-specific disabling of jemalloc as hardcoded logic
into the makefiles that is scoped per-platform. This way when configuring
multiple targets **without the `--disable-jemalloc` option specified** all
targets will get jemalloc as they should.

8 years agoAuto merge of #31911 - Manishearth:rollup, r=Manishearth
bors [Fri, 26 Feb 2016 11:36:35 +0000 (11:36 +0000)]
Auto merge of #31911 - Manishearth:rollup, r=Manishearth

- Successful merges: #31878, #31880, #31883, #31893, #31894, #31896, #31901, #31904
- Failed merges: #31897

8 years agofixup #31878
Manish Goregaokar [Fri, 26 Feb 2016 11:35:46 +0000 (17:05 +0530)]
fixup #31878

8 years agoRollup merge of #31904 - bluss:writer-formatter-error, r=alexcrichton
Manish Goregaokar [Fri, 26 Feb 2016 09:42:18 +0000 (15:12 +0530)]
Rollup merge of #31904 - bluss:writer-formatter-error, r=alexcrichton

Make sure formatter errors are emitted by the default Write::write_fmt

Previously, if an error was returned from the formatter that did not
originate in an underlying writer error, Write::write_fmt would return
successfully even if the formatting did not complete (was interrupted by
an `fmt::Error` return).

Now we choose to emit an io::Error with kind Other for formatter errors.

Since this may reveal error returns from `write!()` and similar that
previously passed silently, it's a kind of a [breaking-change].

Fixes #31879

8 years agoRollup merge of #31901 - bluss:suggest-use, r=sanxiyn
Manish Goregaokar [Fri, 26 Feb 2016 09:42:18 +0000 (15:12 +0530)]
Rollup merge of #31901 - bluss:suggest-use, r=sanxiyn

suggest: Put the `use` in suggested code inside the quotes

Change import a trait suggestion from:

       help: candidate #1: use `std::io::Write`

to

       help: candidate #1: `use std::io::Write`

so that the code can be copied directly.

Fixes #31864

8 years agoRollup merge of #31896 - tshepang:idiom, r=steveklabnik
Manish Goregaokar [Fri, 26 Feb 2016 09:42:18 +0000 (15:12 +0530)]
Rollup merge of #31896 - tshepang:idiom, r=steveklabnik

8 years agoRollup merge of #31894 - tshepang:more-clear, r=steveklabnik
Manish Goregaokar [Fri, 26 Feb 2016 09:42:17 +0000 (15:12 +0530)]
Rollup merge of #31894 - tshepang:more-clear, r=steveklabnik

8 years agoRollup merge of #31893 - tshepang:comma, r=steveklabnik
Manish Goregaokar [Fri, 26 Feb 2016 09:42:17 +0000 (15:12 +0530)]
Rollup merge of #31893 - tshepang:comma, r=steveklabnik

8 years agoRollup merge of #31883 - birkenfeld:doc-null-escape, r=bluss
Manish Goregaokar [Fri, 26 Feb 2016 09:42:17 +0000 (15:12 +0530)]
Rollup merge of #31883 - birkenfeld:doc-null-escape, r=bluss

It appears in the examples, but is not covered by any of the cases
in the prose description.

8 years agoRollup merge of #31880 - Manishearth:debug, r=alexcrichton
Manish Goregaokar [Fri, 26 Feb 2016 09:42:17 +0000 (15:12 +0530)]
Rollup merge of #31880 - Manishearth:debug, r=alexcrichton

Right this information isn't documented anywhere, sticking it into `make tips`

8 years agoRollup merge of #31878 - frewsxcv:path-cleanup, r=alexcrichton
Manish Goregaokar [Fri, 26 Feb 2016 09:42:17 +0000 (15:12 +0530)]
Rollup merge of #31878 - frewsxcv:path-cleanup, r=alexcrichton

None

8 years agoAuto merge of #31834 - ubsan:copy_from_slice, r=alexcrichton
bors [Fri, 26 Feb 2016 09:16:03 +0000 (09:16 +0000)]
Auto merge of #31834 - ubsan:copy_from_slice, r=alexcrichton

implements rust-lang/rfcs#1419

r? alexcrichton

8 years agodocumentation fix
Katze [Fri, 26 Feb 2016 08:45:32 +0000 (09:45 +0100)]
documentation fix

`continue` expression's description mentioned `break` instead of `continue`

Signed-off-by: benaryorg <binary@benary.org>
8 years agoAdd unstable copy_from_slice
Nicholas Mazzuca [Tue, 23 Feb 2016 07:06:53 +0000 (23:06 -0800)]
Add unstable copy_from_slice

8 years agomk: Move disable-jemalloc logic into makefiles
Alex Crichton [Mon, 8 Feb 2016 18:57:41 +0000 (10:57 -0800)]
mk: Move disable-jemalloc logic into makefiles

The `--disable-jemalloc` configure option has a failure mode where it will
create a distribution that is not compatible with other compilers. For example
the nightly for Linux will assume that it will link to jemalloc by default as
an allocator for executable crates. If, however, a standard library is used
which was built via `./configure --disable-jemalloc` then this will fail
because the jemalloc crate wasn't built.

While this seems somewhat reasonable as a niche situation, the same mechanism is
used for disabling jemalloc for platforms that just don't support it. For
example if the rumprun target is compiled then the sibiling Linux target *also*
doesn't have jemalloc. This is currently a problem for our cross-build nightlies
which build many targets. If rumprun is also built, it will disable jemalloc for
all targets, which isn't desired.

This commit moves the platform-specific disabling of jemalloc as hardcoded logic
into the makefiles that is scoped per-platform. This way when configuring
multiple targets **without the `--disable-jemalloc` option specified** all
targets will get jemalloc as they should.

8 years agoAuto merge of #31857 - jseyfried:fix_scoping, r=nikomatsakis
bors [Fri, 26 Feb 2016 04:38:28 +0000 (04:38 +0000)]
Auto merge of #31857 - jseyfried:fix_scoping, r=nikomatsakis

This fixes a bug (#31845) introduced in #31105 in which lexical scopes contain items from all anonymous module ancestors, even if the path to the anonymous module includes a normal module:
```rust
fn f() {
    fn g() {}
    mod foo {
        fn h() {
           g(); // This erroneously resolves on nightly
        }
    }
}
```

This is a [breaking-change] on nightly but not on stable or beta.
r? @nikomatsakis

8 years agoMake sure formatter errors are emitted by the default Write::write_fmt
Ulrik Sverdrup [Fri, 26 Feb 2016 01:53:47 +0000 (02:53 +0100)]
Make sure formatter errors are emitted by the default Write::write_fmt

Previously, if an error was returned from the formatter that did not
originate in an underlying writer error, Write::write_fmt would return
successfully even if the formatting did not complete (was interrupted by
an `fmt::Error` return).

Now we choose to emit an io::Error with kind Other for formatter errors.

Since this may reveal error returns from `write!()` and similar that
previously passed silently, it's a kind of a [breaking-change].

8 years agoAuto merge of #31749 - nikomatsakis:compiletest-subdir, r=alexcrichton
bors [Fri, 26 Feb 2016 00:53:38 +0000 (00:53 +0000)]
Auto merge of #31749 - nikomatsakis:compiletest-subdir, r=alexcrichton

You can now group tests into directories like `run-pass/borrowck` or `compile-fail/borrowck`. By default, all `.rs` files within any directory are considered tests: to ignore some directory, create a placeholder file called `compiletest-ignore-dir` (I had to do this for several existing directories).

r? @alexcrichton
cc @brson