Commit Graph

72992 Commits

Author SHA1 Message Date
bors
588f7db8ef Auto merge of #46733 - nikomatsakis:nll-master-to-rust-master-5, r=arielb1
nll part 5

Next round of changes from the nll-master branch.

Extensions:

- we now propagate ty-region-outlives constraints out of closures and into their creator when necessary
- we fix a few ICEs that can occur by doing liveness analysis (and the resulting normalization) during type-checking
- we handle the implicit region bound that assumes that each type `T` outlives the fn body
- we handle normalization of inputs/outputs in fn signatures

Not included in this PR (will come next):

- handling `impl Trait`
- tracking causal information
- extended errors

r? @arielb1
2017-12-20 03:58:15 +00:00
Esteban Küber
8749250327 Use a label for catch-all pattern instead of note 2017-12-19 19:11:02 -08:00
Esteban Küber
3480f6f068 Closure type error ui tweak
Do not point at the same span on all notes/help messages, and instead
show them without a span.
2017-12-19 19:04:09 -08:00
Eduard-Mihai Burtescu
5c3dcfaf85 rustc: do not raise the alignment of optimized enums to the niche's alignment. 2017-12-20 03:45:40 +02:00
bors
edbd7d232e Auto merge of #46441 - gaurikholkar:single_lifetimes, r=nikomatsakis
Lint against single-use lifetime names

This is a fix for #44752

TO-DO

- [x] change lint message
- [x] add ui tests

r? @nikomatsakis
2017-12-20 01:18:17 +00:00
Guillaume Gomez
7f5c2f9249 Fix sidebar on ios 2017-12-20 01:53:18 +01:00
Esteban Küber
e9f4fc8d40 Point at while true span instead of entire block 2017-12-19 15:48:46 -08:00
Esteban Küber
e70d888103 Use def span for associated function suggestions 2017-12-19 15:36:04 -08:00
Taylor Cramer
1d5977b899 Ignore pretty printing tests for non_modrs_mods 2017-12-19 15:24:51 -08:00
Jonathan S
c1fe4a22b9 Only mark unions as uninhabited if all of their fields are uninhabited. Fixes #46845. 2017-12-19 17:24:38 -06:00
Taylor Cramer
e3c229802f Break rls 2017-12-19 14:59:14 -08:00
Taylor Cramer
b82e2e9db1 Break rustfmt 2017-12-19 14:59:13 -08:00
Taylor Cramer
07f51fb868 Implement non-mod.rs mod statements 2017-12-19 14:58:51 -08:00
QuietMisdreavus
cbbb73b56f add compile-fail error for external_doc errors 2017-12-19 16:50:53 -06:00
QuietMisdreavus
f873c55709 test for missing_doc in the external_doc test 2017-12-19 16:43:46 -06:00
QuietMisdreavus
95b87d18c0 add files loaded through doc(include) into dep-info 2017-12-19 16:43:32 -06:00
Esteban Küber
3441ffb15e Point at def span in "missing in impl" error 2017-12-19 14:41:03 -08:00
Scott McMurray
fb245e0540 Split PlaceContext::Store into Store & AsmOutput
Outputs in InlineAsm can be read-write, so splitting it out is useful for things like Store-Store folding, as it cannot be done for a Store-AsmOutput.

This PR is intended to make no changes, just be the mechanical split of the enum.  Future changes can use the split, like a MIR pass I'm working on and perhaps two-phase borrows.
2017-12-19 17:05:14 -05:00
QuietMisdreavus
8fc0d47581 make the missing_docs lint check for doc(include) 2017-12-19 15:25:06 -06:00
Vadim Petrochenkov
7a95e716c7 Fix whitespacing issues in pretty-printing of bounds 2017-12-20 00:23:18 +03:00
QuietMisdreavus
06fbd599cf turn errors with external docs into actual errors 2017-12-19 15:04:03 -06:00
Scott McMurray
4b95ca8db2 Fix -Z lower_128bit_ops handling of statics
Avoids ICEs such as the following:
 error: internal compiler error: src\librustc_metadata\cstore_impl.rs:131:
 get_optimized_mir: missing MIR for `DefId(8/0:40 ~
 compiler_builtins[9532]::int[0]::addsub[0]::rust_i128_addo[0])`
2017-12-19 15:08:17 -05:00
Niko Matsakis
e741dad629 adding lint for single use lifetime names 2017-12-20 00:07:10 +05:30
Seiichi Uchida
e0e62fccd2 Fix up an ui test 2017-12-20 01:21:40 +09:00
varkor
3a29f2878f Fix a compile_input test 2017-12-19 15:03:37 +00:00
Michael Woerister
0258c6daca incr.comp.: Precompute small hash for filenames to save some work. 2017-12-19 15:27:50 +01:00
Felix S. Klock II
aa030dd3de Followup for #46112.
Sorting by crate-num should ensure that we favor `std::foo::bar` over
`any_other_crate::foo::bar`.

Interestingly, *this* change had a much larger impact on our internal
test suite than PR #46708 (which was my original fix to #46112).
2017-12-19 15:04:02 +01:00
topecongiro
7374fdcf54 Remove a token after closing delimiter from the span of macro in type position 2017-12-19 21:18:30 +09:00
bors
b39c4bc123 Auto merge of #46749 - SimonSapin:exorcism, r=nikomatsakis
Move PhantomData<T> from Shared<T> to users of both Shared and #[may_dangle]

After discussing https://github.com/rust-lang/rust/issues/27730#issuecomment-316432083 today with @pnkfelix and @Gankro, we concluded that it’s ok for drop checking not to be much smarter than the current `#[may_dangle]` design which requires an explicit unsafe opt-in.
2017-12-19 10:50:15 +00:00
Niko Matsakis
1816ede386 be specific about what kind of normalization we mean 2017-12-19 04:28:45 -05:00
Niko Matsakis
3d826e5681 remove dead is_foo_free_region helpers
Only `is_local_free_region` is used.
2017-12-19 04:26:56 -05:00
Niko Matsakis
3c56c3610e fix comment on check_type_tests 2017-12-19 04:21:57 -05:00
Niko Matsakis
03bfb0f316 tweak comment on TypeTest to be more accurate 2017-12-19 04:18:15 -05:00
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
varkor
b59fbfdbe1 Move source-output conflict checking into compile_input 2017-12-19 01:54:00 +00:00
Diggory Blake
3e98f18280 Always print floats with a decimal point with the Debug formatter 2017-12-19 01:35:35 +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
varkor
b3c6102be3 Add a test for --sort-modules-by-appearance 2017-12-19 01:05:06 +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