aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove format from syntax_bridge hot pathEdwin Cheng2020-04-131-5/+6
|
* Merge #3920bors[bot]2020-04-118-5/+600
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-096-0/+305
| |
| * Implement expand_task and list_macrosEdwin Cheng2020-04-091-4/+27
| |
| * Add dylib loading codeEdwin Cheng2020-04-095-1/+277
| |
* | Merge #3939bors[bot]2020-04-112-2/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3939: Fix non canonicallized path from metadata r=matklad a=edwin0cheng Crate root path obtained from cargo-metadata may contains non-canonicalized path (e.g. `/foo/../libcore/tests/lib.rs`), such that `vfs::load` will find a incorrect root. This PR try to fix that by canonicalize it before passing to vfs. Co-authored-by: Edwin Cheng <[email protected]>
| * | Fix non canonicallized path for crate fileEdwin Cheng2020-04-112-2/+6
|/ /
* | Merge #3937bors[bot]2020-04-108-26/+25
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3937: Forward compat r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Forward compatAleksey Kladov2020-04-108-26/+25
|/ /
* | Merge #3933bors[bot]2020-04-104-35/+63
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3933: Fix accidently quadratic behavior when processing include! r=matklad a=matklad This fixes the immediate problem behind #3927. It doesn't yet fix the deeper problem with `to_node` being quadratic (hence the test is ignored), but it is a good start anyway. bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * | 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
| | |
* | | Merge #3931bors[bot]2020-04-101-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3931: profile queries r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | profile queriesAleksey Kladov2020-04-101-0/+5
|/ / /
* | | Merge #3930bors[bot]2020-04-101-10/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3930: cargo update r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | cargo updatekjeremy2020-04-101-10/+10
|/ / /
* | | Merge #3928bors[bot]2020-04-103-20/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3928: Simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | SimplifyAleksey Kladov2020-04-103-20/+3
| | |
* | | Merge #3926bors[bot]2020-04-10221-3863/+1782
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3926: Rename some tokens r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Rename some tokensAleksey Kladov2020-04-10209-1393/+1107
| | |
| * | Better readabilityAleksey Kladov2020-04-103-2/+145
| | |
| * | Remove dead codeAleksey Kladov2020-04-105-206/+191
| | |
| * | Generate only minimal set of ineresting tokensAleksey Kladov2020-04-108-1306/+61
| | |
| * | Scale token generation backAleksey Kladov2020-04-109-547/+136
| | |
| * | Convert more tokensAleksey Kladov2020-04-105-268/+34
| | |
| * | Other delimitersAleksey Kladov2020-04-103-50/+54
| | |
| * | Curley tokensAleksey Kladov2020-04-106-133/+49
| | |
| * | Start replacing tokensAleksey Kladov2020-04-103-35/+17
| | |
| * | Semicolon tokenAleksey Kladov2020-04-107-29/+57
| | |
| * | More readable ast_src for keywordsAleksey Kladov2020-04-103-173/+210
| | |
| * | SimplifyAleksey Kladov2020-04-101-4/+4
|/ /
* | 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
| | |
* | | Merge #3748bors[bot]2020-04-106-56/+304
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 3748: Implement Chalk's debug methods using TLS r=matklad a=flodiebold 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. I think this is sound, but I still don't really want to do it this way... Having names in the Chalk debug output is very nice, but maybe IDs will have to suffice :disappointed: Co-authored-by: Florian Diebold <[email protected]>
| * | Implement Chalk's debug methods using TLSFlorian Diebold2020-04-106-56/+304
|/ / | | | | | | | | | | | | | | | | | | 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.
* | Merge #3923bors[bot]2020-04-0916-1060/+151
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 3923: Cleanup keyword accessors r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Simpler acessors for keywordsAleksey Kladov2020-04-0914-1025/+128
| | |
| * | use uniform accessorAleksey Kladov2020-04-092-5/+1
| | |
| * | use stdxAleksey Kladov2020-04-091-3/+3
| | |
| * | Drop needless traitAleksey Kladov2020-04-094-28/+20
| | |
* | | Merge #3922bors[bot]2020-04-095-60/+49
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3922: Remove code duplication r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Remove code duplicationAleksey Kladov2020-04-095-60/+49
|/ /
* | Merge #3918bors[bot]2020-04-095-45/+142
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 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 literalBenjamin Coenen2020-04-0928-8158/+7651
| |\ \ | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>