Commit graph

12889 commits

Author SHA1 Message Date
David Wood
17b285d203
Added UserAssertTy statement. 2018-03-22 21:10:59 +00:00
kennytm
eb99deb9c6
Rollup merge of #49242 - Mrowqa:typaram-attrs, r=petrochenkov
Pass attributes to hir::TyParam

Required by https://github.com/servo/servo/pull/20264
Discussed here: https://gitter.im/servo/servo?at=5aafdcd1012ff2bf681da97a

CC @nikomatsakis
2018-03-22 22:43:53 +08:00
kennytm
50850c62c5
Rollup merge of #49069 - wesleywiser:incr_soa, r=michaelwoerister
Convert SerializedDepGraph to be a struct-of-arrays

Fixes #47326

I did not try the "`mem::swap()` to avoid copying the arrays" idea because that would leave the DepGraph in an incorrect state and that doesn't seem like a good idea for me.

r? @michaelwoerister
2018-03-22 22:43:33 +08:00
kennytm
b7ee149c47
Rollup merge of #48939 - wesleywiser:incr_query_wf_checking, r=michaelwoerister
Querify WF-checking so it can be cached

r? @michaelwoerister
2018-03-22 22:43:30 +08:00
bors
e575773141 Auto merge of #49041 - nikomatsakis:issue-46541-impl-trait-hidden-lifetimes, r=cramertj
Detect illegal hidden lifetimes in `impl Trait`

This branch fixes #46541 -- however, it presently doesn't build because it also *breaks* a number of existing usages of impl Trait. I'm opening it as a WIP for now, just because we want to move on impl Trait, but I'll try to fix the problem in a bit.

~~(The problem is due to the fact that we apparently infer stricter lifetimes in closures that we need to; for example, if you capture a variable of type `&'a &'b u32`, we will put *precisely* those lifetimes into the closure, even if the closure would be happy with `&'a &'a u32`. This causes the present chance to affect things that are not invariant.)~~ fixed

r? @cramertj
2018-03-22 06:56:16 +00:00
Niko Matsakis
2e8a1abc2d also fix the Fixed code 2018-03-21 19:23:29 -04:00
Niko Matsakis
48c4e352d3 WIP do not use in-band lifetimes 2018-03-21 19:22:41 -04:00
Mrowqa
99b49b532c Now it compiles 2018-03-21 23:11:27 +01:00
Niko Matsakis
3955708576 WIP tweak example to include feature gate 2018-03-21 16:31:20 -04:00
Niko Matsakis
9d5ec9ef1a work around fallout from these changes in rustc 2018-03-21 05:40:59 -04:00
Niko Matsakis
fc3c90cf8a report an error if we see an unexpected lifetime in impl Trait
But leave closure substs alone.
2018-03-21 05:40:59 -04:00
bors
c19264fa83 Auto merge of #49200 - oli-obk:extern_static_metadata, r=michaelwoerister
Encode/decode extern statics in metadata and incremental cache

fixes #49153

cc @abonander

r? @michaelwoerister incremental ICE
2018-03-21 01:06:16 +00:00
Mrowqa
25abe48307 Pass attributes to hir::TyParam 2018-03-20 22:12:31 +01:00
Niko Matsakis
a9cbfaa296 rewrite to use a custom folder 2018-03-20 16:09:42 -04:00
bors
75af15ee6c Auto merge of #49190 - kennytm:rollup, r=kennytm
Rollup of 17 pull requests

- Successful merges: #46518, #48810, #48834, #48902, #49004, #49092, #49096, #49099, #49104, #49125, #49139, #49152, #49157, #49161, #49166, #49176, #49184
- Failed merges:
2018-03-20 10:18:34 +00:00
Oliver Schneider
13bfbe1394
Encode/decode extern statics in metadata and incremental cache 2018-03-20 10:36:45 +01:00
Wesley Wiser
c43b1a09e0 Convert SerializedDepGraph to be a struct-of-arrays
Fixes #47326
2018-03-19 19:45:35 -04:00
Vadim Petrochenkov
7c90189e13 Stabilize slice patterns without ..
Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`
2018-03-20 02:27:40 +03:00
kennytm
7bc9fe3250
Rollup merge of #49092 - mark-i-m:deptrack_readme, r=nikomatsakis
Replace many of the last references to readmes

In particular, this removes the dep track readme, so it should not be merged before https://github.com/rust-lang-nursery/rustc-guide/pull/92

Fix #47935

cc #48478

r? @nikomatsakis
2018-03-20 07:15:19 +08:00
kennytm
28eced1cb5
Rollup merge of #49004 - wesleywiser:incr_specialization_graph_query, r=michaelwoerister
Cache the specialization_graph query

Fixes #48987

r? @michaelwoerister
2018-03-20 07:15:18 +08:00
kennytm
49b584ce60
Rollup merge of #48834 - ysiraichi:suggest-remove-ref, r=estebank
Suggest removing `&`s

This implements the error message discussed in #47744.
We check whether removing each `&` yields a type that satisfies the requested obligation.
Also, it was created a new `NodeId` field in `ObligationCause` in order to iterate through the `&`s. The way it's implemented now, it iterates through the obligation snippet and counts the number of `&`.

r? @estebank
2018-03-20 07:15:15 +08:00
bors
a04b88d194 Auto merge of #49079 - oli-obk:cross_miri, r=michaelwoerister
Cleanup metadata and incremental cache processing of constants

fixes #49033
fixes #49081

we really need tests for this. do we have any cross compilation tests? I couldn't find any
2018-03-19 10:39:26 +00:00
bors
15add366fa Auto merge of #49091 - nikomatsakis:issue-49043-ty-infer-hash, r=michaelwoerister
extend stable hasher to support `CanonicalTy`

Fixes #49043

r? @michaelwoerister
2018-03-19 05:07:27 +00:00
Yukio Siraichi
736ba433ac Cleaned comments and extras s. 2018-03-18 20:58:56 -03:00
Yukio Siraichi
74a4928ed4 Review fixes.
- `span_suggestion` changed to `span_suggestion_short`;
- `Span` used changed to contain only `&` refs;
- Tests passing.
2018-03-18 20:46:28 -03:00
Yukio Siraichi
c1ba5ac62c Reporting with span_suggestion_short. 2018-03-18 20:46:28 -03:00
Yukio Siraichi
f41dc775a3 Keeping code formatting.
Suggesting snippet without changing the original formatting of the code.
2018-03-18 20:46:27 -03:00
Yukio Siraichi
97b66d2987 Review fixes.
- `suggest_snippet` handling space between refs;
- Suggest message changing according to the number of refs that should
be removed.
2018-03-18 20:46:27 -03:00
Yukio Siraichi
4dd45069fe Refactored with high-order functions. 2018-03-18 20:46:24 -03:00
bors
7c396ebd0b Auto merge of #48985 - scalexm:lowering, r=nikomatsakis
MVP for chalkification

r? @nikomatsakis
2018-03-18 07:35:43 +00:00
bors
5e3ecdce4e Auto merge of #48917 - petrochenkov:import, r=oli-obk
syntax: Make imports in AST closer to the source and cleanup their parsing

This is a continuation of https://github.com/rust-lang/rust/pull/45846 in some sense.
2018-03-18 01:50:52 +00:00
Vadim Petrochenkov
f88162654d Rename Span::empty to Span::shrink_to_lo, add Span::shrink_to_hi 2018-03-17 22:12:21 +03:00
Vadim Petrochenkov
e5fb13897d AST: Keep distinction between path and ::path in imports and visibilities
Add the root segment for name resolution purposes only
2018-03-17 22:12:21 +03:00
Vadim Petrochenkov
b057c554ab AST: Make renames in imports closer to the source
Fix `unused_import_braces` lint false positive on `use prefix::{self as rename}`
2018-03-17 22:12:21 +03:00
Vadim Petrochenkov
c6c6cf9515 AST/HIR: Clarify what the optional name in extern crate items mean 2018-03-17 22:12:21 +03:00
Vadim Petrochenkov
5d06c890fe syntax: Make _ an identifier 2018-03-17 22:08:07 +03:00
Yukio Siraichi
fab7020bd9 Add span_suggestion while removing TyRefs based on the snippet String. 2018-03-17 15:53:33 -03:00
bors
61b6bf54fd Auto merge of #49106 - kennytm:rollup, r=kennytm
Rollup of 8 pull requests

- Successful merges: #48943, #48960, #48983, #49055, #49057, #49077, #49082, #49083
- Failed merges:
2018-03-17 11:39:38 +00:00
kennytm
ef9581e757
Rollup merge of #49083 - oli-obk:mopsgeschwindigkeit, r=michaelwoerister
Only generate miri backtraces if explicitly requested

fixes #49072
fixes #48888

r? @michaelwoerister
2018-03-17 17:20:49 +08:00
kennytm
c9d06a4a4e
Rollup merge of #48960 - nikomatsakis:issue-48468-dyn-trait-elision, r=cramertj
resolve `'_` in `dyn Trait` just like ordinary elision

r? @cramertj

Fixes #48468
2018-03-17 17:20:42 +08:00
bors
c3fd5d0dde Auto merge of #48904 - Zoxc:code-and-file-maps, r=michaelwoerister
Make CodeMap and FileMap thread-safe

r? @michaelwoerister
2018-03-17 08:54:22 +00:00
bors
cf5cc2e41e Auto merge of #49088 - michaelwoerister:fix-49070, r=nikomatsakis
incr.comp.: Make sanity check in try_mark_green() aware of error conditions.

Before this PR, `DepGraph::try_mark_green()` assumed that forcing a query would always set the color of the corresponding dep-node. However, it did not take into account that queries could also fail (e.g. with a cycle error). This PR makes the method handle that condition gracefully.

Fixes #49070.

r? @nikomatsakis
2018-03-17 00:48:10 +00:00
Mark Mansi
50f2884dcd Replace many of the last references to readmes 2018-03-16 12:43:22 -05:00
Niko Matsakis
f02dc74c2c extend stable hasher to support CanonicalTy 2018-03-16 12:49:37 -04:00
Oliver Schneider
49dac83f84
Cleanup metadata and incremental cache processing of constants 2018-03-16 17:22:37 +01:00
Michael Woerister
ee4a7eba45 incr.comp.: Make sanity check in try_mark_green() aware of error conditions. 2018-03-16 16:19:12 +01:00
bors
3b6412b943 Auto merge of #48896 - alexcrichton:bitcode-in-object, r=michaelwoerister
rustc: Enable embedding LLVM bitcode for iOS

This commit updates rustc to embed bitcode in each object file generated by
default when compiling for iOS. This was determined in #35968 as a step
towards better compatibility with the iOS toolchain, so let's give it a spin and
see how it turns out!

Note that this also updates the `cc` dependency which should propagate this
change of embedding bitcode for C dependencies as well.
2018-03-16 13:48:20 +00:00
Oliver Schneider
4133b16036
Only generate miri backtraces if explicitly requested 2018-03-16 11:48:32 +01:00
Wesley Wiser
4f1f389d06 Queryify check_impl_item_well_formed
Fixes #46753
2018-03-15 23:11:09 -04:00
Wesley Wiser
edbd02fd35 Queryify check_trait_item_well_formed
Fixes #46753
2018-03-15 23:11:09 -04:00