| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-03-06 | Fix ICE: don't use `struct_variant` on enums | Esteban Küber | -1/+5 | |
| Fix #40221 and add unittest. | ||||
| 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 | -510/+251 | |
| 2017-02-25 | rustc_typeck: rework coherence to be almost completely on-demand. | Eduard-Mihai Burtescu | -2/+2 | |
| 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-23 | use a more conservative inhabitableness rule | Ariel Ben-Yehuda | -1/+15 | |
| This is a [breaking-change] from 1.15, because this used to compile: ```Rust enum Void {} fn foo(x: &Void) { match x {} } ``` | ||||
| 2017-02-20 | check_match: don't treat privately uninhabited types as uninhabited | Ariel Ben-Yehuda | -30/+82 | |
| Fixes #38972. | ||||
| 2017-02-10 | Use global recursion limit when evaluating inhabitedness | Andrew Cann | -3/+3 | |
| 2017-02-09 | Add recursion limit to inhabitedness check | Andrew Cann | -1/+1 | |
| Fixes #39489. Add test aswell. | ||||
| 2017-02-05 | Rollup merge of #39526 - canndrew:uninhabited-while-let-fix, r=arielb1 | Corey Farwell | -5/+22 | |
| Uninhabited while-let pattern fix This fix makes it so while-let with an unsatisfiable pattern raises a correct warning rather than an incorrect error. | ||||
| 2017-02-05 | Rollup merge of #39519 - nagisa:more-snap, r=alexcrichton | Corey Farwell | -6/+3 | |
| More snap cleanup r? @alexcrichton | ||||
| 2017-02-05 | Fix make tidy | Andrew Cann | -2/+3 | |
| 2017-02-05 | Rollup merge of #39009 - canndrew:default-unit-warnings, r=nikomatsakis | Corey Farwell | -3/+3 | |
| Add warning for () to ! switch With feature(never_type) enabled diverging type variables will default to `!` instead of `()`. This can cause breakages where a trait is resolved on such a type. This PR emits a future-compatibility warning when it sees this happen. | ||||
| 2017-02-05 | Remove use of ptr::eq | Andrew Cann | -14/+18 | |
| 2017-02-04 | Uninhabited while-let pattern fix | Andrew Cann | -4/+16 | |
| 2017-02-04 | More snap cleanup | Simonas Kazlauskas | -6/+3 | |
| 2017-02-03 | Bump version, upgrade bootstrap | Alex Crichton | -5/+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-02-03 | Add warning for () to ! switch | Andrew Cann | -3/+3 | |
| 2017-01-31 | use suggestions instead of helps with code in them | Oliver Schneider | -2/+0 | |
| 2017-01-30 | Merge ty::TyBox into ty::TyAdt | Vadim Petrochenkov | -3/+1 | |
| 2017-01-27 | Rollup merge of #39290 - canndrew:hide-uninhabitedness, r=nikomatsakis | Alex Crichton | -4/+13 | |
| Hide uninhabitedness checks behind feature gate This reverts the fix to match exhaustiveness checking so that it can be discussed. The new code is now hidden behind the `never_type` feature gate. | ||||
| 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 | -23/+23 | |
| 2017-01-25 | rename `Tables` to `TypeckTables` | Niko Matsakis | -11/+11 | |
| 2017-01-25 | Hide uninhabitedness checks behind feature gate | Andrew Cann | -4/+13 | |
| 2017-01-25 | Auto merge of #35712 - oli-obk:exclusive_range_patterns, r=nikomatsakis | bors | -24/+47 | |
| exclusive range patterns adds `..` patterns to the language under a feature gate (`exclusive_range_pattern`). This allows turning ``` rust match i { 0...9 => {}, 10...19 => {}, 20...29 => {}, _ => {} } ``` into ``` rust match i { 0..10 => {}, 10..20 => {}, 20..30 => {}, _ => {} } ``` | ||||
| 2017-01-22 | Auto merge of #39127 - canndrew:unreachable-pattern-errors-into-warnings, ↵ | bors | -11/+4 | |
| r=arielb1 Change unreachable pattern ICEs to warnings Allow code with unreachable `?` and `for` patterns to compile. Add some tests. | ||||
| 2017-01-22 | Remove unused `extern crate`s. | Jeffrey Seyfried | -2/+0 | |
| 2017-01-21 | Fix some nits | Andrew Cann | -0/+2 | |
| 2017-01-19 | add exclusive range patterns under a feature gate | Oliver Schneider | -24/+47 | |
| 2017-01-17 | Change unreachable patterns ICEs to warnings | Andrew Cann | -11/+2 | |
| Allow code with unreachable `?` and `for` patterns to compile. Add some tests. | ||||
| 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 | ||||
| 2017-01-06 | rustc: store ty::Tables separately for each body (except closures'). | Eduard-Mihai Burtescu | -30/+44 | |
| 2017-01-06 | rustc: keep track of tables everywhere as if they were per-body. | Eduard-Mihai Burtescu | -213/+218 | |
| 2017-01-06 | fix doc test for E0001 | Andrew Cann | -1/+1 | |
| 2017-01-05 | Un-remove E0001, put a notice on it instead | Andrew Cann | -0/+27 | |
| 2017-01-04 | Fix build after rebase | Andrew Cann | -23/+31 | |
| 2017-01-03 | Spelling. s/forrest/forest | Andrew Cann | -4/+4 | |
| 2017-01-03 | fix comment that got split in two | Niko Matsakis | -3/+2 | |
| 2017-01-03 | Fix build after rebase. | Andrew Cann | -16/+18 | |
| Mostly just rename stuff. Visibility checks use DefIds rather than NodeIds now. | ||||
| 2017-01-03 | Remove E0001 diagnostic | Andrew Cann | -25/+0 | |
| 2017-01-03 | Disable unreachable patterns error entirely | Andrew Cann | -12/+9 | |
| 2017-01-03 | Refactor is_uninhabited | Andrew Cann | -7/+7 | |
| We now cache the inhabitedness of types in the GlobalCtxt. Rather than calculating whether a type is visibly uninhabited from a given NodeId we calculate the full set of NodeIds from which a type is visibly uninhabited then cache that set. We can then use that to answer queries about the inhabitedness of a type relative to any given node. | ||||
| 2017-01-03 | Fix build after rebase | Andrew Cann | -5/+5 | |
| 2017-01-03 | Style fix | Andrew Cann | -2/+1 | |
| 2017-01-03 | Improve error message, fix and add tests. | Andrew Cann | -28/+41 | |
| Changes the non-exhaustive match error message to generate more general witnesses. | ||||
| 2017-01-03 | More pattern matching for empty types changes | Andrew Cann | -84/+128 | |
| Fix is_uninhabited for enum types. It used to assume that an enums variant's fields were all private. Fix MIR generation for irrefutable Variant pattern matches. This allows code like this to work: let x: Result<32, !> = Ok(123); let Ok(y) = x; Carry type information on dummy wildcard patterns. Sometimes we need to expand these patterns into their constructors and we don't want to be expanding a TyError into a Constructor::Single. | ||||
| 2017-01-03 | Make is_useful handle empty types properly | Andrew Cann | -19/+66 | |
