Alex Crichton
b4aee37224
Rollup merge of #37557 - TimNN:fix-36954, r=eddyb
...
Use DefId's in const eval for cross-crate const fn's
Fixes #36954 .
r? @eddyb
cc @raphaelcohn
2016-11-05 10:50:23 -07:00
Tim Neumann
dc138b3156
use DefId's in const eval for cross-crate const fn's
2016-11-03 12:05:45 +01:00
Eduard Burtescu
6a8d131e5d
rustc: make all read access to tcx.tables go through a method.
2016-11-02 03:50:32 +02:00
iirelu
e593c3b893
Changed most vec! invocations to use square braces
...
Most of the Rust community agrees that the vec! macro is clearer when
called using square brackets [] instead of regular brackets (). Most of
these ocurrences are from before macros allowed using different types of
brackets.
There is one left unchanged in a pretty-print test, as the pretty
printer still wants it to have regular brackets.
2016-10-31 22:51:40 +00:00
Eduard Burtescu
36340ba994
rustc: move mir::repr::* to mir.
2016-10-28 10:37:24 +03:00
Vadim Petrochenkov
8a38928b44
Address comments + Fix rebase
2016-10-27 22:20:25 +03:00
Vadim Petrochenkov
2a85211040
Make sufficiently old or low-impact compatibility lints deny-by-default
2016-10-27 12:06:03 +03:00
Ariel Ben-Yehuda
41578507a6
flatten nested slice patterns in HAIR construction
...
nested slice patterns have the same functionality as non-nested
ones, so flatten them in HAIR construction.
Fixes #26158 .
2016-10-26 23:52:03 +03:00
Ariel Ben-Yehuda
8d3e89b484
handle mixed byte literal and byte array patterns
...
Convert byte literal pattern to byte array patterns when they are both
used together. so matching them is properly handled. I could've done the
conversion eagerly, but that could have caused a bad worst-case for
massive byte-array matches.
Fixes #18027 .
Fixes #25051 .
Fixes #26510 .
2016-10-26 23:10:30 +03:00
Ariel Ben-Yehuda
76fb7d90ec
remove StaticInliner and NaN checking
...
NaN checking was a lint for a deprecated feature. It can go away.
2016-10-26 22:41:17 +03:00
Ariel Ben-Yehuda
37418b850f
stop using MatchCheckCtxt to hold the param-env for check_match
2016-10-26 22:41:17 +03:00
Ariel Ben-Yehuda
e313d8b290
change match checking to use HAIR
...
no intended functional changes
2016-10-26 22:41:17 +03:00
Ariel Ben-Yehuda
04a92a1f56
un-break the construct_witness logic
...
Fixes #35609 .
2016-10-26 22:41:17 +03:00
Ariel Ben-Yehuda
abae5e7e25
split the exhaustiveness-checking logic to its own module
...
`check_match` is now left with its grab bag of random checks.
2016-10-26 22:41:17 +03:00
Ariel Ben-Yehuda
48387c8bd9
refactor the pat_is_catchall logic
2016-10-26 22:41:17 +03:00
Ariel Ben-Yehuda
732f22745d
move hair::cx::pattern to const_eval
2016-10-26 22:41:17 +03:00
Ariel Ben-Yehuda
bb5afb4121
use a struct abstraction in check_match
2016-10-26 22:41:16 +03:00
Ariel Ben-Yehuda
b69cca6da4
remove SliceWithSubslice, only used from old trans
2016-10-26 22:41:16 +03:00
Ariel Ben-Yehuda
e5c01f4633
comment some ugly points in check_match
2016-10-26 22:41:16 +03:00
Alex Crichton
a0ad6616fc
Rollup merge of #37056 - Mark-Simulacrum:fix-bool-comparison, r=bluss
...
Add comparison operators to boolean const eval.
I think it might be worth adding tests here, but since I don't know how or where to do that, I have not done so yet. Willing to do so if asked and given an explanation as to how.
Fixes #37047 .
2016-10-12 14:07:55 -07:00
Alex Crichton
9d70ff384f
Rollup merge of #36995 - nrc:stable, r=@nikomatsakis
...
stabilise ?, attributes on stmts, deprecate Reflect
r? @nikomatsakis
2016-10-12 14:07:55 -07:00
Nick Cameron
9bc6d26092
Stabilise ?
...
cc [`?` tracking issue](https://github.com/rust-lang/rust/issues/31436 )
2016-10-12 08:40:22 +13:00
Mark-Simulacrum
f9c73adce8
Add comparison operators to boolean const eval.
2016-10-10 09:58:00 -06:00
John Firebaugh
9d364267d6
Update E0303 to new error format
2016-10-09 11:41:59 -07:00
Jonathan Turner
5a199bf3fc
Rollup merge of #36909 - GuillaumeGomez:merge_e0002_e0004, r=arielb1
...
Merge E0002 into E0004
Fixes #36724 .
r? @jonathandturner
2016-10-06 08:35:41 -07:00
Vadim Petrochenkov
bd291ce21a
Turn some impossible definitions into ICEs
2016-10-04 22:25:25 +03:00
Vadim Petrochenkov
75d6522b9a
Eliminate ty::VariantKind in favor of def::CtorKind
2016-10-04 22:22:36 +03:00
Vadim Petrochenkov
da7b1c984c
Separate Def::StructCtor/Def::VariantCtor from Def::Struct/Def::Variant
2016-10-04 22:20:37 +03:00
Guillaume Gomez
cb22364f32
Merge E0002 into E0004
2016-10-02 15:45:06 +02:00
Jonas Schievink
bc2b28387c
Fix rebase fallout
2016-09-28 22:31:20 +02:00
Jonas Schievink
cf0b7bdd0c
Call arrays "arrays" instead of "vecs" internally
2016-09-28 22:30:30 +02:00
bors
86a686c4f7
Auto merge of #36335 - mcarton:compiletest, r=GuillaumeGomez
...
Fix ICE test in compiletest fail-tests
While working on Clippy which uses *compiletest*, I noticed that as long as all expected error are found, *compile-fail* tests will be marked *ok* even if there is an ICE. One function seems to have not been updated with JSON errors because ICEs are now reported like this:
```json
{"message":"../src/librustc/ty/context.rs:161: Attempted to intern `_` which contains inference types/regions in the global type context","code":null,"level":"error: internal compiler error","spans":[],"children":[],"rendered":null}
```
I don't think I can add a test for that.
I guess:
r? @nikomatsakis
2016-09-23 06:17:26 -07:00
Eduard Burtescu
ef4352fba6
rustc_metadata: group information into less tags.
2016-09-20 20:08:04 +03:00
Eduard Burtescu
89736e8671
rustc: remove ImplOrTraitItemId and TraitDef's associated_type_names.
2016-09-20 20:08:03 +03:00
Eduard Burtescu
8734aaa33e
rustc_metadata: move more RBML tags to auto-serialization.
2016-09-20 20:08:02 +03:00
Eduard Burtescu
88c5679c4e
rustc_metadata: remove ty{en,de}code and move to auto-derived serialization.
2016-09-20 20:08:01 +03:00
Eduard Burtescu
02c4155d2c
rustc: remove hir::fold.
2016-09-20 20:08:00 +03:00
Eduard Burtescu
903ec52ba9
rustc: replace uses of NodeId in Def, other than closures and labels.
2016-09-20 20:08:00 +03:00
Eduard Burtescu
fc363cb482
rustc_metadata: go only through rustc_serialize in astencode.
2016-09-20 20:07:54 +03:00
mcarton
726c2b6e9b
Don't ICE when a float can't be parsed
2016-09-20 18:25:00 +02:00
bors
739d57180f
Auto merge of #36041 - ahmedcharles:try, r=nrc
...
Replace try! with ?.
2016-09-13 22:41:34 -07:00
Ahmed Charles
509aa235ba
Use question_mark feature in librustc_const_eval.
2016-09-11 16:02:44 -07:00
John Firebaugh
f647db4c8a
Update E0297 to new error format
2016-09-10 13:22:19 -07:00
Vadim Petrochenkov
f2b672d556
Refactor TyStruct/TyEnum/TyUnion into TyAdt
2016-09-08 22:17:53 +03:00
Vadim Petrochenkov
e05e74ac83
Replace _, _ with ..
2016-09-04 12:30:33 +03:00
Vadim Petrochenkov
6f7e51e49b
Replace _, _, _ with ..
2016-09-04 12:27:01 +03:00
Vadim Petrochenkov
d9b332bd69
Translate union constants
...
Fix alignment for packed unions
Add some missing privacy test
Get rid of `unimplemented_unions` macro
2016-09-03 13:39:35 +03:00
Vadim Petrochenkov
641d8e9e4c
Some better support for unions through the compiler
2016-09-03 13:39:34 +03:00
Gavin Baker
28c5edb9f6
E0165 Update error format #35270
...
- Fixes #35270
- Part of #35233
r? @jonathandturner
2016-08-30 09:50:55 +10:00
Eduard Burtescu
dffd238f8b
rustc: pass ty::Region behind an interned 'tcx reference.
2016-08-27 01:15:06 +03:00