about summary refs log tree commit diff
path: root/src/librustc_const_eval
AgeCommit message (Collapse)AuthorLines
2016-11-08add more commentAriel Ben-Yehuda-14/+61
2016-11-08Auto merge of #36843 - petrochenkov:dotstab, r=nikomatsakisbors-1/+1
Stabilize `..` in tuple (struct) patterns I'd like to nominate `..` in tuple and tuple struct patterns for stabilization. This feature is a relatively small extension to existing stable functionality and doesn't have known blockers. The feature first appeared in Rust 1.10 6 months ago. An example of use: https://github.com/rust-lang/rust/pull/36203 Closes https://github.com/rust-lang/rust/issues/33627 r? @nikomatsakis
2016-11-08Replace FnvHasher use with FxHasher.Nicholas Nethercote-3/+3
This speeds up compilation by 3--6% across most of rustc-benchmarks.
2016-11-05Rollup merge of #37577 - nnethercote:shrink-Expr-slightly, r=eddybAlex Crichton-1/+1
Shrink `hir::Expr` slightly r? @eddyb
2016-11-05Rollup merge of #37557 - TimNN:fix-36954, r=eddybAlex Crichton-7/+6
Use DefId's in const eval for cross-crate const fn's Fixes #36954. r? @eddyb cc @raphaelcohn
2016-11-05_match: correct max_slice_length logicAriel Ben-Yehuda-8/+50
The logic used to be wildly wrong, but before the HAIR patch its wrongness was hidden by another bug. Fixes #37598.
2016-11-04Shrink `Expr_::ExprStruct`.Nicholas Nethercote-1/+1
On 64-bit platforms this reduces the size of `Expr_` from 64 bytes to 56 bytes, and reduces the size of `Expr` from 88 bytes to 80 bytes.
2016-11-03use DefId's in const eval for cross-crate const fn'sTim Neumann-7/+6
2016-11-03Stabilize `..` in tuple (struct) patternsVadim Petrochenkov-1/+1
2016-11-02rustc: make all read access to tcx.tables go through a method.Eduard Burtescu-17/+20
2016-10-31Changed most vec! invocations to use square bracesiirelu-3/+3
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-28rustc: move mir::repr::* to mir.Eduard Burtescu-1/+1
2016-10-27Address comments + Fix rebaseVadim Petrochenkov-1/+1
2016-10-27Make sufficiently old or low-impact compatibility lints deny-by-defaultVadim Petrochenkov-2/+0
2016-10-26flatten nested slice patterns in HAIR constructionAriel Ben-Yehuda-10/+43
nested slice patterns have the same functionality as non-nested ones, so flatten them in HAIR construction. Fixes #26158.
2016-10-26handle mixed byte literal and byte array patternsAriel Ben-Yehuda-50/+145
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-26remove StaticInliner and NaN checkingAriel Ben-Yehuda-231/+183
NaN checking was a lint for a deprecated feature. It can go away.
2016-10-26stop using MatchCheckCtxt to hold the param-env for check_matchAriel Ben-Yehuda-135/+161
2016-10-26change match checking to use HAIRAriel Ben-Yehuda-254/+376
no intended functional changes
2016-10-26un-break the `construct_witness` logicAriel Ben-Yehuda-150/+187
Fixes #35609.
2016-10-26split the exhaustiveness-checking logic to its own moduleAriel Ben-Yehuda-682/+726
`check_match` is now left with its grab bag of random checks.
2016-10-26refactor the `pat_is_catchall` logicAriel Ben-Yehuda-20/+20
2016-10-26move hair::cx::pattern to const_evalAriel Ben-Yehuda-0/+380
2016-10-26use a struct abstraction in check_matchAriel Ben-Yehuda-60/+94
2016-10-26remove SliceWithSubslice, only used from old transAriel Ben-Yehuda-12/+0
2016-10-26comment some ugly points in check_matchAriel Ben-Yehuda-15/+23
2016-10-12Rollup merge of #37056 - Mark-Simulacrum:fix-bool-comparison, r=blussAlex Crichton-0/+4
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-12Rollup merge of #36995 - nrc:stable, r=@nikomatsakisAlex Crichton-1/+1
stabilise ?, attributes on stmts, deprecate Reflect r? @nikomatsakis
2016-10-12Stabilise `?`Nick Cameron-1/+1
cc [`?` tracking issue](https://github.com/rust-lang/rust/issues/31436)
2016-10-10Add comparison operators to boolean const eval.Mark-Simulacrum-0/+4
2016-10-09Update E0303 to new error formatJohn Firebaugh-2/+4
2016-10-06Rollup merge of #36909 - GuillaumeGomez:merge_e0002_e0004, r=arielb1Jonathan Turner-7/+15
Merge E0002 into E0004 Fixes #36724. r? @jonathandturner
2016-10-04Turn some impossible definitions into ICEsVadim Petrochenkov-11/+13
2016-10-04Eliminate ty::VariantKind in favor of def::CtorKindVadim Petrochenkov-5/+5
2016-10-04Separate Def::StructCtor/Def::VariantCtor from Def::Struct/Def::VariantVadim Petrochenkov-11/+11
2016-10-02Merge E0002 into E0004Guillaume Gomez-7/+15
2016-09-28Fix rebase falloutJonas Schievink-4/+4
2016-09-28Call arrays "arrays" instead of "vecs" internallyJonas Schievink-9/+9
2016-09-23Auto merge of #36335 - mcarton:compiletest, r=GuillaumeGomezbors-8/+8
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-20rustc_metadata: group information into less tags.Eduard Burtescu-9/+8
2016-09-20rustc: remove ImplOrTraitItemId and TraitDef's associated_type_names.Eduard Burtescu-7/+5
2016-09-20rustc_metadata: move more RBML tags to auto-serialization.Eduard Burtescu-3/+11
2016-09-20rustc_metadata: remove ty{en,de}code and move to auto-derived serialization.Eduard Burtescu-14/+13
2016-09-20rustc: remove hir::fold.Eduard Burtescu-50/+55
2016-09-20rustc: replace uses of NodeId in Def, other than closures and labels.Eduard Burtescu-1/+2
2016-09-20rustc_metadata: go only through rustc_serialize in astencode.Eduard Burtescu-2/+2
2016-09-20Don't ICE when a float can't be parsedmcarton-8/+8
2016-09-13Auto merge of #36041 - ahmedcharles:try, r=nrcbors-22/+19
Replace try! with ?.
2016-09-11Use question_mark feature in librustc_const_eval.Ahmed Charles-22/+19
2016-09-10Update E0297 to new error formatJohn Firebaugh-2/+5