]> git.lizzy.rs Git - rust.git/log
rust.git
7 years agoTurn public reexporting of private extern crates into a lint again
Vadim Petrochenkov [Sun, 21 May 2017 12:50:38 +0000 (15:50 +0300)]
Turn public reexporting of private extern crates into a lint again

7 years agoTurn sufficiently old compatibility lints into hard errors
Vadim Petrochenkov [Sun, 21 May 2017 11:11:08 +0000 (14:11 +0300)]
Turn sufficiently old compatibility lints into hard errors

7 years agoAuto merge of #42311 - bjorn3:patch-1, r=frewsxcv
bors [Tue, 30 May 2017 12:38:57 +0000 (12:38 +0000)]
Auto merge of #42311 - bjorn3:patch-1, r=frewsxcv

Syntax highlight all rust code in librustc/traits/README.md

Also replace `...` with `/*...*/`

7 years agoSyntax highlight all rust code in librustc/traits/README.md
bjorn3 [Tue, 30 May 2017 12:37:19 +0000 (14:37 +0200)]
Syntax highlight all rust code in librustc/traits/README.md

Also replace `...` with `/*...*/`

7 years agoAuto merge of #42283 - Mark-Simulacrum:issue-40341, r=pnkfelix
bors [Tue, 30 May 2017 05:01:10 +0000 (05:01 +0000)]
Auto merge of #42283 - Mark-Simulacrum:issue-40341, r=pnkfelix

Add note regarding parent module containing use statement.

Fixes #40341.

7 years agoAuto merge of #42282 - Mark-Simulacrum:issue-40342, r=arielb1
bors [Tue, 30 May 2017 02:38:18 +0000 (02:38 +0000)]
Auto merge of #42282 - Mark-Simulacrum:issue-40342, r=arielb1

Don't warn on lifetime generic no_mangle functions.

Fixes #40342.

7 years agoAuto merge of #42180 - GuillaumeGomez:update-rustdoc-man, r=QuietMisdreavus
bors [Tue, 30 May 2017 00:18:23 +0000 (00:18 +0000)]
Auto merge of #42180 - GuillaumeGomez:update-rustdoc-man, r=QuietMisdreavus

Update rustdoc man page

r? @rust-lang/docs
r? @rust-lang/dev-tools

7 years agoAuto merge of #42264 - GuillaumeGomez:new-error-codes, r=Susurrus
bors [Mon, 29 May 2017 21:55:57 +0000 (21:55 +0000)]
Auto merge of #42264 - GuillaumeGomez:new-error-codes, r=Susurrus

New error codes

Part of #42229.

7 years agoAuto merge of #42214 - RalfJung:rust-src, r=alexcrichton
bors [Mon, 29 May 2017 19:31:03 +0000 (19:31 +0000)]
Auto merge of #42214 - RalfJung:rust-src, r=alexcrichton

rust-src: include everything needed to compile libstd with jemalloc

I am not very happy about all this `Path::new`, but did not find a nice way to avoid it. Also, this shouldn't be very performance-critical.

With this patch, rust-src-1.19.0-dev.tar.gz grows from 1.4 to 3.1 MiB (new uncompressed size: 15.5 MiB). Not great, but shipping incomplete sources is also not great, and this is still much smaller than pre-#41546. Excluding the entire `src/jemalloc/test` does not work, unfortunately; there is a file in there that is needed to build libstd. (And anyway there's just 190 KiB uncompressed left in that folder.)

In principle, we could try excluding the Rust test suite directories (that would be `libcore/tests` and `libcollection/tests`). I don't know enough about how this component is used to judge whether that would cause any problems. Anyway this is just 600 KiB uncompressed.

Fixes #41952

7 years agoAuto merge of #42192 - michaelwoerister:no_deptracking_map_in_queries, r=nikomatsakis
bors [Mon, 29 May 2017 17:10:08 +0000 (17:10 +0000)]
Auto merge of #42192 - michaelwoerister:no_deptracking_map_in_queries, r=nikomatsakis

incr.comp.: Remove DepGraph::write() and its callers

After months of yak shaving, we are finally there `:)`

The existence of `DepGraph::write()` was one of the two main ways for introducing cycles into the dep-graph -- something we need to avoid in the future. The other way, re-opening nodes to add more edges, is next on the list.

r? @nikomatsakis

7 years agoAuto merge of #41856 - qnighy:prohibit-parenthesized-params-in-more-types, r=arielb1
bors [Mon, 29 May 2017 11:32:14 +0000 (11:32 +0000)]
Auto merge of #41856 - qnighy:prohibit-parenthesized-params-in-more-types, r=arielb1

Prohibit parenthesized params in more types.

Prohibit parenthesized parameters in primitive types, type parameters, `Self`, etc.

Fixes #32995.

7 years agoRemove DepGraph::write() and its callers.
Michael Woerister [Tue, 16 May 2017 16:48:42 +0000 (18:48 +0200)]
Remove DepGraph::write() and its callers.

7 years agoAuto merge of #42262 - Mark-Simulacrum:issue-40350, r=eddyb
bors [Mon, 29 May 2017 09:04:08 +0000 (09:04 +0000)]
Auto merge of #42262 - Mark-Simulacrum:issue-40350, r=eddyb

Don't ICE with nested enums in missing docs lint.

Fixes #40350.

7 years agoUpdate rustdoc man page
Guillaume Gomez [Tue, 23 May 2017 19:22:51 +0000 (21:22 +0200)]
Update rustdoc man page

7 years agorust-src: include everything needed to compile libstd with jemalloc
Ralf Jung [Thu, 25 May 2017 01:31:05 +0000 (18:31 -0700)]
rust-src: include everything needed to compile libstd with jemalloc

7 years agoAuto merge of #42246 - alexcrichton:update-cargo, r=nikomatsakis
bors [Mon, 29 May 2017 03:37:28 +0000 (03:37 +0000)]
Auto merge of #42246 - alexcrichton:update-cargo, r=nikomatsakis

Updated locked version of libgit2

This should include a fix for rust-lang/cargo#4091 with an updated version of
libgit2.

Closes rust-lang/cargo#4091

7 years agoAuto merge of #42218 - venkatagiri:update_cross, r=alexchrichton
bors [Sun, 28 May 2017 22:15:10 +0000 (22:15 +0000)]
Auto merge of #42218 - venkatagiri:update_cross, r=alexchrichton

use shared scripts for init and sccache in cross image

cc #42201
cc @malbarbo

7 years agoAdd note regarding parent module containing use statement.
Mark Simulacrum [Sun, 28 May 2017 14:28:21 +0000 (08:28 -0600)]
Add note regarding parent module containing use statement.

7 years agoUpdated locked version of libgit2
Alex Crichton [Fri, 26 May 2017 14:46:41 +0000 (07:46 -0700)]
Updated locked version of libgit2

This should include a fix for rust-lang/cargo#4091 with an updated version of
libgit2.

Closes rust-lang/cargo#4091

7 years agoAuto merge of #42175 - michaelwoerister:filemap-hashing-fix-1, r=nikomatsakis
bors [Sun, 28 May 2017 16:47:17 +0000 (16:47 +0000)]
Auto merge of #42175 - michaelwoerister:filemap-hashing-fix-1, r=nikomatsakis

incr.comp.: Track expanded spans instead of FileMaps.

This PR removes explicit tracking of FileMaps in response to #42101. The reasoning behind being able to just *not* track access to FileMaps is similar to why we don't track access to the `DefId->DefPath` map:
1. One can only get ahold of a `Span` value by accessing the HIR (for local things) or a `metadata::schema::Entry` (for things from external crates).
2. For both of these things we compute a hash that incorporates the *expanded spans*, that is, what we hash is in the (FileMap independent) format `filename:line:col`.
3. Consequently, everything that emits a span should already be tracked via its dependency to something that has the span included in its hash and changes would be detected via that hash.

One caveat here is that we have to be conservative when exporting things in metadata. A crate can be built without debuginfo and would thus by default not incorporate most spans into the metadata hashes. However, a downstream crate can make an inline copy of things in the upstream crate and span changes in the upstream crate would then go undetected, even if the downstream uses them (e.g. by emitting debuginfo for an inlined function). For this reason, we always incorporate spans into metadata hashes for now (there might be more efficient ways to handle this safely when red-green tracking is implemented).

r? @nikomatsakis

7 years agoAuto merge of #42167 - scottmcm:iter-stepby-sizehint, r=alexcrichton
bors [Sun, 28 May 2017 14:26:52 +0000 (14:26 +0000)]
Auto merge of #42167 - scottmcm:iter-stepby-sizehint, r=alexcrichton

Override size_hint and propagate ExactSizeIterator for iter::StepBy

Generally useful, but also a prerequisite for moving a bunch of unit tests off `Range*::step_by`.

A small non-breaking subset of https://github.com/rust-lang/rust/pull/42110 (which I closed).

Includes two small documentation changes @ivandardi requested on that PR.

r? @alexcrichton

7 years agoDon't warn on lifetime generic no_mangle functions.
Mark Simulacrum [Sun, 28 May 2017 14:12:19 +0000 (08:12 -0600)]
Don't warn on lifetime generic no_mangle functions.

7 years agoAuto merge of #41917 - arielb1:mir-array, r=nagisa
bors [Sun, 28 May 2017 12:01:02 +0000 (12:01 +0000)]
Auto merge of #41917 - arielb1:mir-array, r=nagisa

Translate array drop glue using MIR

I was a bit lazy here and used a usize-based index instead of a pointer iteration. Do you think this is important @eddyb?

r? @eddyb

7 years agoAuto merge of #42276 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
bors [Sun, 28 May 2017 09:40:47 +0000 (09:40 +0000)]
Auto merge of #42276 - Mark-Simulacrum:rollup, r=Mark-Simulacrum

Rollup of 6 pull requests

- Successful merges: #42207, #42217, #42249, #42251, #42260, #42266
- Failed merges:

7 years agofix translation of MSVC funclets that loop to their own start
Ariel Ben-Yehuda [Tue, 23 May 2017 20:47:15 +0000 (23:47 +0300)]
fix translation of MSVC funclets that loop to their own start

7 years agoincrease macro recursion limit
Ariel Ben-Yehuda [Tue, 23 May 2017 19:01:51 +0000 (22:01 +0300)]
increase macro recursion limit

7 years agouse a pointer-based array drop loop for non-zero-sized types
Ariel Ben-Yehuda [Thu, 18 May 2017 20:59:39 +0000 (23:59 +0300)]
use a pointer-based array drop loop for non-zero-sized types

7 years agofix loops in unwind code in MSVC
Ariel Ben-Yehuda [Thu, 18 May 2017 20:58:39 +0000 (23:58 +0300)]
fix loops in unwind code in MSVC

I'm not sure how well this works, but it's worth a try.

7 years agofix RUST_LOG ICE caused by printing a default impl's DefId
Ariel Ben-Yehuda [Thu, 18 May 2017 17:56:25 +0000 (20:56 +0300)]
fix RUST_LOG ICE caused by printing a default impl's DefId

7 years agoadd NullOp::SizeOf and BinOp::Offset
Ariel Ben-Yehuda [Thu, 18 May 2017 15:43:52 +0000 (18:43 +0300)]
add NullOp::SizeOf and BinOp::Offset

7 years agouse Eq instead of Lt in loop
Ariel Ben-Yehuda [Mon, 15 May 2017 14:13:12 +0000 (17:13 +0300)]
use Eq instead of Lt in loop

7 years agomove "ADT master drop flag" logic to `open_drop_for_adt_contents`
Ariel Ben-Yehuda [Mon, 15 May 2017 12:22:59 +0000 (15:22 +0300)]
move "ADT master drop flag" logic to `open_drop_for_adt_contents`

Fixes #41888.

7 years agoaddress review comments
Ariel Ben-Yehuda [Fri, 12 May 2017 12:00:36 +0000 (15:00 +0300)]
address review comments

7 years agorefactor trans::mir::block to trans all calls through the same code
Ariel Ben-Yehuda [Wed, 10 May 2017 23:01:25 +0000 (02:01 +0300)]
refactor trans::mir::block to trans all calls through the same code

7 years agotranslate array drop glue using MIR
Ariel Ben-Yehuda [Wed, 10 May 2017 22:02:52 +0000 (01:02 +0300)]
translate array drop glue using MIR

This fixes leakage on panic with arrays & slices. I am using a C-style
for-loop instead of a pointer-based loop because that would be ugly-er
to implement.

7 years agoRollup merge of #42266 - rkruppe:clean-trans-api, r=arielb1
Mark Simulacrum [Sun, 28 May 2017 02:54:05 +0000 (20:54 -0600)]
Rollup merge of #42266 - rkruppe:clean-trans-api, r=arielb1

Remove unused APIs from rustc_trans

There were public re-exports of some rustc modules dating back to 2011 or so. While I was at it, some functions and modules were public but never used outside the crate. I made them private or `pub(crate)` as appropriate and in one case removed an unused function.

7 years agoRollup merge of #42260 - stjepang:document-cmp-traits-agreement, r=alexcrichton
Mark Simulacrum [Sun, 28 May 2017 02:54:04 +0000 (20:54 -0600)]
Rollup merge of #42260 - stjepang:document-cmp-traits-agreement, r=alexcrichton

Docs: impls of PartialEq/PartialOrd/Ord must agree

Fixes #41270.

This PR brings two improvements to the docs:

1. Docs for `PartialEq`, `PartialOrd`, and `Ord` clarify that their implementations must agree.
2. Fixes a subtle bug in the Dijkstra example for `BinaryHeap`, where the impls are inconsistent.
Thanks @Rufflewind for spotting the bug!

r? @alexcrichton
cc @frankmcsherry

7 years agoRollup merge of #42251 - nikomatsakis:issue-42210-regr-unsized-tail, r=eddyb
Mark Simulacrum [Sun, 28 May 2017 02:54:03 +0000 (20:54 -0600)]
Rollup merge of #42251 - nikomatsakis:issue-42210-regr-unsized-tail, r=eddyb

extend `struct_tail` to operate over tuples

Not 100% sure why this got exposed when it wasn't before, but this struct definitely seems wrong.

Fixes #42110

r? @eddyb

7 years agoRollup merge of #42249 - Mark-Simulacrum:issue-40244, r=eddyb
Mark Simulacrum [Sun, 28 May 2017 02:54:02 +0000 (20:54 -0600)]
Rollup merge of #42249 - Mark-Simulacrum:issue-40244, r=eddyb

Allow variadic functions with cdecl calling convention.

Fixes #40244.

7 years agoRollup merge of #42217 - venkatagiri:issue_39974, r=Mark-Simulacrum
Mark Simulacrum [Sun, 28 May 2017 02:54:01 +0000 (20:54 -0600)]
Rollup merge of #42217 - venkatagiri:issue_39974, r=Mark-Simulacrum

regression test for #39974

closes #39974

r? @Mark-Simulacrum

7 years agoRollup merge of #42207 - Nashenas88:remove_fragment_info, r=eddyb
Mark Simulacrum [Sun, 28 May 2017 02:54:00 +0000 (20:54 -0600)]
Rollup merge of #42207 - Nashenas88:remove_fragment_info, r=eddyb

Remove all instances of fragment_infos and fragment sets

Remove unused fragment structs. This was suggested by @eddyb in IRC: [botbot link](https://botbot.me/mozilla/rustc/2017-05-23/?msg=86016574&page=2).

7 years agoAuto merge of #42162 - est31:closure-to-fn-coercion, r=aturon
bors [Sat, 27 May 2017 23:02:44 +0000 (23:02 +0000)]
Auto merge of #42162 - est31:closure-to-fn-coercion, r=aturon

Stabilize non capturing closure to fn coercion

Stabilisation PR for non capturing closure to fn coercion.

closes #39817

7 years agoAuto merge of #42137 - nical:doc-clone, r=BurntSushi
bors [Sat, 27 May 2017 20:35:25 +0000 (20:35 +0000)]
Auto merge of #42137 - nical:doc-clone, r=BurntSushi

Update to Rc and Arc documentation to favor the Rc::clone(&ptr) syntax.

This is a followup of the discussion in https://github.com/rust-lang/rfcs/pull/1954.

The solution chosen by the core team to address the problem tackled by the [the RFC](https://github.com/rust-lang/rfcs/pull/1954) was to make the function call syntax Rc::clone(&foo) the idiomatic way to clone a reference counted pointer (over the method call syntax foo.clone()).
This change updates the documentation of Rc, Arc and their respective Weak pointers to reflect this decision and bring more exposure to the existence of the function call syntax.

7 years agoAdd invalid unary operator usage error code
Guillaume Gomez [Sat, 27 May 2017 19:34:59 +0000 (21:34 +0200)]
Add invalid unary operator usage error code

7 years agoRemove trans-internal re-exports of rustc modules
Robin Kruppe [Sat, 27 May 2017 18:48:09 +0000 (20:48 +0200)]
Remove trans-internal re-exports of rustc modules

The previous commit removed them from the public API, this rewrites the use statements to get rid of the non-standard re-exports.

7 years agoReduce API surface of rustc_trans
Robin Kruppe [Sat, 27 May 2017 18:13:32 +0000 (20:13 +0200)]
Reduce API surface of rustc_trans

Mark various items and fields as private or pub(crate), and remove a function that turns out to be unused.
These are not used anywhere in-tree, but I guess it's a [breaking-change] for plugins.

7 years agoFix ICE on inner enum in missing docs lint.
Mark Simulacrum [Sat, 27 May 2017 16:06:15 +0000 (10:06 -0600)]
Fix ICE on inner enum in missing docs lint.

This also simplifies the lint by not storing variant depth or the struct
def stack, because we no longer need them.

7 years agoAdd new error codes and update tests
Guillaume Gomez [Sat, 27 May 2017 17:58:52 +0000 (19:58 +0200)]
Add new error codes and update tests

7 years agoAuto merge of #42103 - jorendorff:master, r=estebank
bors [Sat, 27 May 2017 17:38:11 +0000 (17:38 +0000)]
Auto merge of #42103 - jorendorff:master, r=estebank

trace_macro: Show both the macro call and its expansion. #42072.

See #42072 for the initial motivation behind this.

The change is not the minimal fix, but I want this behavior almost every time I use `trace_macros`.

7 years agoDocs: impls of PartialEq/PartialOrd/Ord must agree
Stjepan Glavina [Sat, 27 May 2017 15:00:11 +0000 (17:00 +0200)]
Docs: impls of PartialEq/PartialOrd/Ord must agree

7 years agoAdd new error codes
Guillaume Gomez [Sat, 27 May 2017 14:31:43 +0000 (16:31 +0200)]
Add new error codes

7 years agoAllow variadic functions with cdecl calling convention.
Mark Simulacrum [Fri, 26 May 2017 16:54:56 +0000 (10:54 -0600)]
Allow variadic functions with cdecl calling convention.

7 years agoAuto merge of #42109 - Keruspe:master, r=alexcrichton
bors [Sat, 27 May 2017 11:23:45 +0000 (11:23 +0000)]
Auto merge of #42109 - Keruspe:master, r=alexcrichton

rustbuild: don't create a source tarball when installing

This splits Install out of Dist as it is not a full dist anymore, and creates the source tarball only for the Dist command.
This will allow splitting install in a few rules if we want as it's done for other phases.

7 years agoAuto merge of #42068 - petrochenkov:ustab, r=nikomatsakis
bors [Sat, 27 May 2017 05:28:24 +0000 (05:28 +0000)]
Auto merge of #42068 - petrochenkov:ustab, r=nikomatsakis

Stabilize unions with `Copy` fields and no destructor

What else is needed:
- [x] Documentation (https://github.com/rust-lang-nursery/reference/pull/57).
- [x] Making assignments to `Copy` union fields safe (https://github.com/rust-lang/rust/pull/42083).
- [ ] Backport? (The "stabilization decision" is from [Apr 13](https://github.com/rust-lang/rust/issues/32836#issuecomment-294018091), it's just this PR is late.)

cc https://github.com/rust-lang/rust/issues/32836
r? @nikomatsakis

7 years agoStabilize unions with `Copy` fields and no destructor
Vadim Petrochenkov [Wed, 17 May 2017 21:22:52 +0000 (00:22 +0300)]
Stabilize unions with `Copy` fields and no destructor

7 years agoextend `struct_tail` to operate over closures
Niko Matsakis [Fri, 26 May 2017 20:36:40 +0000 (16:36 -0400)]
extend `struct_tail` to operate over closures

7 years agoAuto merge of #42081 - ishitatsuyuki:submodule-better, r=aidanhs
bors [Fri, 26 May 2017 18:11:54 +0000 (18:11 +0000)]
Auto merge of #42081 - ishitatsuyuki:submodule-better, r=aidanhs

Use the improved submodule handling

r? @alexcrichton

That was a crap...
```
Updating submodules
Traceback (most recent call last):
  File "./x.py", line 20, in <module>
    bootstrap.main()
  File "/home/ishitatsuyuki/Documents/rust/src/bootstrap/bootstrap.py", line 684, in main
    bootstrap()
  File "/home/ishitatsuyuki/Documents/rust/src/bootstrap/bootstrap.py", line 662, in bootstrap
    rb.update_submodules()
  File "/home/ishitatsuyuki/Documents/rust/src/bootstrap/bootstrap.py", line 566, in update_submodules
    path = line[1:].split(' ')[1]
TypeError: a bytes-like object is required, not 'str'
```

Maybe we need to confirm the compatibility of git options, such as `git config` or `git -C` (I believe they existed long before, though). This is tested locally.

7 years agoci: move musl install into their own scripts
Venkata Giri Reddy [Thu, 25 May 2017 17:01:55 +0000 (13:01 -0400)]
ci: move musl install into their own scripts

7 years agoAuto merge of #42245 - frewsxcv:rollup, r=frewsxcv
bors [Fri, 26 May 2017 15:31:49 +0000 (15:31 +0000)]
Auto merge of #42245 - frewsxcv:rollup, r=frewsxcv

Rollup of 7 pull requests

- Successful merges: #42169, #42215, #42216, #42224, #42230, #42236, #42241
- Failed merges:

7 years agoRollup merge of #42241 - king6cong:master, r=steveklabnik
Corey Farwell [Fri, 26 May 2017 14:20:30 +0000 (10:20 -0400)]
Rollup merge of #42241 - king6cong:master, r=steveklabnik

doc rewording

7 years agoRollup merge of #42236 - citizen428:docs/unchecked-indexing-slicing, r=GuillaumeGomez
Corey Farwell [Fri, 26 May 2017 14:20:29 +0000 (10:20 -0400)]
Rollup merge of #42236 - citizen428:docs/unchecked-indexing-slicing, r=GuillaumeGomez

Update documentation for indexing/slicing methods

See #39911

r? @steveklabnik

7 years agoRollup merge of #42230 - venkatagiri:ice_regression_tests, r=Mark-Simulacrum
Corey Farwell [Fri, 26 May 2017 14:20:28 +0000 (10:20 -0400)]
Rollup merge of #42230 - venkatagiri:ice_regression_tests, r=Mark-Simulacrum

regression tests for ICEs

closes #36379
closes #37550
closes #37665
closes #38160
closes #38954
closes #39362

r? @Mark-Simulacrum

7 years agoRollup merge of #42224 - brson:lockfile, r=nikomatsakis
Corey Farwell [Fri, 26 May 2017 14:20:27 +0000 (10:20 -0400)]
Rollup merge of #42224 - brson:lockfile, r=nikomatsakis

Remove stray lockfile

7 years agoRollup merge of #42216 - charliesome:associate-type-typo, r=petrochenkov
Corey Farwell [Fri, 26 May 2017 14:20:26 +0000 (10:20 -0400)]
Rollup merge of #42216 - charliesome:associate-type-typo, r=petrochenkov

Fix 'associate type' typo

I came across an error message mentioning an 'associate type'.

Since this is the only instance of this term in rustc (it's 'associated type' everywhere else), I think this might be a typo.

7 years agoRollup merge of #42215 - callahad:remove-superfluous-semis, r=Mark-Simulacrum
Corey Farwell [Fri, 26 May 2017 14:20:25 +0000 (10:20 -0400)]
Rollup merge of #42215 - callahad:remove-superfluous-semis, r=Mark-Simulacrum

Remove superfluous `;;` sequences

Ran across a doubled `;;` in the docstring for `str::split`. Grep found a few more. :)

7 years agoRollup merge of #42169 - scottmcm:new-step-trait-issue, r=alexcrichton
Corey Farwell [Fri, 26 May 2017 14:20:25 +0000 (10:20 -0400)]
Rollup merge of #42169 - scottmcm:new-step-trait-issue, r=alexcrichton

Give step_trait a distinct tracking issue from step_by

iterator_step_by has decoupled their futures, so the tracking issue should split.

Old issue: https://github.com/rust-lang/rust/issues/27741
New issue: https://github.com/rust-lang/rust/issues/42168

r? @alexcrichton (another follow-up to closed PR https://github.com/rust-lang/rust/pull/42110#issuecomment-303176049)

7 years agoAdd warning cycle #42238.
Masaki Hara [Fri, 26 May 2017 13:20:53 +0000 (22:20 +0900)]
Add warning cycle #42238.

7 years agoAuto merge of #42014 - tbu-:pr_scan_not_fused, r=alexcrichton
bors [Fri, 26 May 2017 12:54:11 +0000 (12:54 +0000)]
Auto merge of #42014 - tbu-:pr_scan_not_fused, r=alexcrichton

Remove `FusedIterator` implementation of `iter::Scan`

Fixes #41964.

This is a breaking change.

7 years agodoc rewording
king6cong [Fri, 26 May 2017 11:21:29 +0000 (19:21 +0800)]
doc rewording

7 years agoAuto merge of #42083 - petrochenkov:safeassign, r=nikomatsakis
bors [Fri, 26 May 2017 10:17:51 +0000 (10:17 +0000)]
Auto merge of #42083 - petrochenkov:safeassign, r=nikomatsakis

Make assignments to `Copy` union fields safe

This is an accompanying PR to PR https://github.com/rust-lang/rust/pull/42068 stabilizing FFI unions.

This was first proposed in https://github.com/rust-lang/rust/issues/32836#issuecomment-281296416, see subsequent comments as well.
Assignments to `Copy` union fields do not read any data from the union and are [equivalent](https://github.com/rust-lang/rust/issues/32836#issuecomment-281660298) to whole union assignments, which are safe, so they should be safe as well. This removes a significant number of "false positive" unsafe blocks, in code dealing with FFI unions in particular.

It desirable to make this change now, together with stabilization of FFI unions, because now it affecfts only unstable code, but later it will cause warnings/errors caused by `unused_unsafe` lint in stable code.

cc #32836
r? @nikomatsakis

7 years agoUpdate documentation for indexing/slicing methods
Michael Kohl [Fri, 26 May 2017 02:47:29 +0000 (09:47 +0700)]
Update documentation for indexing/slicing methods

See #39911

7 years agoAuto merge of #42058 - froydnj:thiscall-support, r=nikomatsakis
bors [Fri, 26 May 2017 07:36:25 +0000 (07:36 +0000)]
Auto merge of #42058 - froydnj:thiscall-support, r=nikomatsakis

add thiscall calling convention support

This support is needed for bindgen to work well on 32-bit Windows, and also enables people to begin experimenting with C++ FFI support on that platform.

Fixes #42044.

7 years agoregression test for #37550
Venkata Giri Reddy [Thu, 25 May 2017 22:06:30 +0000 (18:06 -0400)]
regression test for #37550

7 years agoregression test for #37665
Venkata Giri Reddy [Thu, 25 May 2017 21:57:16 +0000 (17:57 -0400)]
regression test for #37665

regression test for #37550

7 years agoAuto merge of #40847 - jseyfried:decl_macro, r=nrc
bors [Thu, 25 May 2017 22:31:34 +0000 (22:31 +0000)]
Auto merge of #40847 - jseyfried:decl_macro, r=nrc

Initial implementation of declarative macros 2.0

Implement declarative macros 2.0 (rust-lang/rfcs#1584) behind `#![feature(decl_macro)]`.
Differences from `macro_rules!` include:
 - new syntax: `macro m(..) { .. }` instead of `macro_rules! m { (..) => { .. } }`
 - declarative macros are items:
```rust
// crate A:
pub mod foo {
    m!(); // use before definition; declaration order is irrelevant
    pub macro m() {} // `pub`, `pub(super)`, etc. work
}
fn main() {
    foo::m!(); // named like other items
    { use foo::m as n; n!(); } // imported like other items
}
pub use foo::m; // re-exported like other items

// crate B:
extern crate A; // no need for `#[macro_use]`
A::foo::m!(); A::m!();
```
 - Racket-like hygiene for items, imports, methods, fields, type parameters, privacy, etc.
   - Intuitively, names in a macro definition are resolved in the macro definition's scope, not the scope in which the macro is used.
   - This [explaination](http://beautifulracket.com/explainer/hygiene.html) of hygiene for Racket applies here (except for the "Breaking Hygiene" section). I wrote a similar [explanation](https://github.com/jseyfried/rfcs/blob/hygiene/text/0000-hygiene.md) for Rust.
   - Generally speaking, if `fn f() { <body> }` resolves, `pub macro m() { <body> } ... m!()` also resolves, even if `m!()` is in a separate crate.
   - `::foo::bar` in a `macro` behaves like `$crate::foo::bar` in a `macro_rules!`, except it can access everything visible from the `macro` (thus more permissive).
   - See [`src/test/{run-pass, compile-fail}/hygiene`](https://github.com/rust-lang/rust/pull/40847/commits/afe7d89858fd72b983e24727d6f4058293153c19) for examples. Small example:
```rust
mod foo {
    fn f() { println!("hello world"); }
    pub macro m() { f(); }
}
fn main() { foo::m!(); }
```

Limitations:
 - This does not address planned changes to matchers (`expr`,`ty`, etc.), c.f. #26361.
 - Lints (including stability and deprecation) and `unsafe` are not hygienic.
   - adding hygiene here will be mostly or entirely backwards compatible
 - Nested macro definitions (a `macro` inside another `macro`) don't always work correctly when invoked from external crates.
   - pending improvements in how we encode macro definitions in crate metadata
 - There is no way to "escape" hygiene without using a procedural macro.

r? @nrc

7 years agoregression test for #38160
Venkata Giri Reddy [Thu, 25 May 2017 21:43:25 +0000 (17:43 -0400)]
regression test for #38160

7 years agoregression test for #39362
Venkata Giri Reddy [Thu, 25 May 2017 21:36:59 +0000 (17:36 -0400)]
regression test for #39362

7 years agoFix merge conflicts.
Jeffrey Seyfried [Thu, 25 May 2017 21:07:30 +0000 (21:07 +0000)]
Fix merge conflicts.

7 years agoregression test for #38954
Venkata Giri Reddy [Thu, 25 May 2017 20:55:25 +0000 (16:55 -0400)]
regression test for #38954

7 years agoregression test for #36379
Venkata Giri Reddy [Thu, 25 May 2017 20:09:21 +0000 (16:09 -0400)]
regression test for #36379

7 years agoAuto merge of #42220 - alexcrichton:update, r=brson
bors [Thu, 25 May 2017 19:48:14 +0000 (19:48 +0000)]
Auto merge of #42220 - alexcrichton:update, r=brson

Update OpenSSL download location

In rustbuild itself we download from our mirror but in the containers we don't
do this yet. The OpenSSL download url changes from time to time (it breaks when
they release a new version) so let's download from our mirror instead.

7 years agoRemove stray lockfile
Brian Anderson [Thu, 25 May 2017 18:48:21 +0000 (18:48 +0000)]
Remove stray lockfile

7 years agoregression test for #39974
Venkata Giri Reddy [Thu, 25 May 2017 06:21:20 +0000 (00:21 -0600)]
regression test for #39974

closes #39974

r? @Mark-Simulacrum

7 years agoUpdate OpenSSL download location
Alex Crichton [Thu, 25 May 2017 17:07:41 +0000 (10:07 -0700)]
Update OpenSSL download location

In rustbuild itself we download from our mirror but in the containers we don't
do this yet. The OpenSSL download url changes from time to time (it breaks when
they release a new version) so let's download from our mirror instead.

7 years agoAuto merge of #42052 - kennytm:fix-42007-ice-on-decode-lint-id, r=nikomatsakis
bors [Thu, 25 May 2017 14:10:10 +0000 (14:10 +0000)]
Auto merge of #42052 - kennytm:fix-42007-ice-on-decode-lint-id, r=nikomatsakis

Refactor: Move the mutable parts out of LintStore. Fix #42007.

* #42007 happens because the `Session` `LintStore` is emptied when linting.
* The `Session` `LintStore` is emptied because the checker (`Early`/`LateContext`) wants ownership.
* The checker wants ownership because it wants to mutate the pass objects and lint levels.

The ownership of the whole store is not essential, only the lint levels and pass objects need to be owned. Therefore, these parts are extracted out of the `LintStore` into a separate structure `LintSession`. The "check crates" methods can operate on `&mut LintSession` instead of `&mut LintStore`.

This is a minor *breaking change* for lint writers since the `LintContext` trait is changed: the `mut_lints` and `level_stack` methods are removed. But no one outside of `librustc/lint/context.rs` is using these functions, so it should be safe.

7 years agoRemove irrelevant tests and unused testing attribute
Paul Faria [Thu, 25 May 2017 11:59:13 +0000 (07:59 -0400)]
Remove irrelevant tests and unused testing attribute

7 years agoAuto merge of #41932 - wesleywiser:py-to-rust, r=alexcrichton
bors [Thu, 25 May 2017 10:35:04 +0000 (10:35 +0000)]
Auto merge of #41932 - wesleywiser:py-to-rust, r=alexcrichton

Rewrite make-win-dist.py in Rust

Fixes #41568

7 years agoStabilize non capturing closure to fn coercion
est31 [Tue, 23 May 2017 00:28:13 +0000 (02:28 +0200)]
Stabilize non capturing closure to fn coercion

7 years agoUse parameter environment associated with field use, not field definition
Vadim Petrochenkov [Thu, 18 May 2017 11:28:40 +0000 (14:28 +0300)]
Use parameter environment associated with field use, not field definition

7 years agoAuto merge of #41145 - matthewjasper:stabilize-relaxed-adts, r=petrochenkov
bors [Thu, 25 May 2017 07:24:18 +0000 (07:24 +0000)]
Auto merge of #41145 - matthewjasper:stabilize-relaxed-adts, r=petrochenkov

Stabilize rfc 1506 - Clarified ADT Kinds

Closes #35626

Documentation:

- [ ] Reference rust-lang-nursery/reference#37
- [ ] Book?
- [ ] Rust by example?

7 years agouse shared scripts for init and sccache in cross image
Venkata Giri Reddy [Thu, 25 May 2017 06:43:21 +0000 (00:43 -0600)]
use shared scripts for init and sccache in cross image

7 years agoMake assignments to `Copy` union fields safe
Vadim Petrochenkov [Thu, 18 May 2017 10:40:15 +0000 (13:40 +0300)]
Make assignments to `Copy` union fields safe

7 years agoIgnore pretty.
Jeffrey Seyfried [Thu, 25 May 2017 02:04:03 +0000 (02:04 +0000)]
Ignore pretty.

7 years agoImprove `Self`.
Jeffrey Seyfried [Sun, 21 May 2017 22:35:39 +0000 (22:35 +0000)]
Improve `Self`.

7 years agoAdd tests.
Jeffrey Seyfried [Sat, 25 Mar 2017 02:37:55 +0000 (02:37 +0000)]
Add tests.

7 years agoImprove intercrate hygiene.
Jeffrey Seyfried [Mon, 27 Mar 2017 00:46:00 +0000 (00:46 +0000)]
Improve intercrate hygiene.

7 years agoImprove efficiency.
Jeffrey Seyfried [Sun, 26 Mar 2017 02:11:30 +0000 (02:11 +0000)]
Improve efficiency.

7 years agoHygienize lifetimes.
Jeffrey Seyfried [Sat, 25 Mar 2017 21:14:18 +0000 (21:14 +0000)]
Hygienize lifetimes.

7 years agoHygienize `librustc_privacy`.
Jeffrey Seyfried [Sat, 25 Mar 2017 01:46:38 +0000 (01:46 +0000)]
Hygienize `librustc_privacy`.

7 years agoHygienize `librustc_typeck`.
Jeffrey Seyfried [Fri, 24 Mar 2017 23:03:15 +0000 (23:03 +0000)]
Hygienize `librustc_typeck`.