Commit Graph

51180 Commits

Author SHA1 Message Date
Alex Crichton
3dd8b3ec9b alloc: Add unstable issue for FnBox APIs 2016-03-11 22:09:58 -08:00
bors
f1d6f126ef Auto merge of #32200 - Manishearth:rollup, r=Manishearth
Rollup of 11 pull requests

- Successful merges: #32137, #32158, #32171, #32174, #32178, #32179, #32180, #32181, #32183, #32186, #32197
- Failed merges:
2016-03-11 17:50:45 -08:00
Manish Goregaokar
10e4e9eec9 Rollup merge of #32197 - andoriyu:patch-1, r=alexcrichton
Add FreeBSD amd64 snapshot

Snapshot itself: https://github.com/dhuseby/rust-manual-snapshots/pull/3
2016-03-12 06:47:58 +05:30
Manish Goregaokar
c8578c1f40 Rollup merge of #32186 - srinivasreddy:libcoretest, r=steveklabnik
cleanup int suffixes in libcoretest
2016-03-12 06:47:58 +05:30
Manish Goregaokar
667dcebaf9 Rollup merge of #32183 - bluss:doc-index, r=alexcrichton
Clarify doc for slice slicing (Index impls)

Clarify doc for slice slicing (Index impls)

This is a follow up for PR #32099 and #32057
2016-03-12 06:47:57 +05:30
Manish Goregaokar
249ca83096 Rollup merge of #32181 - srinivasreddy:librustfront, r=steveklabnik
removed suffixes for librustc_front
2016-03-12 06:47:57 +05:30
Manish Goregaokar
7a1df9e8de Rollup merge of #32180 - srinivasreddy:type_check_lib, r=steveklabnik
removed integer suffixes in librustc_typeck crate
2016-03-12 06:47:56 +05:30
bors
0d68aadd27 Auto merge of #32132 - arcnmx:cargobuild-std-target, r=alexcrichton
cover more linux targets in libstd cargobuild

libstd/build.rs checked the target name against `"unknown-linux"`... That doesn't necessarily apply to all Linux targets as some toolchains for embedded targets will change that `unknown` field to some vendor name. Some shifting around was needed since Android is also a Linux target.

r? @alexcrichton
2016-03-11 15:25:03 -08:00
Manish Goregaokar
744ffed25a Rollup merge of #32178 - naltun:patch-1, r=steveklabnik
Update getting-started.md

In `rustc 1.7.0` the message that is displayed is now `Rust is ready to roll.`
2016-03-12 02:41:26 +05:30
Manish Goregaokar
baea278e75 Rollup merge of #32174 - cmbrandenburg:spell_fix, r=steveklabnik
Spell fixes for std::ffi doc comments
2016-03-12 02:41:26 +05:30
Manish Goregaokar
c194ccef13 Rollup merge of #32171 - frewsxcv:compiletest, r=alexcrichton
Fix a couple compiletest nits.
2016-03-12 02:41:26 +05:30
Manish Goregaokar
25d253e8d4 Rollup merge of #32158 - seanmonstar:dead-associated-type, r=alexcrichton
lint: mark associated types as live for the dead_code pass

Associated types of trait impls were being excluded from the live list. So types that only appeared in trait impls were being marked as dead code.
2016-03-12 02:41:26 +05:30
Manish Goregaokar
725d6d8d8b Rollup merge of #32137 - nathankleyn:improve-docs-for-binaryheap, r=steveklabnik
Add missing documentation examples for BinaryHeap.

As part of the ongoing effort to document all methods with examples,
this commit adds the missing examples for the `BinaryHeap` collection
type.

This is part of issue #29348.

r? @steveklabnik
2016-03-12 02:41:26 +05:30
Andrey Cherkashin
e2b055c74a Add FreeBSD amd64 snapshot
Snapshot itself: https://github.com/dhuseby/rust-manual-snapshots/pull/3
2016-03-11 10:12:42 -08:00
bors
5807fbbfde Auto merge of #32134 - jseyfried:forbid_type_alias_as_module, r=nikomatsakis
Forbid glob-importing from a type alias

This PR forbids glob-importing from a type alias or trait (fixes #30560):
```rust
type Alias = ();
use Alias::*; // This is currently allowed but shouldn't be
```

This is a [breaking-change]. Since the disallowed glob imports don't actually import anything, any breakage can be fixed by removing the offending glob import.

r? @alexcrichton
2016-03-11 09:26:47 -08:00
bors
aeb85a9533 Auto merge of #32133 - alexcrichton:linkchecker, r=brson
Add a link validator to rustbuild

This commit was originally targeted at just adding a link checking script to the rustbuild system. This ended up snowballing a bit to extend rustbuild to be amenable to various tools we have as part of the build system in general.

There's a new `src/tools` directory which has a number of scripts/programs that are purely intended to be used as part of the build system and CI of this repository. This is currently inhabited by rustbook, the error index generator, and a new linkchecker script added as part of this PR. I suspect that more tools like compiletest, tidy scripts, snapshot scripts, etc will migrate their way into this directory over time.

The commit which adds the error index generator shows the steps necessary to add new tools to the build system, namely:

1. New steps are defined for building the tool and running the tool
2. The dependencies are configured
3. The steps are implemented

In terms of the link checker, these commits do a few things:

* A new `src/tools/linkchecker` script is added. This will read an entire documentation tree looking for broken relative links (HTTP links aren't followed yet).
* A large number of broken links throughout the documentation were fixed. Many of these were just broken when viewed from core as opposed to std, but were easily fixed.
* A few rustdoc bugs here and there were fixed
2016-03-11 04:38:04 -08:00
bors
40c85cd8ae Auto merge of #32034 - alexcrichton:old-x86-msvc, r=aturon
rustc: Add an i586-pc-windows-msvc target

Similarly to #31629 where an i586-unknown-linux-gnu target was added, there is
sometimes a desire to compile for x86 Windows as well where SSE2 is disabled.
This commit mirrors the i586-unknown-linux-gnu target and simply adds a variant
for Windows as well.

This is motivated by a recent [Gecko bug][ff] where crashes were seen on 32-bit
Windows due to users having CPUs that don't support SSE2 instructions. It was
requested that we could have non-SSE2 builds of the standard library available
so they could continue to use vanilla releases and nightlies.

[ff]: https://bugzilla.mozilla.org/show_bug.cgi?id=1253202
2016-03-10 22:47:49 -08:00
bors
2b9438a4ec Auto merge of #32121 - GuillaumeGomez:help_e0514, r=cmr
Add help for E0514

I fixed #30622.

r? @arielb1
2016-03-10 20:37:04 -08:00
srinivasreddy
e1cc628549 cleanup int suffixes in libcoretest 2016-03-11 08:42:56 +05:30
bors
c6a6053112 Auto merge of #32102 - alexcrichton:assert-safe-closures, r=aturon
std: Add impl of FnOnce to AssertRecoverSafe

This was originally intended, but forgot to land by accident!

cc #27719
2016-03-10 17:52:12 -08:00
bors
c9629d61c6 Auto merge of #32117 - mitaa:patch-3, r=alexcrichton
rustdoc: correct src-link url

It would have been nice for htmldocck to catch this, especially since there are rustdoc tests specifically for checking src-links.

fixes #32113
2016-03-10 14:57:31 -08:00
Ulrik Sverdrup
bfffe6d9d2 Clarify doc for slice slicing (Index impls)
This is a follow up for PR #32099 and #32057
2016-03-10 21:36:43 +01:00
srinivasreddy
fe541b168e removed suffixes for librustc_front 2016-03-11 01:32:03 +05:30
bors
c1fb50f5d3 Auto merge of #32107 - Stebalien:partial-write, r=alexcrichton
Never return an error after a partial write

If LineWriter fails to flush, return the number of bytes written instead
of an error.

Fixes #32085
2016-03-10 11:56:29 -08:00
srinivasreddy
266c417071 removed integer constants in librustc_typeck 2016-03-11 00:41:25 +05:30
Noah
4d476693f0 Update getting-started.md
In `rustc 1.7.0` the message that is displayed is now `Rust is ready to roll.`
2016-03-10 11:34:42 -06:00
bors
4b87655e69 Auto merge of #32101 - SimonSapin:patch-11, r=alexcrichton
Add info in `rustdoc --passes list`

CC @mitaa, https://github.com/rust-lang/rust/pull/32055/files#r55205006
2016-03-10 07:05:05 -08:00
bors
6d6ae1ffe6 Auto merge of #32173 - steveklabnik:rollup, r=steveklabnik
Rollup of 8 pull requests

- Successful merges: #31830, #32091, #32125, #32136, #32147, #32148, #32149, #32150
- Failed merges:
2016-03-10 05:01:03 -08:00
Craig M. Brandenburg
3d16321870 Spell fixes for std::ffi doc comments 2016-03-10 05:14:00 -07:00
Nathan Kleyn
da4fda44e7 Remove unnecessary mut in docs causing test failures. 2016-03-10 11:40:31 +00:00
Steve Klabnik
4f8d0291f3 Rollup merge of #32150 - steveklabnik:gh20213, r=bluss
Remove inaccurate claim about inline assembly

It's not like GCC's.

Fixes #20213
2016-03-10 14:01:54 +03:00
Steve Klabnik
fc9bc7ac3b Rollup merge of #32149 - steveklabnik:gh31628, r=bluss
Add other primitive types to the reference

Fixes #31628
2016-03-10 14:01:54 +03:00
Steve Klabnik
c5ec055d1f Rollup merge of #32148 - steveklabnik:gh31912, r=apasel422
Small grammar fix in Guessing Game

When it was Option.expect(), there was an .ok().expect(), but now that it uses Result.expect(), there's only one method, not two.

Fixes #31912
2016-03-10 14:01:54 +03:00
Steve Klabnik
76bcf6430f Rollup merge of #32147 - steveklabnik:gh31950, r=bluss
Clarify that try_unwrap needs exactly one

Fixes #31950
2016-03-10 14:01:54 +03:00
Steve Klabnik
d6c4b53df1 Rollup merge of #32136 - nathankleyn:improve-docs-for-btreeset, r=steveklabnik
Add missing documentation examples for BTreeSet.

As part of the ongoing effort to document all methods with examples,
this commit adds the missing examples for the `BTreeSet` collection
type.

This is part of issue #29348.

r? @steveklabnik
2016-03-10 14:01:53 +03:00
Steve Klabnik
3820d38e90 Rollup merge of #32125 - pyfisch:patch-2, r=steveklabnik
Remove final note from testing chapter.

The information that documentation tests cannot be run in binary crates is already given at the beginning of the section.
2016-03-10 14:01:53 +03:00
Steve Klabnik
3e764efef7 Rollup merge of #32091 - dirk:dirk/siphasher-docs-clarification, r=alexcrichton
Clarify documentation of hash::SipHasher

The docs were making assertions/recommendations they shouldn't have. This clarifies them and adds some helpful links.

Fixes #32043.

r? @sfackler
2016-03-10 14:01:53 +03:00
Steve Klabnik
09e08bac93 Rollup merge of #31830 - frewsxcv:assoc-func, r=steveklabnik
Prefer 'associated function' over 'static method' in msg.

TRPL seems to refer to 'static functions' as 'associated functions'.
This terminology should be used consistently.
2016-03-10 14:01:53 +03:00
bors
25a23271f4 Auto merge of #32100 - SimonSapin:patch-6, r=alexcrichton
"can be built on Ref::map"… how?

Now that `std::cell::Ref::filter_map` and `RefMut::filter_map` are deprecated, using them gives a warning like:
```
script/dom/element.rs:754:9: 754:24 warning: use of deprecated item: can be built on Ref::map, #[warn(deprecated)] on by default
```

But it’s not at all obvious *how* the functionality can be built on `Ref::map`. This PR adds to the warning message a crates.io URL for a crate that does.
2016-03-10 02:45:14 -08:00
Corey Farwell
410333be64 Differentiate "line" and "line number" variable names. 2016-03-09 23:36:39 -08:00
Corey Farwell
e1048b5ab6 Prefer Option::expect over explicit unwrapping. 2016-03-09 23:24:50 -08:00
bors
3ac4076ac0 Auto merge of #32097 - jseyfried:fix_resolution_regression, r=nikomatsakis
Fix a regression in import resolution

This fixes #32089 (caused by #31726) by deducing that name resolution has failed (as opposed to being determinate) in more cases.

r? @nikomatsakis
2016-03-09 22:41:48 -08:00
Corey Farwell
d9dba7699f Prefer 'associated function' over 'static method' in msg.
TRPL seems to refer to 'static functions' as 'associated functions'.
This terminology should be used consistently.
2016-03-09 21:29:39 -08:00
bors
bcda58f491 Auto merge of #31710 - eddyb:reify, r=nikomatsakis
Distinguish fn item types to allow reification from nothing to fn pointers.

The first commit is a rebase of #26284, except for files that have moved since.

This is a [breaking-change], due to:
* each FFI function has a distinct type, like all other functions currently do
* all generic parameters on functions are recorded in their item types, e.g.:
`size_of::<u8>` & `size_of::<i8>`'s types differ despite their identical signature.
* function items are zero-sized, which will stop transmutes from working on them

The first two cases are handled in most cases with the new coerce-unify logic,
which will combine incompatible function item types into function pointers,
at the outer-most level of if-else chains, match arms and array literals.

The last case is specially handled during type-checking such that transmutes
from a function item type to a pointer or integer type will continue to work for
another release cycle, but are being linted against. To get rid of warnings and
ensure your code will continue to compile, cast to a pointer before transmuting.
2016-03-09 20:16:20 -08:00
bors
0b9995b24c Auto merge of #31618 - alexcrichton:no-thread-spawns, r=brson
Optimize some functions in std::process

* Be sure that `read_to_end` gets directed towards `read_to_end_uninitialized` for all handles
* When spawning a child that guaranteed doesn't need a stdin, don't actually create a stdin pipe for that process, instead just redirect it to /dev/null
* When calling `wait_with_output`, don't spawn threads to read out the pipes of the child. Instead drain all pipes on the calling thread and *then* wait on the process.

Functionally, it is intended that nothing changes as part of this PR

---

Note that this was the same as #31613, and even after that it turned out that fixing Windows was easier than I thought! To copy a comment from over there:

> As some rationale for this as well, it's always bothered me that we've spawned threads in the standard library for this (seems a bit overkill), and I've also been curious lately as to our why our build times for Windows are so much higher than Unix (on the buildbots we have). I have done basically 0 investigation into why, but I figured it can't help to try to optimize Command::output which I believe is called quite a few times during the test suite.
2016-03-09 18:18:10 -08:00
bors
cc62db802f Auto merge of #32165 - alexcrichton:fix-broken-master, r=alexcrichton
collections: Fix broken doc example

PR #32135 was accidentally merged without tests passing, and unfortunately one
of the tests added was broken, so this fixes that.
2016-03-09 16:21:32 -08:00
Alex Crichton
752f2796ba collections: Fix broken doc example
PR #32135 was accidentally merged without tests passing, and unfortunately one
of the tests added was broken, so this fixes that.
2016-03-09 16:20:32 -08:00
Steve Klabnik
996f818105 Merge pull request #32135 from nathankleyn/improve-docs-for-btreemap
Add missing documentation examples for BTreeMap.
2016-03-10 01:14:40 +03:00
Sean McArthur
ca129e376e lint: mark associated types as live for the dead_code pass 2016-03-09 11:36:05 -08:00
Alex Crichton
7c3038f824 std: Don't spawn threads in wait_with_output
Semantically there's actually no reason for us to spawn threads as part of the
call to `wait_with_output`, and that's generally an incredibly heavyweight
operation for just reading a few bytes (especially when stderr probably rarely
has bytes!). An equivalent operation in terms of what's implemented today would
be to just drain both pipes of all contents and then call `wait` on the child
process itself.

On Unix we can implement this through some convenient use of the `select`
function, whereas on Windows we can make use of overlapped I/O. Note that on
Windows this requires us to use named pipes instead of anonymous pipes, but
they're semantically the same under the hood.
2016-03-09 10:12:36 -08:00