about summary refs log tree commit diff
path: root/src/librustc_const_eval/lib.rs
AgeCommit message (Collapse)AuthorLines
2018-03-28Delete leftover librustc_const_evalOliver Schneider-59/+0
Probably accidentally reintroduced in a rebase/merge
2018-03-26Stabilize i128_typeMark Mansi-1/+1
2018-03-20Stabilize slice patterns without `..`Vadim Petrochenkov-1/+0
Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`
2018-03-13add `canonicalize` method to `InferCtxt` [VIC]Niko Matsakis-0/+1
2018-02-20stage0 cfg cleanupMark Simulacrum-1/+0
2018-01-04rustc: Don't use relative paths for extended errorsAlex Crichton-0/+1
These no longer work now that Cargo changes the cwd of rustc while it's running. Instead use an absolute path that's set by rustbuild.
2017-12-12Move large chunks of miri from rustc::mir::interpret to rustc_mir::interpretOliver Schneider-1/+0
2017-12-06Update miri to rustc changesOliver Schneider-4/+11
2017-09-16change #![feature(const_fn)] to specific gatesAlex Burka-1/+3
2017-08-25*: remove crate_{name,type} attributesTamir Duberstein-3/+0
Fixes #41701.
2017-08-19rustc: Remove some dead codeVadim Petrochenkov-1/+1
2017-06-19Bump version and stage0 compilerAlex Crichton-4/+0
2017-05-11rustc: Remove #![unstable] annotationAlex Crichton-3/+4
These are now no longer necessary with `-Z force-unstable-if-unmarked`
2017-04-16rustc_const_eval: move ConstEvalErr to the rustc crate.Eduard-Mihai Burtescu-1/+0
2017-02-25rustc_const_eval: always demand typeck_tables for evaluating constants.Eduard-Mihai Burtescu-0/+1
2017-02-03Bump version, upgrade bootstrapAlex Crichton-2/+1
This commit updates the version number to 1.17.0 as we're not on that version of the nightly compiler, and at the same time this updates src/stage0.txt to bootstrap from freshly minted beta compiler and beta Cargo.
2017-01-22Remove unused `extern crate`s.Jeffrey Seyfried-1/+0
2016-12-30Such large. Very 128. Much bits.Simonas Kazlauskas-0/+3
This commit introduces 128-bit integers. Stage 2 builds and produces a working compiler which understands and supports 128-bit integers throughout. The general strategy used is to have rustc_i128 module which provides aliases for iu128, equal to iu64 in stage9 and iu128 later. Since nowhere in rustc we rely on large numbers being supported, this strategy is good enough to get past the first bootstrap stages to end up with a fully working 128-bit capable compiler. In order for this strategy to work, number of locations had to be changed to use associated max_value/min_value instead of MAX/MIN constants as well as the min_value (or was it max_value?) had to be changed to use xor instead of shift so both 64-bit and 128-bit based consteval works (former not necessarily producing the right results in stage1). This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-11-30Update the bootstrap compilerAlex Crichton-2/+0
Now that we've got a beta build, let's use it!
2016-11-03Stabilize `..` in tuple (struct) patternsVadim Petrochenkov-1/+1
2016-10-26change match checking to use HAIRAriel Ben-Yehuda-0/+1
no intended functional changes
2016-10-26split the exhaustiveness-checking logic to its own moduleAriel Ben-Yehuda-0/+1
`check_match` is now left with its grab bag of random checks.
2016-10-26move hair::cx::pattern to const_evalAriel Ben-Yehuda-0/+2
2016-10-12Stabilise `?`Nick Cameron-1/+1
cc [`?` tracking issue](https://github.com/rust-lang/rust/issues/31436)
2016-09-04Replace `_, _, _` with `..`Vadim Petrochenkov-1/+1
2016-07-22refactor constant evaluation error reportingAriel Ben-Yehuda-0/+1
Refactor constant evaluation to use a single error reporting function that reports a type-error-like message. Also, unify all error codes with the "constant evaluation error" message to just E0080, and similarly for a few other duplicate codes. The old situation was a total mess, and now that we have *something* we can further iterate on the UX.
2016-07-03std: Stabilize APIs for the 1.11.0 releaseAlex Crichton-1/+0
Although the set of APIs being stabilized this release is relatively small, the trains keep going! Listed below are the APIs in the standard library which have either transitioned from unstable to stable or those from unstable to deprecated. Stable * `BTreeMap::{append, split_off}` * `BTreeSet::{append, split_off}` * `Cell::get_mut` * `RefCell::get_mut` * `BinaryHeap::append` * `{f32, f64}::{to_degrees, to_radians}` - libcore stabilizations mirroring past libstd stabilizations * `Iterator::sum` * `Iterator::product` Deprecated * `{f32, f64}::next_after` * `{f32, f64}::integer_decode` * `{f32, f64}::ldexp` * `{f32, f64}::frexp` * `num::One` * `num::Zero` Added APIs (all unstable) * `iter::Sum` * `iter::Product` * `iter::Step` - a few methods were added to accomodate deprecation of One/Zero Removed APIs * `From<Range<T>> for RangeInclusive<T>` - everything about `RangeInclusive` is unstable Closes #27739 Closes #27752 Closes #32526 Closes #33444 Closes #34152 cc #34529 (new tracking issue)
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-1/+1
2016-04-11don't report errors in constants at every use siteOliver Schneider-0/+2
2016-04-06rustc: move rustc_front to rustc::hir.Eduard Burtescu-1/+0
2016-03-31librustc_const_eval: use bug!(), span_bug!()Benjamin Herr-1/+1
2016-03-30move `const_eval` and `check_match` out of `librustc`Oliver Schneider-0/+53
2016-03-30rename `rustc_const_eval` to `rustc_const_math`Oliver Schneider-43/+0
2016-03-22sprinkle feature gates here and thereJorge Aparicio-0/+1
2016-03-10typestrong constant integersOliver Schneider-0/+42