Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | cache chalk queries | Aleksey Kladov | 2019-06-26 | 2 | -194/+220 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives a significant speedup, because chalk will call these functions several times even withing a single revision. The only significant one here is `impl_data`, but I figured it might be good to cache others just for consistency. The results I get are: Before: from scratch: 16.081457952s no change: 15.846493ms trivial change: 352.95592ms comment change: 361.998408ms const change: 457.629212ms After: from scratch: 14.910610278s no change: 14.934647ms trivial change: 85.633023ms comment change: 96.433023ms const change: 171.543296ms Seems like a nice win! | ||||
* | Add comment | Shotaro Yamada | 2019-06-25 | 1 | -6/+8 |
| | |||||
* | Method resolution for slices | Shotaro Yamada | 2019-06-24 | 1 | -25/+36 |
| | |||||
* | rename XSignature -> XData | Aleksey Kladov | 2019-06-18 | 3 | -25/+23 |
| | |||||
* | Add test for autoderef infinite recursion | Florian Diebold | 2019-06-16 | 1 | -0/+25 |
| | |||||
* | Simplifications / cleanup from review | Florian Diebold | 2019-06-16 | 3 | -3/+4 |
| | |||||
* | Some more cleanup | Florian Diebold | 2019-06-15 | 1 | -4/+4 |
| | |||||
* | Check that Deref has the right number of parameters | Florian Diebold | 2019-06-15 | 1 | -2/+7 |
| | |||||
* | Somewhat handle variables in the derefed type, and add another test | Florian Diebold | 2019-06-15 | 2 | -5/+50 |
| | |||||
* | Implement * operation using Deref trait | Florian Diebold | 2019-06-15 | 1 | -3/+5 |
| | |||||
* | Implement autoderef using the Deref trait | Florian Diebold | 2019-06-15 | 4 | -33/+84 |
| | | | | - add support for other lang item targets, since we need the Deref lang item | ||||
* | Add basic infrastructure for assoc type projection | Florian Diebold | 2019-06-15 | 3 | -10/+135 |
| | |||||
* | Add test for Deref | Florian Diebold | 2019-06-15 | 1 | -0/+29 |
| | |||||
* | check for cancellation when executing queries | Aleksey Kladov | 2019-06-12 | 2 | -2/+0 |
| | | | | | | | Note that we can't just remove CheckCanceled trait altogether: sometimes it's useful to check for cancellation while the query is running! We do this, for example, in the name resolution fixed-point loop. | ||||
* | remove inherent source impls | Aleksey Kladov | 2019-06-11 | 1 | -1/+1 |
| | |||||
* | use Source for Function | Aleksey Kladov | 2019-06-11 | 1 | -1/+1 |
| | |||||
* | remove some hacks from nameresolution for macros | Aleksey Kladov | 2019-06-08 | 1 | -2/+4 |
| | |||||
* | somewhat better name | Aleksey Kladov | 2019-06-08 | 2 | -19/+22 |
| | |||||
* | [#1083] Try block syntax: fix tests | Andrey Tkachenko | 2019-06-06 | 1 | -1/+0 |
| | |||||
* | [#1083] Try block syntax | Andrey Tkachenko | 2019-06-06 | 1 | -0/+6 |
| | |||||
* | Fix clippy::or_fun_call | Alan Du | 2019-06-04 | 1 | -1/+1 |
| | |||||
* | Fix clippy::identity_conversion | Alan Du | 2019-06-04 | 1 | -3/+3 |
| | |||||
* | Fix clippy::into_iter_on_ref | Alan Du | 2019-06-04 | 1 | -1/+1 |
| | |||||
* | Fix clippy::single_match | Alan Du | 2019-06-04 | 3 | -47/+33 |
| | |||||
* | 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 tests for primitive types | Aleksey Kladov | 2019-05-30 | 3 | -30/+19 |
| | |||||
* | add built-in types to scopes | Aleksey Kladov | 2019-05-30 | 1 | -16/+0 |
| | |||||
* | add ModuleDef::BuiltInType | Aleksey Kladov | 2019-05-30 | 3 | -6/+45 |
| | |||||
* | add cacellation checks to expensive queries | Aleksey Kladov | 2019-05-29 | 1 | -0/+1 |
| | |||||
* | fix syntax errors in tests | Aleksey Kladov | 2019-05-28 | 1 | -112/+128 |
| | |||||
* | add union to code_model | Aleksey Kladov | 2019-05-23 | 2 | -10/+21 |
| | |||||
* | Fix crash with int vars in canonicalization | Florian Diebold | 2019-05-21 | 1 | -1/+6 |
| | |||||
* | 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 type inference | Aleksey Kladov | 2019-05-21 | 1 | -1/+3 |
| | |||||
* | profile implements query | Aleksey Kladov | 2019-05-21 | 1 | -0/+2 |
| | |||||
* | add _query to query functions | Aleksey Kladov | 2019-05-21 | 1 | -3/+3 |
| | |||||
* | remove minor code duplication | Aleksey Kladov | 2019-05-20 | 1 | -18/+14 |
| | |||||
* | Use normal iteration instead of walk_mut | Edwin Cheng | 2019-05-20 | 1 | -8/+5 |
| | |||||
* | Add infer for generic default type | Edwin Cheng | 2019-05-19 | 2 | -13/+75 |
| | |||||
* | Merge #1271 | bors[bot] | 2019-05-13 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | 1271: make AstId untyped r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | make AstId untyped | Aleksey Kladov | 2019-05-13 | 1 | -1/+1 |
| | | |||||
* | | 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. | ||||
* | Use traits from prelude for method resolution | Florian Diebold | 2019-05-12 | 2 | -1/+30 |
| | |||||
* | Blacklist some traits from being considered in where clauses | Florian Diebold | 2019-05-12 | 2 | -7/+34 |
| | | | | | | | For Send/Sync/Sized, we don't handle auto traits correctly yet and because they have a lot of impls, they can easily lead to slowdowns. In the case of Fn/FnMut/FnOnce, we don't parse the special Fn notation correctly yet and don't handle closures yet, so we are very unlikely to find an impl. | ||||
* | Fix impl blocks with unresolved target trait being treated as inherent impls | Florian Diebold | 2019-05-12 | 1 | -5/+7 |
| | |||||
* | Add support for inline bounds | Florian Diebold | 2019-05-11 | 1 | -0/+33 |
| | | | | E.g. impl<T: Clone> Foo for T. | ||||
* | Handle auto traits & negative impls | Florian Diebold | 2019-05-11 | 1 | -5/+19 |
| | | | | | We don't pass field types to Chalk yet though, so the auto trait inference won't be correct. | ||||
* | Reduce Chalk max_size parameter, add test for slow case | Florian Diebold | 2019-05-11 | 3 | -3/+42 |
| |