Commit Graph

52326 Commits

Author SHA1 Message Date
Alex Crichton
99c0547854 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
2016-04-15 10:02:21 -07:00
bors
74b3684d00 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.
2016-04-15 04:10:11 -07:00
bors
a7b5d69ba5 Auto merge of #32851 - apasel422:spec-extend, r=alexcrichton
Specialize `Extend` to `append` for `{LinkedList, Vec}`
2016-04-15 02:01:05 -07:00
bors
4091cd0c5d 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
2016-04-14 21:23:35 -07:00
bors
76c1a0df2b Auto merge of #32317 - taralx:master, r=alexcrichton
Deduplicate libraries on hash instead of filename.

Removes the need for canonicalization to prevent #12459.

(Now with passing tests!)

Canonicalization breaks certain environments where the libraries are symlinks to files that don't end in .rlib (e.g. /remote/cas/$HASH).
2016-04-14 19:14:21 -07:00
bors
2174bd97c1 Auto merge of #32960 - steveklabnik:rollup, r=steveklabnik
Rollup of 15 pull requests

- Successful merges: #32646, #32855, #32856, #32865, #32868, #32869, #32876, #32884, #32885, #32893, #32894, #32932, #32937, #32940, #32941
- Failed merges: #32912
2016-04-14 16:02:32 -07:00
JP Sugarbroad
2218245a6d Deduplicate libraries on hash instead of filename. 2016-04-14 13:29:47 -07:00
bors
2b5d24ac5a Auto merge of #32940 - birkenfeld:patch-3, r=alexcrichton
Fix a typo and add a missing word
2016-04-14 13:02:22 -07:00
Steve Klabnik
7e2302b253 Rollup merge of #32941 - bungcip:fix-doc-1, r=alexcrichton
fix str::split_at_mut() example

fix documentation issue #32933
2016-04-14 14:49:11 -04:00
Steve Klabnik
e14401f491 Rollup merge of #32940 - birkenfeld:patch-3, r=alexcrichton
Fix a typo and add a missing word
2016-04-14 14:49:11 -04:00
Steve Klabnik
eadd5748ce Rollup merge of #32937 - deepak:gh-issue-32936-remove-next-project-in-guessing-game-doc, r=Manishearth
Doc fix: Do not mention next project in book/guessing-game

fixes https://github.com/rust-lang/rust/issues/32936
2016-04-14 14:49:11 -04:00
Steve Klabnik
302f2aa01c Rollup merge of #32932 - Manishearth:fx-mir, r=bluss
Make rustc_mir pass rustdoc

None
2016-04-14 14:49:11 -04:00
Steve Klabnik
e548880524 Rollup merge of #32894 - brson:fixbeta, r=alexcrichton
Fix beta branch

This test tests a message that is only displayed on nightly.

Still testing this locally, but I suspect it's correct. r? @alexcrichton
2016-04-14 14:49:10 -04:00
Steve Klabnik
22877d6f18 Rollup merge of #32893 - khernyo:clarify-try-doc, r=steveklabnik
Clarify try! doc example

The original is correct, but a bit misleading.

r? @steveklabnik
2016-04-14 14:49:10 -04:00
Steve Klabnik
9fa8b493a0 Rollup merge of #32885 - rkjnsn:patch-2, r=alexcrichton
Fix conflicting link identifiers

Caused "Errors for non-exhaustive match patterns now list up to 3 missing variants while also indicating the total number of missing variants if more than 3." to link to "libsyntax: Restrict where non-inline modules can appear (fixes #29765)"
2016-04-14 14:49:10 -04:00
Steve Klabnik
34ccdf9dfd Rollup merge of #32884 - brson:bump, r=alexcrichton
Bump to 1.10
2016-04-14 14:49:10 -04:00
Steve Klabnik
3a208308e3 Rollup merge of #32876 - dhuseby:freebsd_32_snap_235d774, r=alexcrichton
i386-unknown-freebsd snap 235d774

@alexcrichton when merging this, please upload the snapshot file:

https://github.com/dhuseby/rust-manual-snapshots/raw/master/rust-stage0-2016-03-18-235d774-freebsd-i386-b5a87e66e3e3eed5f0b68367ad22f25f0be2d4ea.tar.bz2
2016-04-14 14:49:10 -04:00
Steve Klabnik
657cae03e9 Rollup merge of #32869 - bluss:char-boundary-test, r=brson
Add test for is_char_boundary

Add test for is_char_boundary

Apparently there was no test for this method. This test is rather simple, not exhaustive.
2016-04-14 14:49:09 -04:00
Steve Klabnik
c353eae4ac Rollup merge of #32868 - kraai:remove-comma, r=GuillaumeGomez
Remove an extra command from the usage message
2016-04-14 14:49:09 -04:00
Steve Klabnik
d1f1f38c0e Rollup merge of #32865 - caipre:llvm-ninja, r=alexcrichton
Add rustbuild option to use Ninja for LLVM build

This change adds support for a `ninja` option in the `[llvm]` section of rustbuild's `config.toml`. When `true`, the option enables use of the Ninja build tool. Note that this change does not add support for Ninja to the old makefile based build system.

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

r? @alexcrichton
2016-04-14 14:49:09 -04:00
Steve Klabnik
eae0b72ad8 Rollup merge of #32856 - cardoe:target-spec-path, r=alexcrichton
librustc_back: fix incorrect comment about RUST_TARGET_PATH

The path `/etc/rustc/` is not the default last entry in
RUST_TARGET_PATH. This was in RFC131 but was never implemented in rustc
so it was removed as part of #31117 and rust-lang/rfcs#1473.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-14 14:49:09 -04:00
Steve Klabnik
78ab18199d Rollup merge of #32855 - troplin:take-bufread-fix, r=alexcrichton
Don't read past limit for in BufRead instance of Take

Similar to `Read::read`, `BufRead::fill_buf` impl of `Take` should not call `inner.fill_buf` if the limit is already reached.
2016-04-14 14:49:09 -04:00
Steve Klabnik
04b7427bb1 Rollup merge of #32646 - Ms2ger:Constructor, r=sanxiyn
Stop re-exporting check_match::Constructor.
2016-04-14 14:49:09 -04:00
bors
073a09fd63 Auto merge of #32908 - oli-obk:hygienic_derive_encodable, r=alexcrichton
prevent other `encode` methods from breaking `derive(RustcEncodable)`

fixes https://github.com/rust-lang-nursery/rustc-serialize/issues/151
2016-04-14 08:23:11 -07:00
bors
fbf8a8ce5e Auto merge of #32892 - brson:relnotes19, r=alexcrichton
Release notes for 1.9
2016-04-14 05:58:25 -07:00
Andrew Paseltiner
cf37af1627
Specialize Extend to append for {LinkedList, Vec} 2016-04-14 07:12:45 -04:00
bors
c9f15013e0 Auto merge of #32883 - sanxiyn:nameless-defkey, r=arielb1
Do not encode name when encoding DefKey

Since name is encoded anyway, name in DefKey is redundant.

cc #32719.
2016-04-14 03:49:14 -07:00
bors
374d262b3a Auto merge of #32718 - timonvo:bootstrap-skip-docs, r=alexcrichton
rustbuild: Skip generating docs if the config disables them.

r? @alexcrichton
2016-04-14 00:38:58 -07:00
bors
0cb2ee2ef6 Auto merge of #32877 - oli-obk:const_err_multi, r=arielb1
don't report errors in constants at every use site

partially fixes #32842

r? @arielb1
cc @retep998

I chose this way of implementing it, because the alternative (checking if the error span is inside the constant's expressions's span) would get confusing when combined with expression generating macros.

A next step would be to re-enable the re-reporting of errors if the original erroneous constant is in another crate.
2016-04-13 22:33:10 -07:00
Timon Van Overveldt
2805e83dcb rustbuild: Skip generating docs if the config disables them.
It looks like before these config variables weren't actually taken
into account. This patch should make the build system skip over the
documentation steps correctly.
2016-04-13 18:36:58 -07:00
bors
adb0923492 Auto merge of #32944 - alexcrichton:add-to-gitignore, r=brson
Add /obj/ to .gitignore

This is the build directory our buildbots use, and right now the bots are
running `git clean -f -f -d` to remove all untracked files between runs and this
is accidentally deleting `obj`, so we're building LLVM a lot.

Hopefully this keeps the bots caching `obj` so we can clean it out manually and
leave LLVM around.
2016-04-13 17:50:12 -07:00
Alex Crichton
de1838148c Add /obj/ to .gitignore
This is the build directory our buildbots use, and right now the bots are
running `git clean -f -f -d` to remove all untracked files between runs and this
is accidentally deleting `obj`, so we're building LLVM a lot.

Hopefully this keeps the bots caching `obj` so we can clean it out manually and
leave LLVM around.
2016-04-13 17:46:01 -07:00
bors
2b60207231 Auto merge of #32592 - tbu-:pr_range_from_overflow, r=alexcrichton
Add a note about overflowing in the `RangeFrom` iterator
2016-04-13 14:26:10 -07:00
Gigih Aji Ibrahim
2bf000349a fix str::split_at_mut() example 2016-04-14 03:43:29 +07:00
bors
35dca7fb7b Auto merge of #32780 - soltanmm:consider-the-following, r=nikomatsakis
Replace consider_unification_despite_ambiguity with new obligation variant

Is work towards #32730. Addresses part one of #32286. Addresses #24210 and #26046 to some degree.

r? @nikomatsakis
2016-04-13 11:28:30 -07:00
Tobias Bucher
6acd90f0c9 Add a note about overflowing in the RangeFrom iterator 2016-04-13 20:09:15 +02:00
Georg Brandl
05a3fea8f6 Fix a typo and add a missing word 2016-04-13 19:35:21 +02:00
Deepak Kannan
a40629d2c9 Doc fix: Do not mention next project in book/guessing-game
The next project refers to the dining-philosophers problem
27a1834ce5/src/doc/book/dining-philosophers.md

which was removed in
0c6c34de87

so removing reference to that project from book/guessing-game
2016-04-13 21:53:47 +05:30
Masood Malekghassemi
de82fc4dc6 Fix obscure compilation error 2016-04-13 07:48:53 -07:00
bors
525aa61022 Auto merge of #32828 - vadimcn:symlinks, r=alexcrichton
Do not rely on file extensions after path canonicalization.

Rustc does not recognize libraries which are symlinked to files having extension other than .rlib. The problem is that find_library_crate calls fs::canonicalize on found library paths, but then the resulting path is passed to get_metadata_section, which assumes it will end in ".rlib" if it's an rlib (from https://internals.rust-lang.org/t/is-library-path-canonicalization-worth-it/3206).

cc #29433
2016-04-13 07:16:20 -07:00
bors
6136a86291 Auto merge of #32817 - jseyfried:warn_impl_param_defaults, r=nikomatsakis
Warn for type parameter defaults on impl blocks

Warn for type parameter defaults on impl blocks (fixes #31543).
r? @nikomatsakis
2016-04-13 04:18:36 -07:00
Manish Goregaokar
3e93a6e265 Make librustc_mir pass rustdoc --test 2016-04-13 16:16:14 +05:30
Manish Goregaokar
327ce2ecf9 Make librustc_mir pass rustdoc 2016-04-13 16:13:24 +05:30
bors
7d4d3cb0be Auto merge of #32726 - asomers:master, r=alexcrichton
Fix stack overflow detection on FreeBSD
2016-04-13 01:20:15 -07:00
bors
4b71f8d141 Auto merge of #32814 - jseyfried:improve_duplicate_glob_detection, r=nikomatsakis
resolve: Improve duplicate glob detection

This fixes a bug introduced in #31726 in which we erroneously allow multiple imports of the same item under some circumstances.

More specifically, we erroneously allow a module that is in a cycle of glob re-exports to have other re-exports (besides the glob from the cycle).
For example,
```rust
pub fn f() {}
mod foo {
    pub use f; // (1) This defines `foo::f`.
    pub use bar::*; // (3) This also defines `foo::f`, which should be a duplicate error but is currently allowed.
}
mod bar {
    pub use foo::*; // (2) This defines `bar::f`.
}
```

A module in a glob re-export cycle can still have `pub` items after this PR. For example,
```rust
mod foo {
    pub fn f() {}; // (1) This defines `foo::f`.
    pub use bar::*; // (3) This is not a duplicate error since items shadow glob-imported re-exports (cf #31337).
}
mod bar {
    pub use foo::*; // (2) This defines `bar::f`.
}
```
r? @nikomatsakis
2016-04-12 22:21:23 -07:00
bors
7c27cce9e5 Auto merge of #32803 - eddyb:mir-debuginfo, r=nikomatsakis
Initial implementation of debuginfo in MIR trans.

Progress is made towards #31005, but several issues remain, such as #32790.
2016-04-12 19:22:32 -07:00
bors
a43eb4e774 Auto merge of #32590 - alexcrichton:rustbuild-tidy-checks, r=brson
rustbuild: Migrate tidy checks to Rust

This commit rewrites all of the tidy checks we have, namely:

* featureck
* errorck
* tidy
* binaries

into Rust under a new `tidy` tool inside of the `src/tools` directory. This at
the same time deletes all the corresponding Python tidy checks so we can be sure
to only have one source of truth for all the tidy checks.

cc #31590
2016-04-12 16:24:33 -07:00
Alex Crichton
7bfaeaaf9c tidy: Add a check to ensure Cargo.toml is in sync
This verifies that the crates listed in the `[dependencies]` section of
`Cargo.toml` are a subset of the crates listed in `lib.rs` for our in-tree
crates. This should help ensure that when we refactor crates over time we keep
these dependency lists in sync.
2016-04-12 15:55:14 -07:00
Brian Anderson
bbcfcfc61d Release notes for 1.9 2016-04-12 21:23:44 +00:00
bors
a4f781e477 Auto merge of #31963 - barosl:rename-doc, r=alexcrichton
Describe more platform-specific behaviors of `std::fs::rename`

I did some tests myself regarding the situation when both `from` and `to` exist, and the results were:

On Linux:

`from` | `to` | Result
---- | ---- | ----
Directory | Directory | Ok
Directory | File | Error
File | Directory | Error
File | File | Ok

On Windows:

`from` | `to` | Result
---- | ---- | ----
Directory | Directory | Error
Directory | File | Ok
File | Directory | Error
File | File | Ok

This is a bit against the official MSDN documentation, which says "(`MOVEFILE_REPLACE_EXISTING`) cannot be used if `lpNewFileName` or `lpExistingFileName` names a directory." As evidenced above, `lpExistingFileName` *can* be a directory.

I also mentioned the atomicity of the operation.

Fixes #31301.
2016-04-12 10:12:55 -07:00