Commit Graph

64869 Commits

Author SHA1 Message Date
bors
911192764d 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
2017-05-29 03:37:28 +00:00
bors
920c4799be Auto merge of #42218 - venkatagiri:update_cross, r=alexchrichton
use shared scripts for init and sccache in cross image

cc #42201
cc @malbarbo
2017-05-28 22:15:10 +00:00
Clar Charr
54bbe23b2e Clarify docs on implementing Into. 2017-05-28 16:13:56 -04:00
Mark Simulacrum
c85a8fb709 Add note regarding parent module containing use statement. 2017-05-28 13:06:53 -06:00
Alex Crichton
3146d9f3a7 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
2017-05-28 10:27:42 -07:00
Djzin
b795b7b43b restore old behaviour 2017-05-28 18:10:12 +01:00
bors
d47cf08d57 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
2017-05-28 16:47:17 +00:00
Djzin
8a973dfa24 restore old behaviour for sizes < 128 2017-05-28 15:39:47 +01:00
bors
bcf95067e4 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
2017-05-28 14:26:52 +00:00
Mark Simulacrum
6b84f7dd5e Don't warn on lifetime generic no_mangle functions. 2017-05-28 08:21:57 -06:00
bors
924898f88a 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
2017-05-28 12:01:02 +00:00
bors
41e74a2282 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:
2017-05-28 09:40:47 +00:00
gentoo90
ac33d2cbfb Fix GDB pretty-printer for tuples
Names of children should not be the same,
because GDB uses them to distinguish the children.
2017-05-28 12:08:40 +03:00
Ariel Ben-Yehuda
ee982d4355 fix translation of MSVC funclets that loop to their own start 2017-05-28 12:00:03 +03:00
Ariel Ben-Yehuda
6adfbaf2d3 increase macro recursion limit 2017-05-28 10:43:25 +03:00
Ariel Ben-Yehuda
162bc513fb use a pointer-based array drop loop for non-zero-sized types 2017-05-28 10:43:25 +03:00
Ariel Ben-Yehuda
6548aefdeb fix loops in unwind code in MSVC
I'm not sure how well this works, but it's worth a try.
2017-05-28 10:43:25 +03:00
Ariel Ben-Yehuda
55767702ec fix RUST_LOG ICE caused by printing a default impl's DefId 2017-05-28 10:43:25 +03:00
Ariel Ben-Yehuda
7b295eea42 add NullOp::SizeOf and BinOp::Offset 2017-05-28 10:43:24 +03:00
Ariel Ben-Yehuda
3bcd6fa571 use Eq instead of Lt in loop 2017-05-28 10:43:24 +03:00
Ariel Ben-Yehuda
68b7475dc0 move "ADT master drop flag" logic to open_drop_for_adt_contents
Fixes #41888.
2017-05-28 10:43:24 +03:00
Ariel Ben-Yehuda
c6d0b5bdd8 address review comments 2017-05-28 10:43:24 +03:00
Ariel Ben-Yehuda
24c1a07c72 refactor trans::mir::block to trans all calls through the same code 2017-05-28 10:43:24 +03:00
Ariel Ben-Yehuda
9da2aaccfe 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.
2017-05-28 10:43:24 +03:00
Mark Simulacrum
1128fabb33 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.
2017-05-27 20:54:05 -06:00
Mark Simulacrum
423b410fce 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
2017-05-27 20:54:04 -06:00
Mark Simulacrum
906c9bcfb9 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
2017-05-27 20:54:03 -06:00
Mark Simulacrum
4e5812cee4 Rollup merge of #42249 - Mark-Simulacrum:issue-40244, r=eddyb
Allow variadic functions with cdecl calling convention.

Fixes #40244.
2017-05-27 20:54:02 -06:00
Mark Simulacrum
04a3b47087 Rollup merge of #42217 - venkatagiri:issue_39974, r=Mark-Simulacrum
regression test for #39974

closes #39974

r? @Mark-Simulacrum
2017-05-27 20:54:01 -06:00
Mark Simulacrum
f35ec6153b 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).
2017-05-27 20:54:00 -06:00
bors
5d2512ec5b 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
2017-05-27 23:02:44 +00:00
bors
28fd1e519a 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.
2017-05-27 20:35:25 +00:00
Guillaume Gomez
2969137a72 Add invalid unary operator usage error code 2017-05-27 21:34:59 +02:00
Robin Kruppe
6fec17ee15 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.
2017-05-27 21:09:29 +02:00
Robin Kruppe
493cd6b6e2 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.
2017-05-27 21:08:13 +02:00
Mark Simulacrum
918875f32d 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.
2017-05-27 12:13:43 -06:00
Guillaume Gomez
998b19740c Add new error codes and update tests 2017-05-27 19:58:52 +02:00
bors
9337ad5bae 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`.
2017-05-27 17:38:11 +00:00
Djzin
d4d3f53468 better respect alignment for copying tail 2017-05-27 16:39:51 +01:00
Stjepan Glavina
f5421367a2 Docs: impls of PartialEq/PartialOrd/Ord must agree 2017-05-27 17:15:32 +02:00
Guillaume Gomez
8be89f534a Add new error codes 2017-05-27 16:31:43 +02:00
Djzin
74751358e6 Merge remote-tracking branch 'upstream/master' into fast-swap 2017-05-27 14:31:47 +01:00
Djzin
c6307a2fa5 copy tail bytes better for aligned types 2017-05-27 14:29:41 +01:00
Mark Simulacrum
bf87e17cd6 Allow variadic functions with cdecl calling convention. 2017-05-27 06:03:50 -06:00
bors
a11c26f6ac 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.
2017-05-27 11:23:45 +00:00
bors
3e7908f616 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
2017-05-27 05:28:24 +00:00
Stjepan Glavina
b559507680 Clarify the docs for align_of and its variants 2017-05-27 00:49:38 +02:00
Vadim Petrochenkov
73c73e4a95 Stabilize unions with Copy fields and no destructor 2017-05-27 00:52:20 +03:00
Niko Matsakis
9d018400ed extend struct_tail to operate over closures 2017-05-26 16:36:40 -04:00
bors
557967766b 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.
2017-05-26 18:11:54 +00:00