Commit graph

3384 commits

Author SHA1 Message Date
Oliver Schneider
273025675d
Remove unused error code 2018-03-08 08:35:38 +01:00
Oliver Schneider
e8d357f070
Decide signdedness on the layout instead of the type 2018-03-08 08:35:37 +01:00
Oliver Schneider
3c663d0607
Tidy fix 2018-03-08 08:34:16 +01:00
Oliver Schneider
9857eaa4df
Nuke ConstInt and Const*size 2018-03-08 08:34:10 +01:00
Oliver Schneider
3b8d2e0016
Rename ConstVal::to_u128 to to_raw_bits 2018-03-08 08:34:10 +01:00
Oliver Schneider
b33e4e784e
Fully use miri in trans 2018-03-08 08:34:05 +01:00
Alexander Regueiro
b2b101befc
Prepare for using miri in trans 2018-03-08 08:09:01 +01:00
Oliver Schneider
28572d2c1f
Nuke the entire ctfe from orbit, it's the only way to be sure 2018-03-08 08:08:14 +01:00
Oliver Schneider
918b6d7633
Produce instead of pointers 2018-03-08 08:08:14 +01:00
Alex Crichton
b5bcb9a410 Merge branch 'incr_attr_queries' of https://github.com/wesleywiser/rust into update-cargo 2018-03-07 07:13:21 -08:00
Alex Crichton
584a28f0c0 Rollup merge of #48698 - ishitatsuyuki:burn-equate, r=nikomatsakis
Remove ty::Predicate::Equate and ty::EquatePredicate (dead code)

r? @nikomatsakis

I also killed the EquatePredicate subsystem. Does it look fine?

Close #48670
2018-03-07 07:09:52 -08:00
Wesley Wiser
368e586a3d Add linkage to TransFnAttrs
Part of #47320
2018-03-06 20:19:39 -05:00
Wesley Wiser
07890c5c59 Add target_features to TransFnAttrs
Part of #47320
2018-03-06 20:18:51 -05:00
Wesley Wiser
39f9d23b65 Add flag for rustc_std_internal_symbol attribute
Part of #47320
2018-03-06 20:18:51 -05:00
Wesley Wiser
6bc7f41955 Remove the contains_extern_indicator query
Part of #47320
2018-03-06 19:58:03 -05:00
Wesley Wiser
5460b88774 Remove export_name query
Part of #47320
2018-03-06 19:58:03 -05:00
Wesley Wiser
4f840a683a Add inline to TransFnAttrs
Part of #47320
2018-03-06 19:58:02 -05:00
Wesley Wiser
e8cd6cc237 Add query for trans fn attributes
Part of #47320
2018-03-06 19:58:02 -05:00
kennytm
fe77f5d764
Rollup merge of #48573 - Amanieu:bitreverse2, r=sfackler
Add functions for reversing the bit pattern in an integer

I'm reviving PR #32798 now that the LLVM issues have been resolved.

> This adds the bitreverse intrinsic and adds a reverse_bits function to all integer types.
2018-03-06 16:25:32 +08:00
Michael Woerister
542bc75dea Turn features() into a query. 2018-03-05 11:05:01 +01:00
Tatsuyuki Ishi
517f861fc5 Remove ty::Predicate::Equate and ty::EquatePredicate (dead code) 2018-03-04 10:25:51 +09:00
John Kåre Alsaker
b74e97cf42 Replace Rc with Lrc for shared data 2018-03-02 10:48:52 +01:00
bors
9cb18a92ad Auto merge of #48653 - Manishearth:rollup2, r=Manishearth
Another rollup

None
2018-03-02 06:08:15 +00:00
bors
ddfbf2b0f4 Auto merge of #47861 - sgrif:sg-rebase-chalkify-universe-refactorings, r=nikomatsakis
Rebased refactorings for Chalk

The code is Niko's, I just handled the rebase.

r? @nikomatsakis
2018-03-01 21:14:35 +00:00
Manish Goregaokar
39d5e1cba6 Rollup merge of #48446 - mark-i-m:e0245, r=mark-i-m
Remove E0245; improve E0404

Fix #36337

Somehow this is currently breaking --explain, but I don't understand how.

r? @estebank
2018-03-01 09:29:38 -08:00
Sean Griffin
e9eb1a6adc Fix bad rebase 2018-03-01 08:04:26 -07:00
Sean Griffin
4fb201dee5 Re-add some removed uses of Kind
Additional uses of this item were added to these files in #45701 and #46479
2018-03-01 08:04:26 -07:00
Niko Matsakis
13efaf0481 add universes to type inference variables 2018-03-01 08:04:26 -07:00
Niko Matsakis
047a8d0161 kill custom type inference defaults (these don't really work anyway) 2018-03-01 08:04:26 -07:00
Niko Matsakis
d4df52cacb introduce UniverseIndex into ParamEnv
Always using root environment for now.
2018-03-01 08:04:26 -07:00
Amanieu d'Antras
02e021b6d4 Add bitreverse intrinsic 2018-02-28 18:23:54 +00:00
Mark Mansi
2ec79f936a Remove E0245; improve E0404 explanation 2018-02-28 12:05:04 -06:00
Niko Matsakis
c84b7815b3 add a comment 2018-02-28 12:33:16 -03:00
leonardo.yvens
a7c7c8a4d7 Check only concrete defaults for well formedness 2018-02-28 12:33:16 -03:00
leonardo.yvens
c74f85f935 Check only predicates with a single param with a concrete default.
This is the most conservative possible and should be always correct.
2018-02-28 12:33:16 -03:00
leonardo.yvens
ac17948d0f Mark non-defaulted params as TyError to avoid a custom visitor. 2018-02-28 12:33:15 -03:00
leonardo.yvens
75997d85c5 Check WF of predicates with defaults only if all params have defaults 2018-02-28 12:33:15 -03:00
leonardo.yvens
addc404d32 Check WF of predicate with defaults only if all in LHS have default
Given a trait predicate, if all params appearing in the LHS have
defaults then it should be a backwards compatible predicate. We verify
that by checking the WF of predicate with all defaults substituted
simultaneously.
2018-02-28 12:33:15 -03:00
leonardo.yvens
35499aa9fc Expand comments, address nits. 2018-02-28 12:33:15 -03:00
leonardo.yvens
7c1b6848db use map_bound instead of skip_binder 2018-02-28 12:33:14 -03:00
leonardo.yvens
3b4a06272e Go back to checking only the LHS of trait predicates. 2018-02-28 12:33:14 -03:00
leonardo.yvens
d9c336afb7 default WF: Substitute defaults individually in the clauses. 2018-02-28 12:33:14 -03:00
leonardo.yvens
87c2ad048a default WF: Leverage type substitution, less workarounding
`Predicate` is `TypeFoldable`, use that. Be less clever with the
workaround.
2018-02-28 12:33:14 -03:00
leonardo.yvens
a6bb32c9cc Check WF of defaults even when there are no bounds. 2018-02-28 12:33:14 -03:00
leonardo.yvens
4d9703373d Type check defaults.
And refactor duplicated code.
2018-02-28 12:33:14 -03:00
Manish Goregaokar
2dba874d57
Rollup merge of #48452 - varkor:unpacked-kind, r=eddyb
Introduce UnpackedKind

This adds an `UnpackedKind` type as a typesafe counterpart to `Kind`. This should make future changes to kinds (such as const generics!) more resilient, as the type-checker will be able to catch more potential issues.

r? @eddyb
cc @yodaldevoid
2018-02-24 15:52:15 -08:00
Manish Goregaokar
90f21d4377
Rollup merge of #48448 - nikomatsakis:default-binding-mode-issue-46688, r=cramertj
reset default binding mode when we pass through a `&` pattern

Fixes #46688.

r? @cramertj
2018-02-24 15:52:14 -08:00
Manish Goregaokar
7738eb4ddb
Rollup merge of #48392 - estebank:string, r=petrochenkov
Handle custom diagnostic for `&str + String`

Now all of `&str + &str`, `&str + String` and `String + String` have relevant diagnostic output.
2018-02-24 15:52:09 -08:00
Manish Goregaokar
0957572109
Rollup merge of #48197 - bobtwinkles:two_phase_borrow_on_ops, r=nikomatsakis
Allow two-phase borrows of &mut self in ops

We need two-phase borrows of ops to be in the initial NLL release since without them lots of existing code will break. Fixes #48129.
CC @pnkfelix  and @nikomatsakis

r? @pnkfelix
2018-02-24 15:52:06 -08:00
Manish Goregaokar
1e67c1315b
Rollup merge of #48123 - nikomatsakis:issue-47244-expected-num-args, r=estebank
detect wrong number of args when type-checking a closure

Instead of creating inference variables for those argument types, use
the trait error-reporting code to give a nicer error. This also
improves some other spans for existing tests.

Fixes #47244

r? @estebank
2018-02-23 10:24:48 -08:00