4456 Commits

Author SHA1 Message Date
bors
0ffc682975 Auto merge of #28790 - arielb1:unsafe-coerce, r=eddyb
Fixes #28776

r? @eddyb
2015-10-02 03:28:57 +00:00
Ariel Ben-Yehuda
0706ac0fae use the *adjusted* callee type in effect checking
Fixes #28776
2015-10-01 16:06:50 +03:00
Ariel Ben-Yehuda
c01e0502e7 check upvars in closures that are in statics
Fixes #27890
Fixes #28099
Fixes #28113
2015-10-01 15:22:57 +03:00
Ariel Ben-Yehuda
9a86713166 don't crash when there are multiple conflicting implementations of Drop
Fixes #28568
2015-09-26 23:14:26 +03:00
Ariel Ben-Yehuda
346088b555 show each object-safety violation once
different supertraits can suffer from the same object-safety violation,
leading to duplication in the error message. Avoid it.

Fixes #20692
2015-09-26 21:49:54 +03:00
Ariel Ben-Yehuda
fe6ad097c6 deduplicate trait errors before they are displayed
Because of type inference, duplicate obligations exist and cause duplicate
errors. To avoid this, only display the first error for each (predicate,span).

The inclusion of the span is somewhat bikesheddy, but *is* the more
conservative option (it does not remove some instability, as duplicate
obligations are ignored by `duplicate_set` under some inference conditions).

Fixes #28098
cc #21528 (is it a dupe?)
2015-09-26 21:13:31 +03:00
bors
9169e6c53c Auto merge of #28629 - arielb1:supertrait-self, r=eddyb
Fixes #28576

r? @eddyb
2015-09-26 13:03:08 +00:00
bors
78ce46ffdd Auto merge of #28612 - gandro:targetvendor, r=alexcrichton
This adds a new target property, `target_vendor`. It is to be be used as a matcher for conditional compilation. The vendor is part of the [autoconf target triple](http://llvm.org/docs/doxygen/html/classllvm_1_1Triple.html#details): `<arch><sub>-<vendor>-<os>-<env>`. `arch`, `target_os` and `target_env` are already supported by Rust.

This change was suggested in PR #28593. It enables conditional compilation based on the vendor. This is needed for the rumprun target, which needs to match against both, target_os and target_vendor.

The default value for `target_vendor` is "unknown", "apple" and "pc" are other common values.

Matching against the `target_vendor` is introduced behind the feature gate `#![feature(cfg_target_vendor)]`.

This is the first time I messed around with rustc internals. I just added the my code where I found the existing `target_*` variables, hopefully I haven't missed anything. Please review with care. :)

r? @alexcrichton
2015-09-26 00:14:39 +00:00
bors
5ca60d9431 Auto merge of #28608 - eddyb:no-place-for-an-old-box, r=pnkfelix
While this is technically a [breaking-change], there is no excuse for touching `HEAP`.
r? @pnkfelix
2015-09-24 20:42:56 +00:00
Ariel Ben-Yehuda
77e8f33c3d early-prohibit objects with Self-containing supertraits
Fixes #28576
2015-09-24 18:27:29 +03:00
Eduard Burtescu
f293ea28b4 Remove the deprecated box(PLACE) syntax. 2015-09-24 18:00:08 +03:00
Sebastian Wicki
af68cdfea1 rustc: Add target_vendor for target triples
This adds a new target property, `target_vendor` which can be used as a
matcher for conditional compilation. The vendor is part of the autoconf
target triple: <arch><sub>-<vendor>-<os>-<env>

The default value for `target_vendor` is "unknown".

Matching against the `target_vendor` with `#[cfg]` is currently feature
gated as `cfg_target_vendor`.
2015-09-24 01:44:55 +02:00
bors
4f15e465e5 Auto merge of #28596 - sanxiyn:dedup-unused, r=alexcrichton
Fix #22599.
2015-09-23 21:41:09 +00:00
Seo Sanghyeon
54792febe0 Do not traverse RHS of assignment twice for unused variables lint
walk_expr includes call to visit_expr for subexpressions.
2015-09-23 11:52:37 +09:00
bors
ad82e0ac18 Auto merge of #28504 - Eljay:fix-trait-privacy, r=nrc
Fixes #16264 / #18241.

As far as I can tell, it should be impossible for a trait to be inaccessible if it's in scope, so this check is unnecessary. Are there any cases where this check is actually needed?
2015-09-22 22:42:00 +00:00
Lee Jeffery
b3e1aca40f Add UFCS privacy test. 2015-09-22 09:06:43 +01:00
bors
e9d2587766 Auto merge of #28364 - petrochenkov:usegate, r=alexcrichton
Closes https://github.com/rust-lang/rust/issues/28075
Closes https://github.com/rust-lang/rust/issues/28388

r? @eddyb 
cc @brson
2015-09-22 01:12:26 +00:00
bors
aed5c3a1c8 Auto merge of #28532 - Eljay:misc-fixes, r=bluss
As the title says, just cleaning up some old stuff.
2015-09-20 13:39:57 +00:00
Lee Jeffery
140e2d3a09 Miscellaneous cleanup for old issues. 2015-09-20 11:37:08 +01:00
bors
25aaeb40b1 Auto merge of #28529 - Manishearth:rollup, r=Manishearth
- Successful merges: #28463, #28507, #28522, #28525, #28526
- Failed merges:
2015-09-20 07:32:46 +00:00
Manish Goregaokar
fb690c7af6 Rollup merge of #28522 - apasel422:issue-28091, r=alexcrichton
Closes #28091.

r? @huonw
2015-09-20 11:16:27 +05:30
bors
fd38a75077 Auto merge of #28503 - marcusklaas:pub-extern, r=alexcrichton
Fixes https://github.com/rust-lang/rust/issues/28472.
2015-09-20 05:44:45 +00:00
bors
fbce4503f8 Auto merge of #28519 - wthrowe:fixup-28321, r=alexcrichton
I assume the expected error changed during the development of pull
request #28321 and that wasn't noticed because the test was
accidentally not running.

r? @nikomatsakis
2015-09-20 03:57:13 +00:00
Andrew Paseltiner
6fa0ff25bd Feature-gate #[no_debug] and #[omit_gdb_pretty_printer_section]
Closes #28091.
2015-09-19 19:39:25 -04:00
bors
783c3fcc1e Auto merge of #28345 - japaric:op-assign, r=nmatsakis
Implements overload-able augmented/compound assignments, like `a += b` via the `AddAssign` trait, as specified in RFC [953]

[953]: https://github.com/rust-lang/rfcs/blob/master/text/0953-op-assign.md

r? @nikomatsakis
2015-09-19 21:19:29 +00:00
William Throwe
a51ae514ab Move test to the right directory and make it pass
I assume the expected error changed during the development of pull
request #28321 and that wasn't noticed because the test was
accidentally not running.
2015-09-19 13:54:42 -04:00
Vadim Petrochenkov
b44cb01bd7 Don't use std in stability tests 2015-09-19 12:16:30 +03:00
bors
d97be7bd70 Auto merge of #28486 - nrc:pub-extern-crate, r=alexcrichton
Temporary 'fix' for #26775

r? @brson
2015-09-19 04:51:13 +00:00
Jorge Aparicio
f5569ecd76 address Niko's comments 2015-09-18 21:36:40 -05:00
Jorge Aparicio
3ae3a5fc3c Overloaded augmented assignments 2015-09-18 21:20:15 -05:00
bors
2915f89167 Auto merge of #28468 - nagisa:revert-negate-unsigned-warning, r=alexcrichton
This reverts commit 0ca8e4994ee43ba9dfbded6e129b30ff5fe7a994.

Fixes #27141
2015-09-19 01:59:56 +00:00
Marcus Klaas
e2f3e3ac4f Include visibility modifier in span of foreign item 2015-09-19 00:34:04 +02:00
bors
72a10fa1d3 Auto merge of #28442 - nagisa:remove-enum-vis-field, r=alexcrichton
Followup on #28440 

Do not merge before the referenced PR is merged. I will fix the PR once that is merged (or close if it is not)
2015-09-18 18:51:04 +00:00
Simonas Kazlauskas
5104a93a0d Revert "Convert negate_unsigned feature gate to a warning"
This reverts commit 0ca8e4994ee43ba9dfbded6e129b30ff5fe7a994 and fixes the code to work with
current rustc.

Fixes #27141
2015-09-18 20:22:16 +03:00
Vadim Petrochenkov
1eb42f1c78 Add feature gate 2015-09-18 15:28:01 +03:00
Vadim Petrochenkov
5fa6e857c9 Implement empty struct with braces (RFC 218) 2015-09-18 15:26:08 +03:00
Nick Cameron
269c59d341 Warn on pub extern crate.
Temporary 'fix' for #26775
2015-09-18 18:07:05 +12:00
Andrew Paseltiner
83b5370d5d Add tests for #23543, #23544
Closes #23543.
Closes #23544.
2015-09-17 09:33:41 -04:00
Vadim Petrochenkov
c3f53d1b12 Resolve prefix in imports with empty braces 2015-09-17 14:13:14 +03:00
Vadim Petrochenkov
357982fae4 Workaround for imports with empty braces 2015-09-17 14:13:13 +03:00
Vadim Petrochenkov
50e42ea9f7 Correctly walk import lists in AST visitors 2015-09-17 14:13:12 +03:00
bors
89faafcd67 Auto merge of #28381 - ebfull:aint-fraid-a-no-ghosts-redux, r=me
#27483 redux at Gankro's request.

Fixes #26905, Closes #28239

r? @nrc
2015-09-17 10:11:23 +00:00
Simonas Kazlauskas
a9cb51cf0c Fix test expectations because of #28439 2015-09-17 12:47:03 +03:00
Aleksey Kladov
e3be84c6c8 libsyntax: forbid visibility modifiers for enum variants
fixes #28433
2015-09-17 10:02:08 +03:00
bors
6c18dd597f Auto merge of #28438 - apasel422:issue-22872, r=alexcrichton
The original issue was not fixed, but the test passed due to disabled debug assertions.
2015-09-17 05:44:29 +00:00
Nick Cameron
a642d853aa Change to a multi-trait approach
[breaking-change] for lint authors

You must now implement LateLintPass or EarlyLintPass as well as LintPass and use either register_late_lint_pass or register_early_lint_pass, rather than register_lint_pass.
2015-09-17 12:16:46 +12:00
Nick Cameron
c1084a3ada Changes to tests 2015-09-17 12:16:46 +12:00
Andrew Paseltiner
f5b69b3d9c Remove incorrect test for #22872
The original issue was not fixed, but the test passed due to disabled
debug assertions.
2015-09-16 11:44:41 -04:00
bors
7161530fc4 Auto merge of #28406 - petrochenkov:primitive, r=eddyb
This was missing from https://github.com/rust-lang/rust/pull/27451

r? @eddyb
2015-09-15 11:35:11 +00:00
bors
a7b3eed750 Auto merge of #28395 - ebfull:fix-associated-item-resolution, r=arielb1
Fixes #28344
2015-09-15 06:25:38 +00:00