aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Merge #3951bors[bot]2020-04-1117-121/+180
|\ | | | | | | | | | | | | | | | | 3951: Simplify records grammar r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Remove dead codeAleksey Kladov2020-04-118-55/+40
| |
| * Make records grammar more orthogonalAleksey Kladov2020-04-1113-68/+142
| | | | | | | | | | | | | | | | | | | | | | | | We used name [: expr] grammar before, now it is [name :] expr which makes things simpler
* | Merge #3944bors[bot]2020-04-114-14/+65
|\ \ | |/ |/| | | | | | | | | | | | | | | 3944: Look up trait impls by self type r=matklad a=flodiebold This speeds up inference in analysis-stats by ~30% (even more with the recursive solver). There's a slight difference in inferred types, which I think comes from pre-existing wrong handling of error types in impls, so I think it's fine. Co-authored-by: Florian Diebold <[email protected]>
| * Look up impls by self typeFlorian Diebold2020-04-114-14/+65
| | | | | | | | | | This speeds up inference in analysis-stats by ~30% (even more with the recursive solver).
* | Make incremental nameres test harderAleksey Kladov2020-04-111-0/+6
| |
* | Avoid cyclic queries in name resolution when processing enumsAleksey Kladov2020-04-113-15/+48
| |
* | Align namingAleksey Kladov2020-04-114-6/+5
| |
* | Remove code duplicationAleksey Kladov2020-04-112-5/+2
| |
* | Use Expander for cfg handling in structsAleksey Kladov2020-04-111-10/+10
| |
* | Use Expander for cfg handling in implsAleksey Kladov2020-04-111-13/+14
| |
* | Pull Expander upAleksey Kladov2020-04-113-11/+24
| |
* | SimplifyAleksey Kladov2020-04-112-8/+8
| |
* | Merge pull request #3935 from cjhopman/todoAleksey Kladov2020-04-113-18/+21
|\ \ | |/ |/| Change missing impl assist to use todo!() instead of unimplemented()
| * Change missing impl assist to use todo!() instead of unimplemented()Chris Hopman2020-04-103-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | todo!() "Indicates unfinished code" (https://doc.rust-lang.org/std/macro.todo.html) Rust documentation provides further clarification: > The difference between unimplemented! and todo! is that while todo! > conveys an intent of implementing the functionality later and the > message is "not yet implemented", unimplemented! makes no such claims. todo!() seems more appropriate for assists that insert missing impls.
* | Merge pull request #3910 from lnicola/fn-named-param-hintAleksey Kladov2020-04-111-5/+12
|\ \ | | | | | | Hide parameter hints for single-argument functions with the same name
| * | Hide parameter hints for single-argument functions with the same nameLaurențiu Nicola2020-04-091-5/+12
| | |
* | | Merge #3920bors[bot]2020-04-117-5/+551
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3920: Implement expand_task and list_macros in proc_macro_srv r=matklad a=edwin0cheng This PR finish up the remain `proc_macro_srv` implementation : 1. Added dylib loading code for proc-macro crate dylib. Note that we have to add some special flags for unix loading because of a bug in old version of glibc, see https://github.com/fedochet/rust-proc-macro-panic-inside-panic-expample/issues/1 and https://github.com/rust-lang/rust/issues/60593 for details. 2. Added tests for proc-macro expansion: We use a trick here by adding `serde_derive` to dev-dependencies and calling `cargo-metadata` for searching its dylib path, and expand it in our tests. [EDIT] Note that this PR **DO NOT** implement the final glue code with rust-analzyer and proc-macro-srv yet. Co-authored-by: Edwin Cheng <[email protected]>
| * | | Improve error handlingEdwin Cheng2020-04-111-24/+30
| | | |
| * | | tidy up a bitEdwin Cheng2020-04-101-50/+18
| | | |
| * | | Fix macos symbol name bugEdwin Cheng2020-04-091-1/+19
| | | |
| * | | Remove allow(unused)Edwin Cheng2020-04-091-3/+2
| | | |
| * | | Add testsEdwin Cheng2020-04-095-0/+304
| | | |
| * | | Implement expand_task and list_macrosEdwin Cheng2020-04-091-4/+27
| | | |
| * | | Add dylib loading codeEdwin Cheng2020-04-094-1/+229
| | | |
* | | | Fix non canonicallized path for crate fileEdwin Cheng2020-04-112-2/+6
| | | |
* | | | Forward compatAleksey Kladov2020-04-108-26/+25
| |_|/ |/| |
* | | Move timeit to stdxAleksey Kladov2020-04-102-16/+15
| | |
* | | profile queriesAleksey Kladov2020-04-101-0/+5
| | |
* | | Fix accidently quadratic behavior when processing includesAleksey Kladov2020-04-101-17/+19
| | | | | | | | | | | | closes #3927
* | | Add failing testAleksey Kladov2020-04-101-2/+29
| | |
* | | SimplifyAleksey Kladov2020-04-102-19/+2
| | |
* | | Rename some tokensAleksey Kladov2020-04-10207-1380/+1094
| | |
* | | Better readabilityAleksey Kladov2020-04-102-0/+142
| | |
* | | Remove dead codeAleksey Kladov2020-04-104-195/+187
| | |
* | | Generate only minimal set of ineresting tokensAleksey Kladov2020-04-105-1306/+23
| | |
* | | Scale token generation backAleksey Kladov2020-04-106-309/+77
| | |
* | | Convert more tokensAleksey Kladov2020-04-103-219/+15
| | |
* | | Other delimitersAleksey Kladov2020-04-101-32/+32
| | |
* | | Curley tokensAleksey Kladov2020-04-105-116/+34
| | |
* | | Start replacing tokensAleksey Kladov2020-04-101-34/+12
| | |
* | | Semicolon tokenAleksey Kladov2020-04-105-16/+38
| | |
* | | More readable ast_src for keywordsAleksey Kladov2020-04-101-69/+77
| | |
* | | Merge #3905bors[bot]2020-04-107-57/+159
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 diagnosticJosh Mcguigan2020-04-107-57/+159
| | | |
* | | | Implement Chalk's debug methods using TLSFlorian Diebold2020-04-105-56/+297
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 keywordsAleksey Kladov2020-04-0912-1015/+101
| | |
* | | use uniform accessorAleksey Kladov2020-04-092-5/+1
| | |
* | | use stdxAleksey Kladov2020-04-091-3/+3
| | |
* | | Drop needless traitAleksey Kladov2020-04-093-24/+16
| | |