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