Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | don't poison mutex around chalk | Aleksey Kladov | 2019-06-01 | 1 | -2/+3 |
| | | | | | | | | | We use panics for cancellation, so we could trigger panic while holding the solver. std::sync::Mutex will be poisoned as a result, which and all further attempts to use solver (from other threads) will panic as well. This commit switches to parking_lot::Mutex which just unlocks on panic. | ||||
* | add cacellation checks to expensive queries | Aleksey Kladov | 2019-05-29 | 1 | -0/+1 |
| | |||||
* | Use fuel branch for Chalk | Florian Diebold | 2019-05-21 | 1 | -1/+1 |
| | | | | This makes sure we don't take too long in trait solving. | ||||
* | re-enable chalk | Aleksey Kladov | 2019-05-21 | 1 | -17/+16 |
| | |||||
* | publish gen_lsp_server 0.2 | Aleksey Kladov | 2019-05-21 | 1 | -16/+17 |
| | |||||
* | profile implements query | Aleksey Kladov | 2019-05-21 | 1 | -0/+2 |
| | |||||
* | add _query to query functions | Aleksey Kladov | 2019-05-21 | 1 | -3/+3 |
| | |||||
* | Increase Chalk solver max_size back to 4 | Florian Diebold | 2019-05-13 | 1 | -1/+1 |
| | | | | | | Reducing it to 2 was just a failed attempt to see whether that would help fix some slow cases; in fact, it can create new slow cases by replacing concrete types by variables. | ||||
* | Reduce Chalk max_size parameter, add test for slow case | Florian Diebold | 2019-05-11 | 1 | -1/+8 |
| | |||||
* | Deduplicate impls in impls_for_trait | Florian Diebold | 2019-05-07 | 1 | -2/+3 |
| | | | | This was duplicating impls in dependencies a lot... | ||||
* | Turn `implements` into a query again | Florian Diebold | 2019-05-07 | 1 | -3/+3 |
| | |||||
* | Turn eprintln!s into debug!s | Florian Diebold | 2019-05-04 | 1 | -2/+3 |
| | |||||
* | Canonicalize before doing method resolution | Florian Diebold | 2019-05-04 | 1 | -5/+2 |
| | |||||
* | Document the peculiarity of the solver query a bit | Florian Diebold | 2019-05-04 | 1 | -2/+4 |
| | | | | | Also remove the only remaining mention of chalk outside of the ty::traits module. | ||||
* | Move Chalk conversion code to its own module | Florian Diebold | 2019-05-04 | 1 | -275/+8 |
| | |||||
* | Simplify solution_from_chalk | Florian Diebold | 2019-05-04 | 1 | -12/+11 |
| | |||||
* | Chalk integration | Florian Diebold | 2019-05-04 | 1 | -90/+403 |
| | | | | | - add proper canonicalization logic - add conversions from/to Chalk IR | ||||
* | Add HIR for where clauses & ignore impls with where clauses in trait resolution | Florian Diebold | 2019-04-21 | 1 | -3/+6 |
| | | | | | This prevents any `impl<T> Trait for T where ...` from being treated as a blanket impl while we don't handle where clauses yet. | ||||
* | More trait infrastructure | Florian Diebold | 2019-04-14 | 1 | -0/+112 |
- make it possible to get parent trait from method - add 'obligation' machinery for checking that a type implements a trait (and inferring facts about type variables from that) - handle type parameters of traits (to a certain degree) - improve the hacky implements check to cover enough cases to exercise the handling of traits with type parameters - basic canonicalization (will probably also be done by Chalk) |