Commit Graph

56260 Commits

Author SHA1 Message Date
Guillaume Gomez
f551674c6d Add new error code tests 2016-08-19 16:44:47 +02:00
Guillaume Gomez
2c190ad0d2 Update block codes' flags 2016-08-19 16:44:29 +02:00
Chiu-Hsiang Hsu
2128d31a41 Fix label messages for E0133
Issue #35789
2016-08-19 11:58:26 +08:00
bors
413ada3040 Auto merge of #35719 - Amanieu:atomic_access, r=alexcrichton
Implement RFC 1649

cc #35603 rust-lang/rfcs#1649

r? @alexcrichton
2016-08-18 18:44:54 -07:00
Nick Cameron
5aa89d8bf6 Remove the Option and bool impls for carrier and add a dummy impl
The dummy impl should ensure the same type checking behaviour as having other (real) Carrier impls.
2016-08-19 13:31:55 +12:00
Michael Layne
39f318bb4d
Update error format for E0232 2016-08-18 15:31:34 -07:00
Jonathan Turner
ffbb8600fb Add workaround to detect correct compiler version 2016-08-18 15:22:23 -07:00
Matthew Piziak
6c66eaa035 replace AddAssign example with something more evocative of addition
This is analogous to PR #35709 for the `Add` trait.
2016-08-18 16:58:38 -04:00
Scott A Carr
61c4f5b610 port to new Location 2016-08-18 16:54:20 -04:00
Matthew Piziak
a516dbb7d9 note that calling drop() explicitly is a compiler error
Part of #29365

explain that std::mem::drop in prelude will invoke Drop

change "prelude" -> "the prelude"; change links to reference-style

move link references to links' section
2016-08-18 16:31:32 -04:00
pliniker
161cb36159 Update error message for E0084 2016-08-18 16:27:33 -04:00
Nick Cameron
301401e568 Redirect 2016-08-19 08:20:06 +12:00
Matthew Piziak
469b7fd1c0 split example into three sections with explanation 2016-08-18 16:12:40 -04:00
Matthew Piziak
9563f14eb5 demonstrate RHS != Self use cases for Mul and Div
Vector-scalar multipication is a good usecase for this. Thanks #rust!
2016-08-18 16:04:53 -04:00
Andrew Cantino
06302cb983 Fix minor typo 2016-08-18 15:06:05 -04:00
Scott A Carr
0ff128228f track Location in visitor, combine Location 2016-08-18 14:57:42 -04:00
Steven Allen
de91872a33 Add a FusedIterator trait.
This trait can be used to avoid the overhead of a fuse wrapper when an iterator
is already well-behaved.

Conforming to: RFC 1581
Closes: #35602
2016-08-18 12:16:29 -04:00
bors
499484f56d Auto merge of #35684 - nikomatsakis:incr-comp-metadata-audit-35111, r=mw
Restructure metadata encoder to track deps precisely

This issue restructures meta-data encoding to track dependencies very precisely. It uses a cute technique I hope to spread elsewhere, where we can guard the data flowing into a new dep-graph task and ensure that it is not "leaking" information from the outside, which would result in missing edges. There are no tests because we don't know of any bugs in the old system, but it's clear that there was leaked data.

The commit series is standalone, but the refactorings are kind of "windy". It's a good idea to read the comment in `src/librustc_metadata/index_builder.rs` to get a feeling for the overall strategy I was aiming at.

In several cases, I wound up adding some extra hashtable lookups, I think primarily for looking up `AdtDef` instances. We could remove these by implementing `DepGraphRead` for an `AdtDef` and then having it register a read to the adt-defs table, I guess, but I doubt it is really noticeable.

Eventually I think I'd like to extend this pattern to the dep-graph more generally, since it effectively guarantees that data cannot leak.

Fixes #35111.

r? @michaelwoerister
2016-08-18 08:54:10 -07:00
Corey Farwell
c2b6f72114 Add a few doc examples for std::ffi::OsStr.
* `std::ffi::OsStr::new`.
* `std::ffi::OsStr::is_empty`.
* `std::ffi::OsStr::len`.
2016-08-18 10:34:54 -04:00
bors
43c090ed69 Auto merge of #35732 - jonathandturner:region_error_labels, r=nikomatsakis
Move 'doesn't live long enough' errors to labels

This patch moves the "doesn't live long enough" region-style errors to instead use labels.

An example follows.

Before:

```
error: `x` does not live long enough
  --> src/test/compile-fail/send-is-not-static-ensures-scoping.rs:26:18
   |
26 |         let y = &x;
   |                  ^
   |
note: reference must be valid for the block at 23:10...
  --> src/test/compile-fail/send-is-not-static-ensures-scoping.rs:23:11
   |
23 | fn main() {
   |           ^
note: ...but borrowed value is only valid for the block suffix following statement 0 at 25:18
  --> src/test/compile-fail/send-is-not-static-ensures-scoping.rs:25:19
   |
25 |         let x = 1;
   |                   ^
```

After:

```
error: `x` does not live long enough
  --> src/test/compile-fail/send-is-not-static-ensures-scoping.rs:26:18
   |
26 |         let y = &x;
   |                  ^ does not live long enough
...
32 |     };
   |     - borrowed value only valid until here
...
35 | }
   | - borrowed value must be valid until here
```

r? @nikomatsakis
2016-08-18 05:39:11 -07:00
Jeffrey Seyfried
a6e8f3ba83 Add type Determinacy. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
951d3d6872 Fix fallout in tests. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
cc079c3af2 Refactor away ImportResolvingError. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
6cd43f6ee9 Rename source -> name in finalize_import. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
11c38fdce0 Rename target_module to module or imported_module. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
5b969a2a58 Improve import failure detection. 2016-08-18 08:09:22 +00:00
bors
9d6520f97b Auto merge of #35769 - eddyb:rollup, r=eddyb
Rollup of 12 pull requests

- Successful merges: #35346, #35734, #35739, #35740, #35742, #35744, #35749, #35750, #35751, #35756, #35766, #35768
- Failed merges:
2016-08-18 00:15:11 -07:00
Erik Uggeldahl
6976991569 Fix tiny spelling mistake in book
Changed datastructure to data structure
2016-08-18 02:03:42 -04:00
clementmiao
dae1406b82 updated E0396 to new error format 2016-08-17 22:45:21 -07:00
clementmiao
0dc13ee7f2 updated E0395 to new error format 2016-08-17 22:03:52 -07:00
Nick Cameron
683bcc0295 Use a Carrier trait with the ? operator
Allows use with `Option` and custom `Result`-like types.
2016-08-18 16:51:56 +12:00
Nick Cameron
e6cc4c5d13 Fix links 2016-08-18 15:43:35 +12:00
Nick Cameron
da1f7731f6 rustdoc: remove the ! from macro URLs and titles 2016-08-18 15:40:56 +12:00
Jeffrey Seyfried
fbc322975f Refactor out finalize_import() from resolve_import(). 2016-08-18 03:31:10 +00:00
Jeffrey Seyfried
165b0b618c Check privacy in resolve_name_in_module. 2016-08-18 03:22:48 +00:00
Jeffrey Seyfried
e1c9efcba4 Refactor value_determined -> value_result, type_determined -> type_result. 2016-08-18 03:22:48 +00:00
Jeffrey Seyfried
7608bbdea8 Refactor resolve_module_path to take an Option<Span> instead of a Span. 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
05afe15d1f Refactor record_used: bool -> record_used: Option<Span>. 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
75c3fd89d4 Refactor away the field arenas of ModuleS. 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
bfc98f59a4 Refactor away module.resolve_name(). 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
89de52eff0 Add field current_vis to Resolver. 2016-08-18 03:22:43 +00:00
Jeffrey Seyfried
c1362d8cc5 Clean up build_reduced_graph.rs. 2016-08-18 03:13:43 +00:00
Jeffrey Seyfried
37154ca95d Refactor unresolved_imports -> indeterminate_imports. 2016-08-18 03:13:42 +00:00
Jeffrey Seyfried
c64cd86be8 Add field parent to ImportDirective. 2016-08-18 03:13:41 +00:00
Jeffrey Seyfried
d107d22590 Refactor module.add_import_directive() -> resolver.add_import_directive(). 2016-08-18 03:13:39 +00:00
Eduard-Mihai Burtescu
d69cd7207b Rollup merge of #35770 - crypto-universe:E0221, r=jonathandturner
Updated test for E0221

As a part of issue #35233
?r @GuillaumeGomez
2016-08-18 06:12:23 +03:00
Eduard-Mihai Burtescu
d36b296cb6 Rollup merge of #35768 - GuillaumeGomez:err_codes, r=jonathandturner
Add new error code tests

r? @jonathandturner
2016-08-18 06:12:23 +03:00
Eduard-Mihai Burtescu
8ccc11b31b Rollup merge of #35765 - KiChjang:e0053-bonus, r=jonathandturner
Additional span info for E0053

Part of #35233.
Fixes #35212.

r? @jonathandturner
2016-08-18 06:12:23 +03:00
Eduard-Mihai Burtescu
c3601d40ec Rollup merge of #35756 - crypto-universe:E0407, r=GuillaumeGomez
New output for E0407

Issue #35697 as a part of #35233.
r? @GuillaumeGomez
2016-08-18 06:12:23 +03:00
Eduard-Mihai Burtescu
64c1aef5c8 Rollup merge of #35751 - nagisa:mir-scope-fix-again, r=eddyb
Fix the invalidation of the MIR early exit cache

~~The #34307 introduced a cache for early exits in order to help with O(n*m) explosion of cleanup blocks but the cache is invalidated incorrectly and I can’t seem to figure out why (caching is hard!)~~

~~Remove the cache for now to fix the immediate correctness issue and worry about the performance later.~~

Cache invalidation got fixed.

Fixes #35737

r? @nikomatsakis
2016-08-18 06:12:23 +03:00