Commit Graph

72603 Commits

Author SHA1 Message Date
bors
a9f047c048 Auto merge of #46664 - mikeyhew:raw_pointer_self, r=arielb1
arbitrary_self_types: add support for raw pointer `self` types

This adds support for raw pointer `self` types, under the `arbitrary_self_types` feature flag. Types like `self: *const Self`, `self: *const Rc<Self>`, `self: Rc<*const Self` are all supported. Object safety checks are updated to allow`self: *const Self` and `self: *mut Self`.

This PR does not add support for `*const self` and `*mut self` syntax. That can be added in a later PR once this code is reviewed and merged.

#44874

r? @arielb1
2017-12-19 07:05:05 +00:00
bors
c8b94c6aa1 Auto merge of #46829 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 11 pull requests

- Successful merges: #46700, #46786, #46790, #46800, #46801, #46802, #46804, #46805, #46812, #46824, #46825
- Failed merges:
2017-12-19 04:21:05 +00:00
bors
b76f224af8 Auto merge of #45525 - MaikKlein:collector, r=eddyb
Move collector to librustc_mir::monomorphize

cc https://github.com/rust-lang/rust/issues/44334 and https://github.com/rust-lang/rust/issues/45276

* I moved the collector to rustc_mir

*  I renamed `TransItem` to `MonoItem`. _(I still need to fix up comments and variable names)_

* I got rid of `common.rs` and `monomorphize.rs` from `librustc_trans_utils`. I moved most of the functionality into `TyCtxt`. I realized that the `librustc_trans_utils::common.rs` was just copy pasted from `librustc_trans::common.rs`.

Should I also get rid of the `librustc_trans::common.rs` in this PR? Most of the functionality seems a bit useless, I decided to put some of it into `TyCtxt` but maybe that is not the correct action here.

Should I also get rid of `librustc_trans_utils` completely here? Or should I do it in a separate PR?
2017-12-19 01:34:50 +00:00
Guillaume Gomez
b5f6884aeb Rollup merge of #46825 - GuillaumeGomez:mobile-search, r=QuietMisdreavus
Improve search display on mobile

r? @QuietMisdreavus
2017-12-18 23:08:41 +01:00
Guillaume Gomez
25e5af8a27 Rollup merge of #46824 - GuillaumeGomez:doc-sidebar, r=QuietMisdreavus
Fix dynamic crates listing in doc sidebar

Fixes #46687.

r? @QuietMisdreavus
2017-12-18 23:08:40 +01:00
Guillaume Gomez
c68c4b510c Rollup merge of #46812 - kennytm:fix-align-offset-sign, r=petrochenkov
Fix the wrong subtraction in align_offset intrinsic.

Given how the stage0 implementation in #43903 is written, as well as that in the RFC, I suppose the current implementation has a typo.

cc #44488, cc @oli-obk.
2017-12-18 23:08:39 +01:00
Guillaume Gomez
325d9fb8f6 Rollup merge of #46805 - estebank:unnecessary-unsafe-spans, r=arielb1
Tweak "unecessary unsafe block" error spans
2017-12-18 23:08:38 +01:00
Guillaume Gomez
3a2becbd84 Rollup merge of #46804 - estebank:conflicting-impl-def-span, r=arielb1
Use def span for conflicting impls and recursive fn
2017-12-18 23:08:37 +01:00
Guillaume Gomez
015502c4c5 Rollup merge of #46802 - estebank:redefined-def-span, r=michaelwoerister
Point at def span on redefined name diagnostic
2017-12-18 23:08:35 +01:00
Guillaume Gomez
12cd45286e Rollup merge of #46801 - estebank:impl-extra-req-def-span, r=arielb1
Point at def span in "impl has stricter requirements" diagnostic
2017-12-18 23:08:34 +01:00
Guillaume Gomez
6cc58b3fe8 Rollup merge of #46800 - estebank:expected-closure-def-span, r=arielb1
Rework expected closure error

* point at def span
* add label to primary span
* use `span_label`s instead of `span_note`s
2017-12-18 23:08:33 +01:00
Guillaume Gomez
c0a547a51e Rollup merge of #46790 - frewsxcv:frewsxcv-swap-bytes, r=QuietMisdreavus
Display binary notation for numeric swap_bytes methods.

This better illustrates what's happening to the bits behind the scenes.
2017-12-18 23:08:32 +01:00
Guillaume Gomez
723190752b Rollup merge of #46786 - GuillaumeGomez:fix-sized-rendering, r=QuietMisdreavus
Fix ?Sized where bound not being displayed at the correct place

Fixes #46726.

r? @QuietMisdreavus
2017-12-18 23:08:31 +01:00
Guillaume Gomez
9ab2227db1 Rollup merge of #46700 - GuillaumeGomez:more-relevant-doc-search, r=QuietMisdreavus
make doc search more relevant

Fixes #46595.

r? @QuietMisdreavus

If possible, I'd appreciate a strong check on this PR. :3
2017-12-18 23:08:30 +01:00
Guillaume Gomez
3d4c505078 Improve search display on mobile 2017-12-18 22:30:53 +01:00
bors
e7db42fb5b Auto merge of #46808 - eddyb:issue-46769-quick, r=arielb1
rustc: ensure optimized enums have a properly aligned size.

Fixes #46769 by padding the optimized enums wrapping packed data as necessary.

Note that this is not the only way to solve this - on nightly, #46436 makes it easier to fix without adding new padding because of the replacement of `packed` flags with a non-redundant scheme.
But because it can't be backported, the optimal fix will be in a separate nightly-only PR (#46809).
2017-12-18 20:44:18 +00:00
Guillaume Gomez
cf18b1f22a Fix dynamic crates listing in doc sidebar 2017-12-18 21:15:46 +01:00
Eduard-Mihai Burtescu
087f1c23a7 rustc: ensure optimized enums have a properly aligned size. 2017-12-18 21:31:52 +02:00
Esteban Küber
e1dc7ac33c Tweak "unecessary unsafe block" error spans 2017-12-18 11:11:35 -08:00
Maik Klein
6e78b66578 Add rustc_data_structures for trans_utils/lib.rs 2017-12-18 19:10:06 +02:00
Maik Klein
c847cf3f5e Fix incorrect rebase in collector::find_vtable_types 2017-12-18 19:10:01 +02:00
Esteban Küber
0555d256dd Rework expected closure error
* point at def span
* add label to primary span
* use `span_label`s instead of `span_note`s
2017-12-18 08:55:52 -08:00
Esteban Küber
c08dab841d Point at def span in "impl has stricter requirements" diagnostic 2017-12-18 08:54:20 -08:00
bors
b058dc0107 Auto merge of #46811 - michaelwoerister:depkind-is-input, r=nikomatsakis
incr.comp.: Mark DepKind node as input.

Fixes `euclid` on https://travis-ci.org/rust-icci.

r? @nikomatsakis
2017-12-18 16:48:37 +00:00
Ariel Ben-Yehuda
f6fcfa3915 normalize the results of tcx.type_of after substituting
Also remove `def_ty`, which was a footgun because it did not do the
above.
2017-12-18 17:08:50 +02:00
Maik Klein
88866b5c85 Update lockfile 2017-12-18 17:08:49 +02:00
Maik Klein
b48ba026fe Rename more functions from trans to monomorphize 2017-12-18 17:08:49 +02:00
Maik Klein
d4b372d6e2 Rename trans to monomorphize in comments 2017-12-18 17:08:49 +02:00
Maik Klein
45f8a3b30c Move partitioning.rs to rustc_mir 2017-12-18 17:08:49 +02:00
Maik Klein
116e43f73b Prefer type_of().substs over instance::ty() 2017-12-18 17:08:49 +02:00
Maik Klein
282b231af2 Move has_metadata back to context.rs 2017-12-18 17:08:49 +02:00
Maik Klein
6e94a7a91e Remove branch with has_metadata 2017-12-18 17:08:49 +02:00
Maik Klein
ab0f8fcdac Test with trans_apply_param_substs 2017-12-18 17:08:49 +02:00
Maik Klein
1df6f8321b Remove duplicated functions from trans::common.rs 2017-12-18 17:08:49 +02:00
Maik Klein
7996f63ce4 Move meta_data into TyS 2017-12-18 17:08:49 +02:00
Maik Klein
dfbb6e8640 Move instance related methods from TyCtxt to Instance 2017-12-18 17:08:49 +02:00
Maik Klein
d3c4142880 Fix some comments to refer to MonoItem 2017-12-18 17:08:49 +02:00
Maik Klein
c06e3aa446 Refactor paths to middle::trans to mir::mono 2017-12-18 17:08:49 +02:00
Maik Klein
ae468ab38b Move middle::trans.rs to mir::mono.rs 2017-12-18 17:08:49 +02:00
Maik Klein
09ad6ebd0b Rename mono_item.rs to item.rs 2017-12-18 17:08:49 +02:00
Maik Klein
28f7d223f4 Rename as_trans_item to as_mono_item 2017-12-18 17:08:49 +02:00
Maik Klein
17bfd74955 Rename more functions from trans to mono 2017-12-18 17:08:48 +02:00
Maik Klein
b9ab487a7a Rename TransItemExt to MonoItemExt 2017-12-18 17:08:48 +02:00
Maik Klein
531c27d805 Move common.rs functionality into TyCtxt 2017-12-18 17:08:48 +02:00
Maik Klein
98b9eba316 Rename TransItemCollectionMode to MonoItemCollectionMode 2017-12-18 17:08:48 +02:00
Maik Klein
1181f45813 Rename TransItem to MonoItem 2017-12-18 17:08:48 +02:00
Maik Klein
e579b067db Move trans_item and monomorphize to rustc_mir 2017-12-18 17:08:48 +02:00
Maik Klein
094c021218 Move collector to monomorphize 2017-12-18 17:08:48 +02:00
kennytm
749d8a880f
Fix the wrong subtraction in align_offset intrinsic. 2017-12-18 22:52:24 +08:00
Michael Woerister
a3c3245e91 incr.comp.: Mark DepKind node as input. 2017-12-18 15:40:07 +01:00