Commit graph

11005 commits

Author SHA1 Message Date
mitaa
dcf7ac6f9a Fix and add tests regarding extern crate paths 2015-08-01 19:41:01 +02:00
bors
a8b7146f70 Auto merge of #27432 - sanxiyn:impl-dotdot, r=sfackler
Fix #27255.
2015-07-31 22:17:12 +00:00
Victor Berger
f9f9f509a0 Fix resolve tests and add some more.
The precedent resolve modification changed the order in which
imports are handled, so 2 tests needed to be updated.
2015-07-31 19:10:14 +02:00
Seo Sanghyeon
b5139c5c58 Fix impl A .. {} 2015-07-31 21:24:55 +09:00
bors
8d2eb5971a Auto merge of #27382 - brson:gate-assoc-type, r=alexcrichton
There are still problems in both the design and implementation of this, so we don't want it landing in 1.2.

cc @arielb1 @nikomatsakis 

cc #27364

r? @alexcrichton
2015-07-31 04:33:34 +00:00
Brian Anderson
4aaf1beffb Fix tests 2015-07-30 15:18:34 -07:00
Vadim Chugunov
6112b22078 Implement Win64 eh_personality natively. 2015-07-30 11:35:16 -07:00
bors
f97a82fd43 Auto merge of #27392 - pnkfelix:rename-xpretty-as-unpretty, r=jroesch
Rename the unstable option `--xpretty` to `--unpretty`

(Inspired by discussion with Gankro.)

Make sure this gets a low priority if it gets r-plussed!
2015-07-30 07:31:14 +00:00
bors
8b9ada5997 Auto merge of #27052 - wthrowe:atomic_send, r=Gankro
I think this was just missed when `Send` and `Sync` were redone, since it seems odd to not be able to use things like `Arc<AtomicPtr>`.  If it was intentional feel free to just close this.

I used another test as a template for writing mine, so I hope I got all the headers and stuff right.
2015-07-30 04:18:50 +00:00
Felix S. Klock II
e050fc21b9 Rename the unstable option --xpretty to --unpretty
(Inspired by discussion with Gankro.)
2015-07-30 01:33:38 +02:00
Brian Anderson
a09bce1047 Feature gate associated type defaults
There are multiple issues with them as designed and implemented.

cc #27364
2015-07-29 15:11:07 -07:00
bors
523ee8d37c Auto merge of #27353 - arielb1:parenthetical-error, r=steveklabnik
This also calls the right API, which e.g. prevents a suggestion
for #![feature(unboxed_closures)] on stable.

Fixes #26970 

r? @steveklabnik
2015-07-29 18:10:48 +00:00
bors
090ad6fde7 Auto merge of #27346 - dotdash:closure_dbg, r=michaelwoerister
Closure variables represent the closure environment, not the closure
function, so the identifier used to ensure that the debuginfo is unique
for each kind of closure needs to be based on the closure upvars and not
the function signature.
2015-07-29 16:28:59 +00:00
Steve Klabnik
033b886f8c Rollup merge of #27313 - nagisa:illegal-to-invalid, r=pnkfelix
Improves diagnostics in various locations, namely:

* A few error messages that orignally were a mix of an error message and suggestion how to fix it have been split up into two messages: an error and help/hint.
* Never report “illegal”. Fixes https://github.com/rust-lang/rust/issues/27288
2015-07-29 10:30:33 -04:00
bors
6fcf62831e Auto merge of #27349 - arielb1:constant-at, r=alexcrichton
Fixes #27033
Fixes #27077 

r? @alexcrichton
2015-07-29 08:23:04 +00:00
bors
d576ef3d7b Auto merge of #27261 - arielb1:drop-sanity-check, r=pnkfelix
This fixes multiple bugs, and as several of these are soundness issue, is a [breaking-change].

r? @pnkfelix
2015-07-29 06:47:55 +00:00
bors
68fc2d98d5 Auto merge of #27260 - alexcrichton:cap-lints, r=nrc
This commit is an implementation of [RFC 1193][rfc] which adds the ability to
the compiler to cap the lint level for the entire compilation session. This flag
will ensure that no lints will go above this level, and Cargo will primarily use
this flag passing `--cap-lints allow` to all upstream dependencies.

[rfc]: https://github.com/rust-lang/rfcs/pull/1193

Closes #27259
2015-07-29 02:04:38 +00:00
Alex Crichton
b345437c3c rustc: Add a --cap-lints flag to the compiler
This commit is an implementation of [RFC 1193][rfc] which adds the ability to
the compiler to cap the lint level for the entire compilation session. This flag
will ensure that no lints will go above this level, and Cargo will primarily use
this flag passing `--cap-lints allow` to all upstream dependencies.

[rfc]: https://github.com/rust-lang/rfcs/pull/1193

Closes #27259
2015-07-28 18:23:09 -07:00
Simonas Kazlauskas
cca0ea718d Replace illegal with invalid in most diagnostics 2015-07-29 01:59:31 +03:00
Simonas Kazlauskas
ffcdf0881b Improve typeck diagnostic messages
Mostly by splitting error messages into proper pairs of errors and helps
2015-07-29 01:57:24 +03:00
Simonas Kazlauskas
77e9228b4a Improve invalid recursive types diagnostic 2015-07-29 01:57:24 +03:00
bors
55ede7ed8e Auto merge of #27234 - oli-obk:move_get_name_get_ident_to_impl, r=eddyb
this has quite some fallout. but also made lots of stuff more readable imo

[breaking-change] for plugin authors
2015-07-28 21:14:28 +00:00
Ariel Ben-Yehuda
757b0c176f prohibit the lhs of an @-pattern being a constant
as this breaks code that worked under some conditions, this is a
[breaking-change]

Fixes #27033
Fixes #27077
2015-07-28 19:51:08 +03:00
Ariel Ben-Yehuda
bd01175234 clarify the parenthetical notation stability error message
This also calls the right API, which e.g. prevents a suggestion
for #![feature(unboxed_closures)] on stable.

Fixes #26970
2015-07-28 19:21:24 +03:00
Oliver Schneider
00a5e66f81 remove get_ident and get_name, make as_str sound 2015-07-28 18:07:20 +02:00
bors
661a5ad38e Auto merge of #26173 - pnkfelix:fsk-trans-nzmove-take3, r=nikomatsakis
Add dropflag hints (stack-local booleans) for unfragmented paths in trans.  Part of #5016.

Added code to maintain these hints at runtime, and to conditionalize drop-filling and calls to destructors.

In this early stage of my incremental implementation strategy, we are using hints, so we are always free to leave out a flag for a path -- then we just pass `None` as the dropflag hint in the corresponding schedule cleanup call. But, once a path has a hint, we must at least maintain it: i.e. if the hint exists, we must ensure it is never set to "moved" if the data in question might actually have been initialized. It remains sound to conservatively set the hint to "initialized" as long as the true drop-flag embedded in the value itself is up-to-date.

I hope the commit series has been broken up to be readable; most of the commits in the series should build (though I did not always check this).

----

Oh, I think this technically qualifies as a:
[breaking-change]
because it removes drop-filling in some cases where one could previously observe it. That should only affect `unsafe` code; no safe code should be able to inspect whether the drop-fill was present or not. For an example of code that needed to change to account for this, see commit a81c24ae0216ab47df59acd724f8a33124fb6d97 (a unit test of the `move_val_init` intrinsic).  I have not encountered actual code that needed to be updated to account for the change, since this should only be skipping the drop-filling on *moved* values, not on dropped one, and so even types that use `unsafe_no_drop_flag` should be unchanged by this particular PR. (Their time will come later.)
2015-07-28 15:15:00 +00:00
Felix S. Klock II
ff14eaf054 Revise intrinsic-move-val test to not require knowledge of whether filling drop is in use. 2015-07-28 16:15:05 +02:00
bors
ec49d01c88 Auto merge of #27330 - alexcrichton:reenable-lto-syntax-extension, r=huonw
The functionality this was testing was removed somewhere along the line, and
this commit restores what it was testing.

Closes #20586
2015-07-28 12:53:28 +00:00
Björn Steinbrink
218eccfa4e Fix de-deduplication for closure debuginfo
Closure variables represent the closure environment, not the closure
function, so the identifier used to ensure that the debuginfo is unique
for each kind of closure needs to be based on the closure upvars and not
the function signature.
2015-07-28 10:58:22 +02:00
bors
5b72fa42d4 Auto merge of #27309 - eddyb:snapshot-infdef, r=alexcrichton
FreeBSD i386 snapshot is missing, failed tests (possibly spurious).
r? @alexcrichton
2015-07-28 08:51:21 +00:00
bors
bbda6f9cca Auto merge of #27304 - alexcrichton:revert-picky-dllimport, r=brson
This reverts commit a0efd3a3d9.

This commit caused a lot of unintended breakage for many Cargo builds. The problem is that Cargo compiles build scripts with `-C prefer-dynamic`, so the standard library is always dynamically linked and hence any imports need to be marked with `dllimport`. Dependencies of build scripts, however, were compiled as rlibs and did not have their imports tagged with `dllimport`, so build scripts would fail to link.

While known that this situation would break, it was unknown that it was a common scenario in the wild. As a result I'm just reverting these heuristics for now.
2015-07-27 18:09:22 +00:00
Alex Crichton
f01119c221 test: Fix lto-syntax-extension
The functionality this was testing was removed somewhere along the line, and
this commit restores what it was testing.

Closes #20586
2015-07-27 10:42:04 -07:00
Eduard Burtescu
cc09b1a08c Turn on box(PLACE) expr deprecation warning post-snapshot. 2015-07-27 18:11:43 +03:00
bors
d019a49ac8 Auto merge of #27315 - eefriedman:improper-ctypes-void-ret, r=alexcrichton
Fixes issue #27302.
2015-07-27 11:49:45 +00:00
Eli Friedman
21b514ff30 In improper-ctypes lint, handle functions which explicitly return ().
Fixes issue #27302.
2015-07-26 19:21:53 -07:00
Eduard Burtescu
c46f913244 typeck: handle unsized structs in type hints by recursing into their last field. 2015-07-27 00:31:08 +03:00
bors
cf7e825ecd Auto merge of #27272 - eefriedman:closure-const-crash, r=nikomatsakis
Fixes issue #27268.

r? @nikomatsakis
2015-07-26 17:51:30 +00:00
Alex Crichton
316e1b0d41 Revert "trans: Be a little more picky about dllimport"
This reverts commit a0efd3a3d9.
2015-07-26 10:19:11 -07:00
bors
a5c12f4e39 Auto merge of #26870 - jroesch:default-typaram-fallback, r=nikomatsakis
This PR completes [RFC 213](https://github.com/rust-lang/rfcs/blob/master/text/0213-defaulted-type-params.md) by allowing default type parameters to influence inference. This is almost certainly a breaking change due to interactions between default type parameters and the old fallback algorithm used for integral and floating point literals.

The error messages still require polish but I wanted to get early review and feedback from others on the the changes, error messages, and test cases. I also imagine we will want to run anywhere from 1-3 versions of this on crater and evaluate the impact, and it would be best to get that ball rolling. 

The only outstanding issue I'm aware of is that type alias defaults don't work. It seems this may require significant restructuring, since during inference type aliases have already been expanded. @nikomatsakis might be able to provide some clarity here.

r? @nikomatsakis 

cc @eddyb @Gankro @aturon @brson
2015-07-26 10:39:18 +00:00
bors
9a196aa173 Auto merge of #27283 - arielb1:free-self-2, r=eddyb
Fixes #27281

r? @eddyb
2015-07-26 07:58:43 +00:00
Jared Roesch
55621b6199 Add feature gate 2015-07-25 20:05:42 -07:00
Jared Roesch
9da04b2bd1 Make default error reporting deterministic 2015-07-25 19:57:59 -07:00
Jared Roesch
d732f7323b Add cross-crate error message tests 2015-07-25 19:57:59 -07:00
Jared Roesch
ed3fbba797 Fix error message spans 2015-07-25 19:57:59 -07:00
Jared Roesch
e85787102f Clean up test cases 2015-07-25 19:57:58 -07:00
Jared Roesch
49eb2c6763 Remove defaults table and attach defaults directly to tyvars 2015-07-25 19:57:58 -07:00
Jared Roesch
bbdca2c8ad Correctly collect defaults from type alises in astconv 2015-07-25 19:57:57 -07:00
Jared Roesch
bbcb13da88 Implement Default TyParam fallback
This patch allows type parameter defaults to influence type inference. This is a possible breaking change since it effects the way type inference works and will have different behavior when mixing defaults and literal fallback.
2015-07-25 19:57:57 -07:00
Ariel Ben-Yehuda
11aa8756c1 Substitute free lifetimes in Self::T
Fixes #27281
2015-07-25 21:25:51 +03:00
bors
7276d8b761 Auto merge of #27258 - nikomatsakis:issue-26952, r=eddyb
Correct regression in type-inference caused by failing to reconfirm that
the object trait matches the required trait during trait selection.  The
existing code was checking that the object trait WOULD match (in a
probe), but never executing the match outside of a probe.

This corrects various regressions observed in the wild, including
issue #26952. Fixes #26952.

r? @eddyb 
cc @frankmcsherry
2015-07-25 18:16:51 +00:00