Commit Graph

56641 Commits

Author SHA1 Message Date
Matthew Piziak
9f88f8ae48 replace BitAnd example with something more evocative of bitwise AND
reformat method chain according to ubsan Rustic Style Guide

https://ubsan.github.io/style/
2016-08-22 17:04:18 -04:00
Matthew Piziak
38f0bca865 replace Mul example with something more evocative of multiplication
I may have gone a bit overboard on this one. Numbers are fun.

tone down the error message
2016-08-22 16:50:46 -04:00
Panashe M. Fundira
3da5f9327a
Correct failing book test 2016-08-22 12:10:02 -04:00
bors
3c5a0fa45b Auto merge of #35871 - bluss:cstring-new, r=alexcrichton
cstring: avoid excessive growth just to 0-terminate

Based on following what happens in CString::new("string literal"):

1. Using `Into<Vec<u8>>`, a Vec is allocated with capacity exactly equal
   to the string's input length.
2. By `v.push(0)`, the Vec is grown to twice capacity, since it was full.
3. By `v.into_boxed_slice()`, the Vec capacity is shrunk to fit the length again.

If we use `.reserve_exact(1)` just before the push, then we avoid the
capacity doubling that we're going to have to shrink anyway.

Growing by just 1 byte means that the step (2) is less likely to have to
move the memory to a larger allocation chunk, and that the step (3) does
not have to reallocate.

Addresses part of #35838
2016-08-22 08:29:41 -07:00
ggomez
cdb4af848b Remove E0455 test (for now) 2016-08-22 14:53:28 +02:00
bors
57a1f684cd Auto merge of #35848 - Mark-Simulacrum:make-tidy-in-tree, r=alexcrichton
Check that executable file is in-tree before failing tidy check

I silenced stdout and stderr for ls-files, not sure if that's appropriate (is `make tidy` intended to give debugging information)? Otherwise it prints each file it find to stdout/stderr, which currently prints nothing (only executable files are checked).

I have not done major testing regarding the behavior of ls-files when the file is ignored, but judging by the man page everything should be fine.

I've duplicated the code which makes the path git-friendly from the `Cargo.lock` checking code; I can extract that into a common helper if wanted (it's only two lines).

Fixes #35689.
2016-08-22 05:39:53 -07:00
Knight
8fdc531446 Updated E0423 to new format 2016-08-22 13:57:37 +08:00
Knight
a4c6307a15 Updated E0432 to new format 2016-08-22 13:57:10 +08:00
Knight
820c810107 Updated E0054 to new format 2016-08-22 13:51:21 +08:00
bors
c44534ef5a Auto merge of #35821 - nbaksalyar:solaris-trans-fix, r=alexcrichton
Fix linker on Solaris/Illumos

This patch provides a fix for the `GnuLinker::export_symbols` function that currently relies on a `--retain-symbols-file` option which is not supported by the Solaris & Illumos linker.

Instead, a [version script](https://www.gnu.org/software/gnulib/manual/html_node/LD-Version-Scripts.html) is used on this platform to achieve the same goal. Here's an example of a similar approach in LLVM's CMake script: https://github.com/llvm-mirror/llvm/blob/master/cmake/modules/AddLLVM.cmake#L88-L94.

Perhaps other platforms like OpenBSD could benefit from this as well. /cc @semarie
2016-08-21 22:30:46 -07:00
Terry Sun
1d78f9eb89 Add sublime-rust to CONFIGS.md. 2016-08-22 01:24:01 -04:00
Panashe M. Fundira
a5a5c1074e
Add reference to Self in traits chapter (book) 2016-08-21 23:45:26 -04:00
Amit Levy
4b6477f062 Minor type in CONTRIBUTING.md
A single missing article
2016-08-21 22:42:33 -04:00
Alex Burka
b40754f0f7 modify fds-are-cloexec test to open a file that exists
Fixes #35753.
2016-08-21 23:49:22 +00:00
Aaron Gallagher
0a70944e04 Use the kernel arc4rand for FreeBSD OsRng.
This means that /dev/urandom doesn't have to be opened.
2016-08-21 16:41:44 -07:00
Aaron Gallagher
ef6aab2935 Reduce duplication in std::sys::unix::rand.
There were a bunch of more-of-less the same few lines for doing a
fill_bytes+transmute, and I didn't want to copy-paste it yet again.
2016-08-21 16:41:43 -07:00
Jeffrey Seyfried
9d99fe98ad Fix fallout in rustdoc. 2016-08-21 22:59:40 +00:00
Jeffrey Seyfried
c4d577be1a Refactor away variant hir::PathListItem_::Mod
and refacotor `hir::PathListItem_::Ident` -> `hir::PathListItem_`.
2016-08-21 22:59:39 +00:00
Jeffrey Seyfried
98ce875b58 Refactor away variant ast::PathListItemKind::Mod
and refactor `ast::PathListItemKind::Ident` -> `ast::PathListItem_`.
2016-08-21 22:59:36 +00:00
bors
42584d36f6 Auto merge of #35777 - nrc:carrier3, r=@nikomatsakis
Carrier trait (third attempt)

This adds a `Carrier` trait to operate with `?`. The only public implementation is for `Result`, so effectively the trait does not exist, however, it ensures future compatibility for the `?` operator. This is not intended to be used, nor is it intended to be a long-term solution.

Although this exact PR has not been through Crater, I do not expect it to be a breaking change based on putting numerous similar PRs though Crater in the past.

cc:
* [? tracking issue](https://github.com/rust-lang/rust/issues/31436)
* [previous PR](https://github.com/rust-lang/rust/pull/35056)
* [RFC issue](https://github.com/rust-lang/rfcs/issues/1718) for discussion of long-term Carrier trait solutions.

r? @nikomatsakis
2016-08-21 15:12:43 -07:00
Nick Cameron
c32456da8f Fix type error with ? in existing code. 2016-08-22 09:31:26 +12:00
Vadim Petrochenkov
17f9937cec rustc: Fix outdated comment 2016-08-22 00:21:13 +03:00
Matthew Piziak
5310d1110d add example for Rc::would_unwrap
Part of #29372

r? @steveklabnik
2016-08-21 17:18:52 -04:00
Christopher Serr
18445cd6cc Fix "Furthermore" Typo in String Docs
It used to say "Furtheremore" instead of "Furthermore".
2016-08-21 22:51:37 +02:00
Matthew Piziak
8b18e781ab replace println! statements with assert!ions in std::ptr examples
r? @steveklabnik
2016-08-21 16:49:09 -04:00
bors
1576de0ce6 Auto merge of #35776 - jseyfried:more_groundwork, r=nrc
resolve: More groundwork for `item_like_imports` (RFC 1560)

r? @nrc
2016-08-21 11:03:48 -07:00
Shyam Sundar B
738b91e997 Update lib.rs
Update lib.rs
Update lib.rs
Update E0438.rs
Update E0437.rs
Update E0435.rs
2016-08-21 18:43:58 +05:30
Ulrik Sverdrup
876c02cc1a cstring: avoid excessive growth just to 0-terminate
Based on following what happens in CString::new("string literal"):

1. Using `Into<Vec<u8>>`, a Vec is allocated with capacity exactly equal
   to the string's input length.
2. By `v.push(0)`, the Vec is grown to twice capacity, since it was full.
3. By `v.into_boxed_slice()`, the Vec capacity is shrunk to fit the length again.

If we use `.reserve_exact(1)` just before the push, then we avoid the
capacity doubling that we're going to have to shrink anyway.

Growing by just 1 byte means that the step (2) is less likely to have to
move the memory to a larger allocation chunk, and that the step (3) does
not have to reallocate.
2016-08-21 13:37:33 +02:00
philipp
dfeb20ce60 Added #![feature] declarations 2016-08-21 13:23:39 +02:00
Wesley Wiser
9bb8b65bdd Update E0503 to the new format
Fixes #35703
Part of #35233
2016-08-20 21:07:19 -04:00
Steven Allen
f2655e23ff Note that formatters should not return spurious errors.
Doing otherwise would break traits like `ToString`.
2016-08-20 18:00:42 -04:00
Matthew Piziak
1dfc5db7db replace Index example with something more evocative of indexing
r? @steveklabnik
2016-08-20 16:39:40 -04:00
Johannes Löthberg
ff44f088d7 Update E0424 to the new error format
Fixes #35797.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-08-20 22:05:51 +02:00
Matthew Piziak
825fd11bd6 replace Rem example with something more evocative
r? @steveklabnik
2016-08-20 15:21:36 -04:00
Steven Allen
e4dd785b59 Correct formatting docs: fmt::Result != io::Result<()> 2016-08-20 15:20:22 -04:00
Matthew Piziak
2659198603 show how iterating over RangeTo and RangeToInclusive fails
Feedback on PR #35701 seems to be positive, so this does the same thing for `RangeTo` and `RangeToInclusive`.
2016-08-20 13:28:49 -04:00
Niko Matsakis
0595a3a8fa hash the traits-in-scope determinstically
Experimentally, this fixes the poor re-use observed in
libsyntex-syntax. I'm not sure how to make a regression test for this,
though, given the non-deterministic nature of it.
2016-08-20 11:52:01 -04:00
philipp
4b87c7e3b4 Introduce max_by/min_by on iterators 2016-08-20 17:30:48 +02:00
bors
490189634b Auto merge of #35857 - jonathandturner:rollup, r=jonathandturner
Rollup of 19 pull requests

- Successful merges: #35234, #35701, #35709, #35710, #35775, #35778, #35780, #35781, #35794, #35800, #35804, #35806, #35811, #35812, #35818, #35827, #35830, #35831, #35839
- Failed merges: #35759
2016-08-20 07:09:53 -07:00
Jonathan Turner
9072861c20 Rollup merge of #35839 - jonathandturner:error_touchup, r=Aatch
Wording fixes in error messages

This PR is largely wording fixes to existing PRs that I found going back through the ones that have already been updated.  Sometimes seeing the message in context made me think "oh there's a better wording!"

There's one additional fix.  This will also prevent the secondary underlining of derive call (since they look like macros to the system in the way I was using):

```
error[E0184]: the trait `Copy` may not be implemented for this type; the type has a destructor
  --> src/test/compile-fail/E0184.rs:11:10
   |
11 | #[derive(Copy)] //~ ERROR E0184
   |          ^^^^
   |          |
   |          in this macro invocation
```

Is now just:

```
error[E0184]: the trait `Copy` may not be implemented for this type; the type has a destructor
  --> src/test/compile-fail/E0184.rs:11:10
   |
11 | #[derive(Copy)] //~ ERROR E0184
   |          ^^^^
```
2016-08-20 07:09:37 -07:00
Jonathan Turner
b22352f568 Rollup merge of #35831 - trixnz:error-428, r=jonathandturner
Update E0428 to new format

Fixes #35798 as part of #35233.

r? @jonathandturner
2016-08-20 07:09:37 -07:00
Jonathan Turner
0d69b887c6 Rollup merge of #35830 - matthew-piziak:not-example, r=steveklabnik
replace `Neg` example with something more evocative of negation
2016-08-20 07:09:37 -07:00
Jonathan Turner
cc431a017d Rollup merge of #35827 - matthew-piziak:neg-example, r=steveklabnik
replace `Not` example with something more evocative
2016-08-20 07:09:37 -07:00
Jonathan Turner
f17ff3aa93 Rollup merge of #35818 - wdv4758h:E0133-label, r=Aatch
Fix label messages for E0133

Issue #35789
2016-08-20 07:09:36 -07:00
Jonathan Turner
b9c0a8cd8e Rollup merge of #35812 - mlayne:E0232, r=jonathandturner
Update error format for E0232

Fixes #35795, as part of #35233.

Excited to make my first contribution to rustc!

r? @jonathandturner
2016-08-20 07:09:36 -07:00
Jonathan Turner
a361cdb72f Rollup merge of #35811 - jonathandturner:fix_rustbuild_version_test, r=alexcrichton
Add workaround to detect correct compiler version

This adds a workaround which fixes a rustbuild issue where the wrong compiler is checked for the version number.  The bug would arise if you build the system correctly then changed to any other version (eg doing a `git pull`).  After changing to the new version, building would fail and complain that crates were built with the wrong compiler.

There are actually two compilers at play, the bootstrapping compiler (called the "snapshot" compiler) and the actual compiler being built (the "real" compiler).  In the case of this issue, the wrong compiler was being checked for version mismatch.

r? @alexcrichton
2016-08-20 07:09:36 -07:00
Jonathan Turner
0155eb16dd Rollup merge of #35806 - matthew-piziak:addassign-example, r=steveklabnik
replace `AddAssign` example with something more evocative of addition

This is analogous to PR #35709 for the `Add` trait.
2016-08-20 07:09:36 -07:00
Jonathan Turner
15277eb0a9 Rollup merge of #35804 - pliniker:master, r=jonathandturner
Update error message for E0084

Fixes #35792 as part of #35233

r? @jonathandturner
2016-08-20 07:09:35 -07:00
Jonathan Turner
a36ff81753 Rollup merge of #35800 - matthew-piziak:mul-div-examples, r=steveklabnik
demonstrate `RHS != Self` use cases for `Mul` and `Div`

Vector-scalar multipication is a good usecase for this. Thanks #rust!
2016-08-20 07:09:35 -07:00
Jonathan Turner
ad17e0c277 Rollup merge of #35794 - cantino:fix-typo, r=apasel422
Fix minor typo

Minor typo in the book.
2016-08-20 07:09:35 -07:00