Commit graph

13968 commits

Author SHA1 Message Date
Liigo
93cdce4cf3 rustdoc: don't collapse docblock-short 2016-09-09 12:28:37 +08:00
Vadim Petrochenkov
aadbcffb7c Issue deprecation warnings for safe accesses to extern statics 2016-09-09 01:07:01 +03:00
bors
ea45edf0ee Auto merge of #35745 - jroesch:soundness-fix-29859, r=nikomatsakis
Fix soundness bug described in #29859

This is an attempt at fixing the problems described in #29859 based on an IRC conversation between @nikomatsakis and I today. I'm waiting on a full build to come back, otherwise both tests trigger the correct error.
2016-09-08 10:40:31 -07:00
bors
0b02ae02bb Auto merge of #36316 - jseyfried:custom_derive_internal_unstable, r=eddyb
Avoid instaiblity errors in code generated by `syntax_ext::deriving::call_intrinsic()`

r? @eddyb
2016-09-08 01:44:51 -07:00
Jared Roesch
a25428269d Fix duplicate error code 2016-09-07 17:22:19 -07:00
bors
9627e9ef6e Auto merge of #36266 - Sawyer47:issue-35169, r=alexcrichton
rustdoc: Filter more incorrect methods inherited through Deref

Old code filtered out only static methods. This code also excludes &mut self methods if there is no DerefMut implementation.

Fixes #35169
2016-09-07 12:30:03 -07:00
bors
cf0cdc452b Auto merge of #36304 - TimNN:fix-36299, r=eddyb
re-add accidentally removed line in wfcheck

Fixes #36299, introduced in #36119.

r? @eddyb
2016-09-07 09:15:30 -07:00
bors
f707582a43 Auto merge of #36289 - euclio:self-suggestion, r=jseyfried
resolve: Suggest `use self` when import resolves

Improves errors messages by replacing "Maybe a missing `extern crate`" messages
with "Did you mean `self::...`" when the `self` import would succeed.

Fixes #34191.

Thank you for the help @jseyfried!
2016-09-07 05:59:50 -07:00
Jeffrey Seyfried
d6ea10ec76 Add regression test. 2016-09-07 07:38:29 +00:00
bors
fe278a8a32 Auto merge of #36252 - joshtriplett:union-field-never-used, r=sanxiyn
Fix "field is never used" warning to take unions into account

When compiling code containing a union with an unused field, rustc says
"struct field is never used".

Rather than saying "struct or union", or adding logic to determine the
type of the item, just change the message to "field is never used",
dropping the "struct".

Update tests accordingly.
2016-09-06 20:06:34 -07:00
bors
3b272bf310 Auto merge of #36303 - jonathandturner:rollup, r=jonathandturner
Rollup of 8 pull requests

- Successful merges: #36121, #36128, #36241, #36243, #36263, #36267, #36273, #36298
- Failed merges:
2016-09-06 16:45:41 -07:00
bors
923bac4596 Auto merge of #36025 - michaelwoerister:incr-comp-hash-spans, r=nikomatsakis
incr. comp.: Take spans into account for ICH

This PR makes the ICH (incr. comp. hash) take spans into account when debuginfo is enabled.

A side-effect of this is that the SVH (which is based on the ICHs of all items in the crate) becomes sensitive to the tiniest change in a code base if debuginfo is enabled. Since we are not trying to model ABI compatibility via the SVH anymore (this is done via the crate disambiguator now), this should be not be a problem.

Fixes #33888.
Fixes #32753.
2016-09-06 13:22:35 -07:00
Tim Neumann
d8c58d40ef re-add accidentally removed line 2016-09-06 18:53:43 +02:00
Jonathan Turner
c0e5a777d4 Rollup merge of #36267 - Cobrand:E0559, r=jonathandturner
Updated E0559 to new format

Refactored a method that printed one suggested field name,
into a method that returns an `Option` of a suggestion

(Updated test cases accordingly)

r? @jonathandturner

Closes #36197
2016-09-06 09:38:03 -07:00
Jonathan Turner
4f74f837b6 Rollup merge of #36128 - gavinb:error_msgs_p2, r=jonathandturner
Update Error format for E0516, E0517, E0518

- E0518 Update error format #36111
- E0517 Update error format #36109
- E0516 Update error format #36108
- Part of #35233

r? @jonathandturner
2016-09-06 09:38:02 -07:00
Jonathan Turner
613f35051f Rollup merge of #36121 - Cobrand:master, r=jonathandturner
Updated E0527 to new error format

* Closes #36113
2016-09-06 09:38:01 -07:00
bors
5114f8a29b Auto merge of #36276 - jseyfried:fix_unused, r=nrc
resolve: Fix unused import false positive with `item_like_imports`

Fixes #36249.
r? @nrc
2016-09-06 01:44:13 -07:00
bors
1d04201565 Auto merge of #36078 - ollie27:rustdoc_search_assocconst, r=alexcrichton
rustdoc: Fix associated consts in search results

Associated consts can appear in none trait impls so need to be treated
like methods when generating the search index.

Fixes #36031
2016-09-05 22:32:36 -07:00
Jeffrey Seyfried
07f8cb28dc Add regression test. 2016-09-06 03:43:21 +00:00
Andy Russell
288e7caf19 show self suggestion when items are in the block 2016-09-05 23:08:21 -04:00
Andy Russell
41ee2e9124 resolve: Suggest use self when import resolves
Improves errors messages by replacing "Maybe a missing `extern crate`" messages
with "Did you mean `self::...`" when the `self` import would succeed.
2016-09-05 21:48:02 -04:00
bors
e1d0de82cc Auto merge of #36274 - Manishearth:rollup, r=Manishearth
Rollup of 6 pull requests

- Successful merges: #35845, #35983, #36065, #36102, #36242, #36245
- Failed merges:
2016-09-05 17:55:45 -07:00
bors
38824d1061 Auto merge of #36281 - pnkfelix:fix-issue-36036, r=eddyb
Fix issue #36036.

Fix #36036.

We were treating an associated type as unsized even when the concrete instantiation was actually sized. Fix is to normalize before checking if it is sized.
2016-09-05 11:28:36 -07:00
Piotr Jawniak
915bbdac58 rustdoc: Filter more incorrect methods inherited through Deref
Old code filtered out only static methods. This code also excludes
&mut self methods if there is no DerefMut implementation
2016-09-05 20:24:55 +02:00
Cobrand
e8c5dc4806 Updated E0527 to new error format
* Closes #36113
2016-09-05 19:28:52 +02:00
Josh Triplett
046c7f2368 Add test for unused field in union 2016-09-05 10:19:00 -07:00
bors
3f50b6342d Auto merge of #36200 - mattico:fix-llvm-linkage, r=arielb1
Fix incorrect LLVM Linkage enum

Followup of #33994 to actually work.

The `Linkage` enum in librustc_llvm got out of sync with the version in LLVM and it caused two variants of the `#[linkage=""]` attribute to break.

This adds the functions `LLVMRustGetLinkage` and `LLVMRustSetLinkage` which convert between the Rust Linkage enum and the LLVM one, which should stop this from breaking every time LLVM changes it.

Possible remaining concerns:

1. There could be a codegen test to make sure that the attributes are applied correctly (I don't know how to do this).
2. ~~The test does not exercise the `appending` linkage. I can't figure out how to make a global static raw pointer to an array. This might not even be possible? If not we should probably remove appending linkage as its unusable in rust.~~ Appending linkage is not 'emittable' anyway.
3. The test only runs on Linux.

Fixes #33992

r? @alexcrichton
2016-09-05 08:13:32 -07:00
Gavin Baker
cd56d47da3 E0518 Update error format #36111
- Fixes #36111
- Part of #35233
2016-09-06 00:21:04 +10:00
Gavin Baker
8bcd6a33be E0517 Update error format #36109
- Fixes #36109
- Part of #35233
2016-09-06 00:20:56 +10:00
Gavin Baker
d53ea97bfc E0516 Update error format #36108
- fixes #36108
- part of #35233
2016-09-05 23:07:50 +10:00
Felix S. Klock II
09e6a98380 Fix issue #36036.
We were treating an associated type as unsized even when the concrete
instantiation was actually sized. Fix is to normalize before checking
if it is sized.
2016-09-05 12:57:00 +02:00
Manish Goregaokar
b16fbeb8c1 Rollup merge of #36065 - acrrd:new_format_E0496, r=GuillaumeGomez
Update E0496 to new format

Fixes #36000.
Part of #35233.

r? @GuillaumeGomez
2016-09-05 14:53:08 +08:00
Manish Goregaokar
75e3bc3bd8 Rollup merge of #35983 - GuillaumeGomez:e0060_bonus, r=jonathandturner
E0060 and E0061 improvement

Fixes #35290.

r? @jonathandturner
2016-09-05 14:53:08 +08:00
Matt Ickstadt
b9a8c1a063 Fix incorrect LLVM Linkage enum
The `Linkage` enum in librustc_llvm got out of sync with the version in LLVM and it caused two variants of the #[linkage=""] attribute to break.

This adds the functions `LLVMRustGetLinkage` and `LLVMRustSetLinkage` which convert between the Rust Linkage enum and the LLVM one, which should stop this from breaking every time LLVM changes it.

Fixes #33992
2016-09-04 16:12:01 -05:00
bors
91f057de35 Auto merge of #36203 - petrochenkov:uvsdot, r=nrc
Replace `_, _` with `..` in patterns

This is how https://github.com/rust-lang/rust/issues/33627 looks in action.

Looks especially nice in leftmost/rightmost positions `(first, ..)`/`(.., last)`.
I haven't touched libsyntax intentionally because the feature is still unstable.
2016-09-04 14:03:01 -07:00
Cobrand
1aa777b51f Updated E0559 to new format
Refactored a method that printed one suggested field name,
into a method that returns an `Option` of a suggestion

Updated test cases accordingly
2016-09-04 22:21:32 +02:00
Manish Goregaokar
43440a4a6e Rollup merge of #36212 - razielgn:updated-e0493-to-new-format, r=jonathandturner
Updated e0493 to new format (+ bonus).

Part of #35233.
Fixes #35999.

r? @jonathandturner

I'm not satisfied with the bonus part, there has to be an easier way to reach into the `Drop`'s span implementation. I'm all ears. :)
2016-09-04 21:00:59 +08:00
Manish Goregaokar
8d64649982 Rollup merge of #36132 - nrc:save-std, r=@eddyb
Add --Zsave-analysis-api

This is a save-analysis variation which can be used with libraries distributed without their source (e.g., libstd). It will allow IDEs and other tools to get info about types and create URLs to docs and source, without the unnecessary clutter of internal-only save-analysis info. I'm sure we'll iterate somewhat on the design, but this is a first draft.
2016-09-04 18:02:53 +08:00
Manish Goregaokar
4b889154e1 Rollup merge of #36070 - gavinb:master, r=jonathandturner
Update error format for E0458, E0459

Fixes #35933, #35932
Part of #35233

r? @jonathandturner
2016-09-04 18:02:53 +08:00
bors
e77d86c142 Auto merge of #36132 - nrc:save-std, r=@eddyb
Add --Zsave-analysis-api

This is a save-analysis variation which can be used with libraries distributed without their source (e.g., libstd). It will allow IDEs and other tools to get info about types and create URLs to docs and source, without the unnecessary clutter of internal-only save-analysis info. I'm sure we'll iterate somewhat on the design, but this is a first draft.
2016-09-04 02:40:31 -07:00
Vadim Petrochenkov
e05e74ac83 Replace _, _ with .. 2016-09-04 12:30:33 +03:00
Vadim Petrochenkov
6f7e51e49b Replace _, _, _ with .. 2016-09-04 12:27:01 +03:00
Guillaume Gomez
1eda14e4c9 E0060 and E0061 improvement 2016-09-04 01:34:11 +02:00
Josh Triplett
fe8438d4a2 Fix "field is never used" warning to take unions into account
Rather than saying "struct or union" or adding logic to determine the
type of the item, just change the message to "field is never used",
dropping the "struct".

Update tests accordingly.
2016-09-03 15:29:16 -07:00
bors
70598e04f9 Auto merge of #36119 - arielb1:ctp-again, r=eddyb
fix broken type parameter indexing logic in wfcheck

r? @eddyb

Fixes #36075
2016-09-03 14:31:42 -07:00
Vadim Petrochenkov
436cfe5653 Fix type encoding/decoding for unions
Fix union debuginfo test on lldb
2016-09-03 13:39:35 +03:00
Vadim Petrochenkov
93067ca089 Address comments and add requested tests 2016-09-03 13:39:35 +03:00
Vadim Petrochenkov
e67c2282af Fix rebase, fix some tests 2016-09-03 13:39:35 +03:00
Vadim Petrochenkov
5f975e969b Support unions in borrow checker
Add some more tests
2016-09-03 13:39:35 +03:00
Vadim Petrochenkov
59ccb7b6db Support deriving some traits for unions 2016-09-03 13:39:35 +03:00