Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Look up impls by self type | Florian Diebold | 2020-04-11 | 4 | -14/+65 | |
|/ | | | | | This speeds up inference in analysis-stats by ~30% (even more with the recursive solver). | |||||
* | Forward compat | Aleksey Kladov | 2020-04-10 | 3 | -9/+9 | |
| | ||||||
* | Add failing test | Aleksey Kladov | 2020-04-10 | 1 | -2/+29 | |
| | ||||||
* | Merge #3905 | bors[bot] | 2020-04-10 | 4 | -28/+149 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | 3905: add ellipsis field to hir pat record r=matklad a=JoshMcguigan This PR corrects a `fixme`, adding an `ellipsis` field to the hir `Pat::Record` type. It will also be unlock some useful follow on work for #3894. Additionally it adds a diagnostic for missing fields in record patterns. ~~Marking as a draft because I don't have any tests, and a small amount of manual testing on my branch from #3894 suggests it might *not* be working. Any thoughts on how I can best test this, or else pointers on where I might be going wrong?~~ Co-authored-by: Josh Mcguigan <[email protected]> | |||||
| * | add record pat missing field diagnostic | Josh Mcguigan | 2020-04-10 | 4 | -28/+149 | |
| | | ||||||
* | | Implement Chalk's debug methods using TLS | Florian Diebold | 2020-04-10 | 4 | -56/+295 | |
|/ | | | | | | | | | | Chalk now panics if we don't implement these methods and run with CHALK_DEBUG, so I thought I'd try to implement them 'properly'. Sadly, it seems impossible to do without transmuting lifetimes somewhere. The problem is that we need a `&dyn HirDatabase` to get names etc., which we can't just put into TLS. I thought I could just use `scoped-tls`, but that doesn't support references to unsized types. So I put the `&dyn` into another struct and put the reference to *that* into the TLS, but I have to transmute the lifetime to 'static for that to work. | |||||
* | Simpler acessors for keywords | Aleksey Kladov | 2020-04-09 | 1 | -2/+2 | |
| | ||||||
* | Merge #3918 | bors[bot] | 2020-04-09 | 1 | -0/+60 | |
|\ | | | | | | | | | | | | | | | | | 3918: Add support for feature attributes in struct literal r=matklad a=bnjjj As promised here is the next PR to solve 2 different scenarios with feature flag on struct literal. close #3870 Co-authored-by: Benjamin Coenen <[email protected]> | |||||
| * | feat: add support for feature attributes in struct literal | Benjamin Coenen | 2020-04-09 | 1 | -3/+3 | |
| |\ | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
| * | | feat: add support for feature attributes in struct literal | Benjamin Coenen | 2020-04-09 | 1 | -0/+60 | |
| | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
* | | | Add _token suffix to token accessors | Aleksey Kladov | 2020-04-09 | 1 | -1/+1 | |
| |/ |/| | | | | | | | I think this makes is more clear which things are : AstNode and which are : AstToken | |||||
* | | Provide more complete AST accessors to support usage in rustc | Luca Barbieri | 2020-04-09 | 1 | -2/+2 | |
|/ | ||||||
* | feat: add attributes support on struct fields and method #3870 | Benjamin Coenen | 2020-04-09 | 3 | -83/+151 | |
|\ | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
| * | match checking add additional test for match checking tuple with missing pattern | Josh Mcguigan | 2020-04-08 | 1 | -0/+14 | |
| | | ||||||
| * | fix panic in match checking when tuple enum missing pattern | Josh Mcguigan | 2020-04-08 | 1 | -15/+45 | |
| | | ||||||
| * | Move computation of missing fields into hir | Aleksey Kladov | 2020-04-07 | 1 | -67/+91 | |
| | | ||||||
* | | feat: add attributes support on struct fields and method #3870 | Benjamin Coenen | 2020-04-08 | 2 | -12/+6 | |
| | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
* | | Merge branch 'master' of github.com:rust-analyzer/rust-analyzer | Benjamin Coenen | 2020-04-07 | 10 | -11/+1578 | |
|\| | ||||||
| * | add fixme to use type checker rather than manually comparing types | Josh Mcguigan | 2020-04-07 | 1 | -0/+7 | |
| | | ||||||
| * | PR feedback implementation | Josh Mcguigan | 2020-04-07 | 1 | -94/+331 | |
| | | ||||||
| * | missing match arms diagnostic change source to match expression | Josh Mcguigan | 2020-04-07 | 3 | -3/+7 | |
| | | ||||||
| * | handle match auto-deref | Josh Mcguigan | 2020-04-07 | 2 | -1/+45 | |
| | | ||||||
| * | improving documentation | Josh Mcguigan | 2020-04-07 | 1 | -16/+64 | |
| | | ||||||
| * | handle non matching enum pattern types | Josh Mcguigan | 2020-04-07 | 2 | -41/+57 | |
| | | ||||||
| * | remove panics | Josh Mcguigan | 2020-04-07 | 2 | -66/+214 | |
| | | ||||||
| * | missing match arms diagnostic | Josh Mcguigan | 2020-04-07 | 8 | -9/+1036 | |
| | | ||||||
| * | Fix Chalk panic | Florian Diebold | 2020-04-06 | 3 | -2/+33 | |
| | | | | | | | | | | Fixes #3865. Basically I forgot to shift 'back' when we got `dyn Trait`s back from Chalk, so after going through Chalk a few times, the panic happened. | |||||
| * | Check for eprintln on CI | Aleksey Kladov | 2020-04-06 | 1 | -0/+5 | |
| | | ||||||
* | | feat: add attributes support on struct fields #3870 | Benjamin Coenen | 2020-04-07 | 2 | -3/+38 | |
|/ | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
* | Use log info in trait_solve_query | Edwin Cheng | 2020-04-06 | 1 | -1/+1 | |
| | ||||||
* | Merge #3744 | bors[bot] | 2020-04-06 | 10 | -133/+291 | |
|\ | | | | | | | | | | | | | | | | | 3744: Upgrade Chalk r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]> | |||||
| * | Upgrade Chalk again | Florian Diebold | 2020-04-05 | 10 | -106/+189 | |
| | | | | | | | | | | | | | | The big change here is counting binders, not variables (https://github.com/rust-lang/chalk/pull/360). We have to adapt to the same scheme for our `Ty::Bound`. It's mostly fine though, even makes some things more clear. | |||||
| * | Upgrade Chalk | Florian Diebold | 2020-04-05 | 2 | -27/+102 | |
| | | ||||||
* | | Hide unit fn return types | Laurențiu Nicola | 2020-04-05 | 5 | -20/+28 | |
|/ | ||||||
* | Fix inference of function pointer return types | Laurențiu Nicola | 2020-04-05 | 1 | -0/+26 | |
| | ||||||
* | Macro patterns are not confused with expressions. | Aleksey Kladov | 2020-04-03 | 1 | -2/+29 | |
| | | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`. | |||||
* | Add inference for literal and range patterns | Florian Diebold | 2020-04-01 | 5 | -3/+104 | |
| | ||||||
* | Simplify | veetaha | 2020-03-31 | 1 | -16/+13 | |
| | ||||||
* | Simplify | veetaha | 2020-03-28 | 1 | -11/+4 | |
| | ||||||
* | Remove some unwraps | Aleksey Kladov | 2020-03-28 | 2 | -18/+16 | |
| | ||||||
* | Nice string formatting | Aleksey Kladov | 2020-03-28 | 1 | -1/+2 | |
| | ||||||
* | Cleanup memory usage stats | Aleksey Kladov | 2020-03-25 | 1 | -0/+1 | |
| | ||||||
* | Remove collect proc_macro definitions | Edwin Cheng | 2020-03-25 | 1 | -6/+2 | |
| | ||||||
* | Fix trailling whitespace | Edwin Cheng | 2020-03-25 | 1 | -1/+1 | |
| | ||||||
* | Add basic custom derive lowering | Edwin Cheng | 2020-03-25 | 1 | -0/+23 | |
| | ||||||
* | Merge #3679 | bors[bot] | 2020-03-22 | 1 | -8/+8 | |
|\ | | | | | | | | | | | | | | | 3679: Some miniscule refactorings r=matklad a=Veetaha Co-authored-by: veetaha <[email protected]> | |||||
| * | ra_hir_ty: fix formatting | veetaha | 2020-03-22 | 1 | -8/+8 | |
| | | ||||||
* | | Move test to hir_ty | Edwin Cheng | 2020-03-21 | 1 | -0/+31 | |
|/ | ||||||
* | Make MBE expansion more resilient (WIP) | Florian Diebold | 2020-03-16 | 1 | -4/+4 | |
| | ||||||
* | Use `dyn Trait` for working with databse | Aleksey Kladov | 2020-03-16 | 18 | -346/+337 | |
| | | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate). |