Commit Graph

56276 Commits

Author SHA1 Message Date
Guillaume Gomez
bc940193c8 Rollup merge of #35910 - tbu-:pr_weird_linebreak, r=alexcrichton
Change a weird line break in `core::str`
2016-08-23 22:48:02 +02:00
Tshepang Lekhonkhobe
59723c3c20 doc: one line too many 2016-08-23 22:31:44 +02:00
Tshepang Lekhonkhobe
ab4c492d68 reference: add trailing commas 2016-08-23 22:25:40 +02:00
Simon Sapin
46226a7a6e Yield Err in char::decode_utf8 per Unicode, like String::from_utf8_lossy 2016-08-23 22:09:59 +02:00
Simon Sapin
892bf3d41d Use a macro in test_decode_utf8 to preserve line numbers in panic messages. 2016-08-23 22:07:48 +02:00
bors
012f45eaf7 Auto merge of #35854 - nikomatsakis:incr-comp-cache-hash-35549, r=mw
compute and cache HIR hashes at beginning

This avoids the compile-time overhead of computing them twice.  It also fixes
an issue where the hash computed after typeck is differen than the hash before,
because typeck mutates the def-map in place.

Fixes #35549.
Fixes #35593.

Some performance measurements suggest this `HashesMap` is very small in memory (unobservable via `-Z time-passes`) and very cheap to construct. I do see some (very minor) performance wins in the incremental case after the first run -- the first run costs more because loading the dep-graph didn't have any hashing to do in that case. Example timings from two runs  of `libsyntex-syntax` -- the (1) indicates first run, (2) indicates second run, and (*) indicates both together:

| Phase | Master | Branch |
| ---- | ---- | ---- |
| compute_hashes_map (1) | N/A | 0.343 |
| load_dep_graph (1) | 0 | 0 |
| serialize dep graph (1) | 4.190 | 3.920 |
| total (1) | 4.190 | 4.260 |
| compute_hashes_map (2) | N/A | 0.344 |
| load_dep_graph (2) | 0.592 | 0.252 |
| serialize dep graph (2) | 4.119 | 3.779 |
| total (2) | 4.71 | 4.375 |
| total (*) | 8.9 | 8.635 |

r? @michaelwoerister
2016-08-23 11:53:17 -07:00
Niko Matsakis
1cc7c9010c fix stray comment 2016-08-23 13:29:28 -04:00
Niko Matsakis
c21fa64dbb pacify the mercilous tidy 2016-08-23 13:28:55 -04:00
Alex Burka
702ea7169c typeck: use NoExpectation to check return type of diverging fn
This fixes #35849, a regression introduced by the typeck refactoring
around TyNever/!.
2016-08-23 16:58:49 +00:00
Rahul Sharma
5ec6f39a65 Update E0195 to new error format 2016-08-23 22:07:27 +05:30
Matthew Piziak
2cad78d5eb replace Div example with something more evocative of division
Analogous to PR #35860.

r? @GuillaumeGomez
2016-08-23 12:09:06 -04:00
Niko Matsakis
ea2d90e903 consider DepNode::Krate to be an input
This seems not only more correct but allows us to write tests that check
whether the krate hash as a whole is clean/dirty
2016-08-23 11:57:27 -04:00
bors
0bd99f9d5c Auto merge of #35656 - Stebalien:fused, r=alexcrichton
Implement 1581 (FusedIterator)

* [ ] Implement on patterns. See https://github.com/rust-lang/rust/issues/27721#issuecomment-239638642.
* [ ] Handle OS Iterators. A bunch of iterators (`Args`, `Env`, etc.) in libstd wrap platform specific iterators. The current ones all appear to be well-behaved but can we assume that future ones will be?
* [ ] Does someone want to audit this? On first glance, all of the iterators on which I implemented `FusedIterator` appear to be well-behaved but there are a *lot* of them so a second pair of eyes would be nice.
* I haven't touched rustc internal iterators (or the internal rand) because rustc doesn't actually call `fuse()`.
* `FusedIterator` can't be implemented on `std::io::{Bytes, Chars}`.

Closes: #35602 (Tracking Issue)
Implements: rust-lang/rfcs#1581
2016-08-23 07:46:52 -07:00
Niko Matsakis
c42e0a3451 make svh independent of item ordering 2016-08-23 10:42:46 -04:00
Niko Matsakis
f923083308 cache def-path hashes across all items
This seems like approx a 2x win on syntex_syntax.
2016-08-23 10:33:56 -04:00
Niko Matsakis
484da37845 rename HashesMap to IncrementalHashesMap 2016-08-23 07:47:14 -04:00
Niko Matsakis
226e1e5ded add regression test for #35593
Fixes #35593
2016-08-23 07:40:53 -04:00
bors
43204fff5d Auto merge of #35627 - apasel422:coerce-cell, r=alexcrichton
Implement `CoerceUnsized` for `{Cell, RefCell, UnsafeCell}`

These impls are analogous to the one for `NonZero`. It's occasionally useful to be able to coerce the cell types when they're being used inside another abstraction. See Manishearth/rust-gc#17 for an example.

r? @eddyb
2016-08-23 04:16:28 -07:00
James Miller
72d629caa5 Improve error message when failing to parse a block
We want to catch this error:

```
if (foo)
    bar;
```

as it's valid syntax in other languages, and say how to fix it.
Unfortunately it didn't care if the suggestion made sense and just
highlighted the unexpected token.

Now it attempts to parse a statement, and if it succeeds, it shows the
help message.

Fixes #35907
2016-08-23 18:23:31 +12:00
Eduard Burtescu
6b95606a13 rustc_trans: do not generate allocas for unused locals. 2016-08-23 09:07:23 +03:00
bors
599f1b96b1 Auto merge of #35766 - brson:bump, r=alexcrichton
Upgrade bootstrap compiler to 1.12

r? @alexcrichton
2016-08-22 20:51:54 -07:00
Corey Farwell
66a2578064 Mark panicking tests as should_panic instead of no_run. 2016-08-22 20:39:20 -04:00
Brian Anderson
f863ea3d16 Update rust-installer. Fixes #35840 2016-08-23 00:38:26 +00:00
Ahmed Charles
f39700514d Update E0389 to the new format. #35630 2016-08-22 17:08:21 -07:00
Tobias Bucher
0f9cb1b97c Change a weird line break in core::str 2016-08-23 02:05:53 +02:00
Brian Anderson
144cc7285f Update cargo bootstrap rev and add fix for cargo#3005 2016-08-23 00:05:33 +00:00
bors
d0da7f6af9 Auto merge of #35908 - jonathandturner:rollup, r=jonathandturner
Rollup of 20 pull requests

- Successful merges: #35360, #35526, #35809, #35817, #35820, #35824, #35835, #35841, #35842, #35858, #35860, #35861, #35864, #35878, #35879, #35881, #35882, #35889, #35891, #35901
- Failed merges: #35395
2016-08-22 16:59:28 -07:00
Ahmed Charles
6961d26729 Fix compiletest so it respects warnings for run-pass. 2016-08-22 16:51:37 -07:00
Jonathan Turner
8ea2936659 Rollup merge of #35901 - terrynsun:configs, r=steveklabnik
Add sublime-rust to CONFIGS.md.

Just noticed it was missing!

r? @steveklabnik
2016-08-22 15:34:23 -07:00
Jonathan Turner
d5deb118f9 Rollup merge of #35891 - munyari:book, r=steveklabnik
Add reference to `Self` in traits chapter (book)

Addresses #31891

"r? @steveklabnik
2016-08-22 15:34:22 -07:00
Jonathan Turner
766b04ec5e Rollup merge of #35889 - alevy:patch-1, r=GuillaumeGomez
Minor type in CONTRIBUTING.md

A single missing article
2016-08-22 15:34:22 -07:00
Jonathan Turner
252f3c5a1a Rollup merge of #35882 - petrochenkov:patch-2, r=eddyb
rustc: Fix outdated comment

cc https://github.com/rust-lang/rust/issues/35870#issuecomment-241282692

r? @eddyb
2016-08-22 15:34:22 -07:00
Jonathan Turner
375695c956 Rollup merge of #35881 - matthew-piziak:rc-would-unwrap-example, r=GuillaumeGomez
add example for `Rc::would_unwrap`

Part of #29372

r? @steveklabnik
2016-08-22 15:34:22 -07:00
Jonathan Turner
b560f5a7bc Rollup merge of #35879 - CryZe:patch-2, r=apasel422
Fix "Furthermore" Typo in String Docs

It used to say "Furtheremore" instead of "Furthermore".
2016-08-22 15:34:22 -07:00
Jonathan Turner
19f30d3f86 Rollup merge of #35878 - matthew-piziak:ptr-assertions, r=GuillaumeGomez
replace `println!` statements with `assert!`ions in `std::ptr` examples

r? @steveklabnik
2016-08-22 15:34:21 -07:00
Jonathan Turner
36b8322a8c Rollup merge of #35864 - matthew-piziak:index-example, r=GuillaumeGomez
replace `Index` example with something more evocative of indexing

r? @steveklabnik
2016-08-22 15:34:21 -07:00
Jonathan Turner
61f62ec595 Rollup merge of #35861 - matthew-piziak:rem-example, r=GuillaumeGomez
replace `Rem` example with something more evocative

r? @steveklabnik
2016-08-22 15:34:21 -07:00
Jonathan Turner
21c3287478 Rollup merge of #35860 - matthew-piziak:mul-example, r=GuillaumeGomez
replace `Mul` example with something more evocative of multiplication

I may have gone a bit overboard on this one. Numbers are fun.
2016-08-22 15:34:21 -07:00
Jonathan Turner
0c84ac124a Rollup merge of #35858 - shyaamsundhar:patch-1, r=GuillaumeGomez
E0435, E0437 & E0438 New Error Format

Part of #35801 , #35802 and #35803
r? @GuillaumeGomez

Hi! Please review the changes.
2016-08-22 15:34:21 -07:00
Jonathan Turner
7c2fba6d4d Rollup merge of #35842 - apasel422:typo, r=GuillaumeGomez
Fix typos in unix/rwlock.rs

r? @steveklabnik
2016-08-22 15:34:20 -07:00
Jonathan Turner
cc51d1c21d Rollup merge of #35841 - kyrias:new-error-E0424, r=GuillaumeGomez
Update E0424 to the new error format

Fixes #35797.
Part of #35233.

r? @GuillaumeGomez
2016-08-22 15:34:20 -07:00
Jonathan Turner
ae83225afc Rollup merge of #35835 - crypto-universe:E0426, r=jonathandturner
New format for E0426

Issue #35799 as a part of issue #35233
r? jonathandturner
2016-08-22 15:34:20 -07:00
Jonathan Turner
025c5e7311 Rollup merge of #35824 - GuillaumeGomez:err_codes, r=jonathandturner
Err codes

r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
5523db8f2e Rollup merge of #35820 - knight42:update-error-msg, r=jonathandturner
Updated E0054, E0423 & E0432 to new error format

Fixes #35791, #35796 and #35344, as part of #35233

r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
40f40e6cd9 Rollup merge of #35817 - wesleywiser:fix_35703, r=jonathandturner
Update E0503 to the new format

Fixes #35703
Part of #35233

r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
b6950492c2 Rollup merge of #35809 - matthew-piziak:bitwise-and-example, r=GuillaumeGomez
replace `BitAnd` example with something more evocative of bitwise AND
2016-08-22 15:34:19 -07:00
Jonathan Turner
f46438c71a Rollup merge of #35526 - munyari:e0033, r=jonathandturner
Update E0033 to the new error format

Part of #35233

Addresses #35498
"r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
ab734210f0 Rollup merge of #35360 - medzin:E0388, r=jonathandturner
Updated error message E0388

Fixes #35339 as part of #35233.

r? @GuillaumeGomez
2016-08-22 15:34:18 -07:00
Adam Medziński
bfbdff0e2d Updated error message E0388 2016-08-22 23:22:40 +02:00
Matthew Piziak
eb6d44d697 more evocative examples for Sub and SubAssign
These examples are exactly analogous to those in PRs #35709 and #35806. I'll probably remove the `fn main` wrappers for `Add` and `Sub` once this is merged in.

Part of #29365.

r? @steveklabnik
2016-08-22 17:20:32 -04:00