| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-09-18 | incr.comp.: Already hash HIR bodies during metadata export so they don't ↵ | Michael Woerister | -3/+2 | |
| have to be hashed in downstream crates. | ||||
| 2017-09-11 | rustc: evaluate fixed-length array length expressions lazily. | Eduard-Mihai Burtescu | -1/+2 | |
| 2017-09-11 | rustc: remove obsolete const_val::ErrKind::{Negate,Not}On. | Eduard-Mihai Burtescu | -6/+4 | |
| 2017-09-11 | rustc: use ty::Const for the length of TyArray. | Eduard-Mihai Burtescu | -3/+8 | |
| 2017-09-11 | rustc: replace usize with u64 and ConstUsize. | Eduard-Mihai Burtescu | -11/+12 | |
| 2017-09-11 | rustc: introduce ty::Const { ConstVal, Ty }. | Eduard-Mihai Burtescu | -30/+31 | |
| 2017-09-11 | rustc: intern ConstVal's in TyCtxt. | Eduard-Mihai Burtescu | -66/+76 | |
| 2017-09-08 | Use NodeId/HirId instead of DefId for local variables. | Eduard-Mihai Burtescu | -12/+12 | |
| 2017-09-05 | rustc: Store InternedString in `DefPathData` | Alex Crichton | -1/+1 | |
| Previously a `Symbol` was stored there, but this ended up causing hash collisions in situations that otherwise shouldn't have a hash collision. Only the symbol's string value was hashed, but it was possible for distinct symbols to have the same string value, fooling various calcuations into thinking that these paths *didn't* need disambiguating data when in fact they did! By storing `InternedString` instead we're hopefully triggering all the exising logic to disambiguate paths with same-name `Symbol` but actually distinct locations. | ||||
| 2017-09-05 | rustc: Rename item_body query to extern_const_body | Alex Crichton | -2/+2 | |
| Should hopefully more accurately reflect what's happening! This commit also removes the cache in the cstore implementation as it's already cached through the query infrastructure. | ||||
| 2017-09-05 | rustc: Migrate `CrateStore::item_body` to a query | Alex Crichton | -2/+2 | |
| This commit migrates the `item_body` method on `CrateStore` to a query instead to enable better tracking of dependencies and whatnot. | ||||
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -1/+1 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-08-14 | Auto merge of #43740 - michaelwoerister:local-id-in-typecktables, r=arielb1 | bors | -2/+2 | |
| Use hir::ItemLocalId as keys in TypeckTables. This PR makes `TypeckTables` use `ItemLocalId` instead of `NodeId` as key. This is needed for incremental compilation -- for stable hashing and for being able to persist and reload these tables. The PR implements the most important part of https://github.com/rust-lang/rust/issues/40303. Some notes on the implementation: * The PR adds the `HirId` to HIR nodes where needed (`Expr`, `Local`, `Block`, `Pat`) which obviates the need to store a `NodeId -> HirId` mapping in crate metadata. Thanks @eddyb for the suggestion! In the future the `HirId` should completely replace the `NodeId` in HIR nodes. * Before something is read or stored in one of the various `TypeckTables` subtables, the entry's key is validated via the new `TypeckTables::validate_hir_id()` method. This makes sure that we are not mixing information from different items in a single table. That last part could be made a bit nicer by either (a) new-typing the table-key and making `validate_hir_id()` the only way to convert a `HirId` to the new-typed key, or (b) just encapsulate sub-table access a little better. This PR, however, contents itself with not making things significantly worse. Also, there's quite a bit of switching around between `NodeId`, `HirId`, and `DefIndex`. These conversions are cheap except for `HirId -> NodeId`, so if the valued reviewer finds such an instance in a performance critical place, please let me know. Ideally we convert more and more code from `NodeId` to `HirId` in the future so that there are no more `NodeId`s after HIR lowering anywhere. Then the amount of switching should be minimal again. r? @eddyb, maybe? | ||||
| 2017-08-12 | Fix some typos | Bastien Orivel | -1/+1 | |
| 2017-08-11 | Use ItemLocalId as key for node_types, node_substs, and adjustments in ↵ | Michael Woerister | -1/+1 | |
| TypeckTables. | ||||
| 2017-08-11 | Make TypeckTables::type_dependent_defs use ItemLocalId instead of NodeId. | Michael Woerister | -1/+1 | |
| 2017-08-02 | rustc_const_math: use apfloat::ieee::{Single,Double} in ConstFloat. | Eduard-Mihai Burtescu | -28/+27 | |
| 2017-07-27 | rustc_const_eval: keep track of the appropriate ParamEnv. | Eduard-Mihai Burtescu | -35/+33 | |
| 2017-07-27 | rustc_const_eval: always require correct Substs. | Eduard-Mihai Burtescu | -38/+15 | |
| 2017-07-19 | Implement const fn {size,align}_of. | Eduard-Mihai Burtescu | -0/+23 | |
| 2017-06-13 | On-demand is_const_fn | Taylor Cramer | -1/+1 | |
| 2017-06-10 | rustc: make the comon case of tcx.infer_ctxt(()) nicer. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-06-01 | strip param-env from infcx | Niko Matsakis | -1/+3 | |
| 2017-06-01 | move projection mode into parameter environment | Niko Matsakis | -1/+1 | |
| 2017-06-01 | rustc: remove unnecessary ItemSubsts wrapper. | Eduard-Mihai Burtescu | -2/+1 | |
| 2017-05-04 | trait_of_item | achernyak | -1/+1 | |
| 2017-04-27 | query for describe_def | achernyak | -1/+1 | |
| 2017-04-24 | rustc: use tcx.at(span) to set the location of a query. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-04-24 | rustc: expose the common DUMMY_SP query case as tcx methods. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-04-24 | rustc: rename some of the queries to match tcx methods. | Eduard-Mihai Burtescu | -3/+3 | |
| 2017-04-23 | rustc_const_eval: support all unit enum variants. | Eduard-Mihai Burtescu | -44/+33 | |
| 2017-04-23 | rustc_const_eval: CallOn isn't needed, typeck/const-qualif handle those cases. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-04-23 | rustc: make the const-eval cache polymorphic. | Eduard-Mihai Burtescu | -104/+81 | |
| 2017-04-16 | rustc: use monomorphic const_eval for cross-crate enum discriminants. | Eduard-Mihai Burtescu | -4/+7 | |
| 2017-04-16 | rustc: expose monomorphic const_eval through on-demand. | Eduard-Mihai Burtescu | -34/+15 | |
| 2017-04-16 | rustc_const_eval: move ConstEvalErr to the rustc crate. | Eduard-Mihai Burtescu | -170/+6 | |
| 2017-03-31 | Don't warn about `char` comparisons in constexprs | Matthew Jasper | -0/+11 | |
| 2017-02-25 | rustc_const_eval: demand that the MIR qualify_consts ran on each evaluated body. | Eduard-Mihai Burtescu | -1/+2 | |
| 2017-02-25 | rustc_const_eval: always demand typeck_tables for evaluating constants. | Eduard-Mihai Burtescu | -469/+224 | |
| 2017-02-25 | rustc_typeck: rework coherence to be almost completely on-demand. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-02-25 | rustc_typeck: hook up collect and item/body check to on-demand. | Eduard-Mihai Burtescu | -4/+2 | |
| 2017-02-25 | rustc: introduce a query system for type information in ty::maps. | Eduard Burtescu | -1/+1 | |
| 2017-02-25 | rustc: consolidate dep-tracked hashmaps in tcx.maps. | Eduard-Mihai Burtescu | -5/+5 | |
| 2017-02-04 | More snap cleanup | Simonas Kazlauskas | -6/+3 | |
| 2017-02-03 | Bump version, upgrade bootstrap | Alex Crichton | -2/+0 | |
| 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-31 | use suggestions instead of helps with code in them | Oliver Schneider | -2/+0 | |
| 2017-01-26 | rustc: don't call the HIR AST. | Eduard-Mihai Burtescu | -5/+5 | |
| 2017-01-26 | rustc: rename TyCtxt's `map` field to `hir`. | Eduard-Mihai Burtescu | -18/+18 | |
| 2017-01-25 | rename `Tables` to `TypeckTables` | Niko Matsakis | -7/+7 | |
| 2017-01-11 | Fix two const-eval issues related to i128 negation | Simonas Kazlauskas | -13/+16 | |
| First issue here was the fact that we’d only allow negating integers in i64 range in case the integer was not infered yes. While this is not the direct cause of the issue, its still good to fix it. The real issue here is the code handling specifically the `min_value` literals. While I128_OVERFLOW has the expected value (0x8000_..._0000), match using this value as a pattern is handled incorrectly by the stage1 compiler (it seems to be handled correctly, by the stage2 compiler). So what we do here is extract this pattern into an explicit `==` until the next snapshot. Fixes #38987 | ||||
