| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-10-15 | make `UniverseIndex` hashable, rename "sub-" to "superuniverse" | Niko Matsakis | -4/+4 | |
| The only name was silly. U1 can contain everything from U0 *plus* more things. | ||||
| 2018-10-15 | control canonicalization with a trait vs bools | Niko Matsakis | -42/+83 | |
| 2018-10-15 | introduce `canonical_var_for_region` helper fn | Niko Matsakis | -15/+11 | |
| 2018-10-15 | rename `QueryResult` to `QueryResponse` | Niko Matsakis | -62/+62 | |
| `Result` really sounds like the rustc result type | ||||
| 2018-10-15 | bundle up "canonical instantiation" with infcx creation | Niko Matsakis | -11/+37 | |
| 2018-10-15 | canonicalizer.rs: rustfmt | Niko Matsakis | -24/+18 | |
| 2018-10-04 | fix typo: s/tained/tainted/ | Niko Matsakis | -1/+1 | |
| 2018-10-04 | remove occurences of `skolemization` | Niko Matsakis | -34/+34 | |
| 2018-10-04 | remove all occurences of `skolemize` | Niko Matsakis | -2/+2 | |
| 2018-10-04 | extend NLL universe code to have >1 placeholder within one universe | Niko Matsakis | -12/+19 | |
| 2018-10-04 | create just one subuniverse per binder -- no need for more, really | Niko Matsakis | -69/+37 | |
| 2018-10-04 | reorder the placeholders and inference variables in hr::sub | Niko Matsakis | -7/+9 | |
| 2018-10-04 | rename skolemized to placeholder | Niko Matsakis | -104/+112 | |
| 2018-10-03 | Introduce `TyKind::UnnormalizedProjection` | scalexm | -0/+2 | |
| 2018-10-02 | Auto merge of #54701 - arielb1:outlives-later, r=nikomatsakis | bors | -1/+1 | |
| normalize param-env type-outlives predicates last The normalization of type-outlives predicates can depend on misc. environment predicates, but not the other way around. Inferred lifetime bounds can propagate type-outlives bounds far and wide, so their normalization needs to work well. Fixes #54467 r? @nikomatsakis beta-nominating because this is required for inferred_outlives_bounds, which is in beta | ||||
| 2018-10-01 | normalize param-env type-outlives predicates last | Ariel Ben-Yehuda | -1/+1 | |
| The normalization of type-outlives predicates can depend on misc. environment predicates, but not the other way around. Inferred lifetime bounds can propagate type-outlives bounds far and wide, so their normalization needs to work well. Fixes #54467 | ||||
| 2018-10-01 | Rollup merge of #54641 - ljedrz:cleanup_rustc_infer, r=estebank | kennytm | -200/+170 | |
| A few cleanups and minor improvements to rustc/infer - use unwrap_or(_else) where applicable - convert single-branch matches to if-let - use to_owned instead of to_string with string literals - improve vector allocations - readability improvements - miscellaneous minor code improvements | ||||
| 2018-09-29 | don't elide lifetimes in paths in librustc/ | Zack M. Davis | -31/+31 | |
| This seemed like a good way to kick the tires on the elided-lifetimes-in-paths lint (#52069)—seems to work! This was also pretty tedious—it sure would be nice if `cargo fix` worked on this codebase (#53896)! | ||||
| 2018-09-29 | rustc/infer: miscellaneous minor code improvements | ljedrz | -8/+6 | |
| 2018-09-29 | rustc/infer: readability improvements | ljedrz | -25/+21 | |
| 2018-09-29 | rustc/infer: improve vector allocations | ljedrz | -35/+37 | |
| 2018-09-29 | rustc/infer: use to_owned instead of to_string with string literals | ljedrz | -10/+10 | |
| 2018-09-29 | rustc/infer: convert single-branch matches to if-let | ljedrz | -104/+88 | |
| 2018-09-29 | rustc/infer: use unwrap_or(_else) where applicable | ljedrz | -18/+8 | |
| 2018-09-28 | rustc: keep a Span for each predicate in ty::GenericPredicates. | Eduard-Mihai Burtescu | -2/+5 | |
| 2018-09-26 | rustfmt `error_reporting/mod.rs` and `dropck.rs` | Niko Matsakis | -63/+69 | |
| Pacify the mercilous tidy. | ||||
| 2018-09-26 | convert from an `UnlessNll` flag to a `SuppressRegionErrors` flag | Niko Matsakis | -26/+40 | |
| Hopefully this will help clarify the behavior in the various borrowck modes | ||||
| 2018-09-26 | use `IfEq` to defer equality comparison around `where` clauses` | Niko Matsakis | -49/+59 | |
| 2018-09-26 | refactor away `AnyRegions` and `AllRegions` | Niko Matsakis | -38/+49 | |
| It's a bit cleaner to just have `AnyBound` and `AllBound`, after all. | ||||
| 2018-09-26 | introduce `VerifyBound::IfEq` (presently unused) | Niko Matsakis | -26/+106 | |
| 2018-09-26 | change to use impl Trait a bit | Niko Matsakis | -14/+15 | |
| 2018-09-26 | remove handling of verify from taintset | Niko Matsakis | -37/+25 | |
| This lets us remove `for_each_region` and makes things simpler. | ||||
| 2018-09-26 | make `normalize` work on any type-foldable | Niko Matsakis | -11/+19 | |
| 2018-09-26 | lexical_region_resolve: rustfmt | Niko Matsakis | -44/+30 | |
| 2018-09-26 | use approx. bounds to decide whether to add outlives obligations | Niko Matsakis | -1/+10 | |
| Before, if we had a projection like `<T as Foo<'0>>::Bar: 'x` and a where clause like `<T as Foo<'a>>::Bar: 'a`, we considered those to have nothing to do with one another. Therefore, we would use the "overconstrained" path of adding `T: 'x` and `'0: 'x` requirements. We now do a "fuzzy" match where we erase regions first and hence we see the env bound `'a`. | ||||
| 2018-09-26 | propagate the `compare_ty` fn further up | Niko Matsakis | -18/+17 | |
| 2018-09-26 | introduce the idea of an "approximate match" | Niko Matsakis | -39/+56 | |
| In fact, however, we currently always give back the same exact answers as ever. But we don't rely on them being exact anymore. | ||||
| 2018-09-26 | introduce a "comparison fn" instead of always use `==` | Niko Matsakis | -11/+10 | |
| 2018-09-26 | split out getting the declared bounds from the env versus trait | Niko Matsakis | -23/+38 | |
| Right now, we just concatenate them | ||||
| 2018-09-26 | break out the code that computes VerifyBounds | Niko Matsakis | -218/+276 | |
| Later, we'll defer this work until a separate phase. | ||||
| 2018-09-26 | apply `process_registered_region_obligations` at the end of regionck | Niko Matsakis | -27/+30 | |
| We used to apply it repeatedly as we went, relying on the current value of the `region_bound_pairs_accum` vector. But now we save those values into a map, so we can just process all the registered region obligations at the end. | ||||
| 2018-09-26 | use `RegionBoundPairs` type alias | Niko Matsakis | -5/+6 | |
| 2018-09-26 | change `RegionObligation` to store a `SubregionOrigin` | Niko Matsakis | -20/+37 | |
| 2018-09-26 | use a `UnlessNll` flag to consolidate error reporting paths | Niko Matsakis | -32/+15 | |
| 2018-09-26 | build up a map of the region-bound pairs for each body-id | Niko Matsakis | -10/+55 | |
| Presently unused. | ||||
| 2018-09-26 | outlives/env: rustfmt | Niko Matsakis | -4/+6 | |
| 2018-09-25 | Handle locals in closures properly. | Alexander Regueiro | -8/+5 | |
| 2018-09-25 | Lower `impl Trait` types in locals. | Alexander Regueiro | -3/+3 | |
| 2018-09-23 | Auto merge of #54262 - matthewjasper:explain-in-typeck, r=nikomatsakis | bors | -1/+1 | |
| [NLL] Record more infomation on free region constraints in typeck Changes: * Makes the span of the MIR return place point to the return type * Don't try to use a path to a type alias as a path to the adt it aliases (fixes an ICE) * Don't claim that `self` is declared outside of the function. [see this test](https://github.com/rust-lang/rust/commit/f2995d5b1ad0401a80ac4579ebc89295818c3eed#diff-0c9e6b1b204f42129b481df9ce459d44) * Remove boring/interesting distinction and instead add a `ConstraintCategory` to the constraint. * Add categories for implicit `Sized` and `Copy` requirements, for closure bounds, for user type annotations and `impl Trait`. * Don't use the span of the first statement for Locations::All bounds (even if it happens to work on the tests we have) Future work: * Fine tuning the heuristic used to choose the place the report the error. * Reporting multiple places (behind a flag) * Better closure bounds reporting. This probably requires some discussion. r? @nikomatsakis | ||||
| 2018-09-20 | Auto merge of #54241 - vi:suggest_with_applicability, r=estebank | bors | -5/+9 | |
| Remove usages of span_suggestion without Applicability Use `Applicability::Unspecified` for all of them instead. Shall deprecations for the non-`_with_applicability` functions be added? Shall clippy be addressed somehow? r? @estebank | ||||
