aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Parse correctly fn f<T>() where T: Fn() -> u8 + Send {}Luca Barbieri2020-04-093-1/+63
| | | | | We used to parse it as T: Fn() -> (u8 + Send), which is different from the rustc behavior of T: (Fn() -> u8) + Send
* Scale back to only two traitsAleksey Kladov2020-04-096-190/+1961
|
* Provide more complete AST accessors to support usage in rustcLuca Barbieri2020-04-0917-123/+144
|
* Merge #3909bors[bot]2020-04-093-64/+3038
|\ | | | | | | | | | | | | | | | | | | 3909: Generate tokense r=matklad a=matklad bors r+ 🤖 Co-authored-by: Luca Barbieri <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| * Scale back the traitsAleksey Kladov2020-04-092-105/+3033
| |
| * Add AstElement trait, generate tokens, support tokens in enumsLuca Barbieri2020-04-082-65/+111
| | | | | | | | | | | | | | | | | | - Adds a new AstElement trait that is implemented by all generated node, token and enum structs - Overhauls the code generators to code-generate all tokens, and also enhances enums to support including tokens, node, and nested enums
* | Merge #3880bors[bot]2020-04-094-7/+58
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3880: Add support for attributes for struct fields r=matklad a=bnjjj Hello I try to solve this example: ```rust struct MyStruct { my_val: usize, #[cfg(feature = "foo")] bar: bool, } impl MyStruct { #[cfg(feature = "foo")] pub(crate) fn new(my_val: usize, bar: bool) -> Self { Self { my_val, bar } } #[cfg(not(feature = "foo"))] pub(crate) fn new(my_val: usize, _bar: bool) -> Self { Self { my_val } } } ``` Here is a draft PR to try to solve this issue. In fact for now when i have this kind of example, rust-analyzer tells me that my second Self {} miss the bar field. Which is a bug. I have some difficulties to add this features. Here in my draft I share my work about adding attributes support on struct field data. But I'm stuck when I have to fetch attributes from parent expressions. I don't really know how to do that. For the first iteration I just want to solve my issue without solving on all different expressions. And then after I will try to implement that on different kind of expression. I think I have to fetch my FunctionId and then I will be able to find attributes with myFunction.attrs() But I don't know if it's the right way. @matklad (or anyone else) if you can help me it would be great :D Co-authored-by: Benjamin Coenen <[email protected]>
| * \ feat: add attributes support on struct fields and method #3870Benjamin Coenen2020-04-0917-244/+467
| |\ \ | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | feat: add attributes support on struct fields and method #3870Benjamin Coenen2020-04-084-43/+30
| | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | Merge branch 'master' of github.com:rust-analyzer/rust-analyzerBenjamin Coenen2020-04-07317-151/+1801
| |\ \ \
| * | | | feat: add attributes support on struct fields #3870Benjamin Coenen2020-04-074-7/+71
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | | Fix add missing items assist orderAleksey Kladov2020-04-091-2/+4
| | | | | | | | | | | | | | | | | | | | closes #3904
* | | | | Remove unused funcEdwin Cheng2020-04-091-3/+1
| | | | |
* | | | | Add rustc_server (ra_tt rustc bridge)Edwin Cheng2020-04-093-1/+690
| |_|/ / |/| | |
* | | | match checking add additional test for match checking tuple with missing patternJosh Mcguigan2020-04-081-0/+14
| | | |
* | | | fix panic in match checking when tuple enum missing patternJosh Mcguigan2020-04-081-15/+45
| |_|/ |/| |
* | | Fix warnings emitted when compiling as part of rustcLuca Barbieri2020-04-081-1/+1
| | |
* | | Merge #3826bors[bot]2020-04-085-51/+148
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3826: Flatten nested highlight ranges during DFS traversal r=matklad a=ltentrup Implements the flattening of nested highlights from #3447. There is a caveat: I needed to add `Clone` to `HighlightedRange` to split highlight ranges ~and the nesting does not appear in the syntax highlighting test (it does appear in the accidental-quadratic test but there it is not checked against a ground-truth)~. I have added a test case for the example mentioned in #3447. Co-authored-by: Leander Tentrup <[email protected]>
| * | | Simplify HTML highlighter and add test case for highlight_injection logicLeander Tentrup2020-04-065-59/+97
| | | |
| * | | Flatten nested highlight ranges during DFS traversalLeander Tentrup2020-04-032-6/+65
| | | |
* | | | Merge #3892bors[bot]2020-04-082-1/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3892: Add L_DOLLAR for TYPE_RECOVERY_SET r=matklad a=edwin0cheng This PR is a hot fix for issue #3861 that just prevent it make the parser being stuck. The actual problem described in https://github.com/rust-analyzer/rust-analyzer/pull/3873#issuecomment-610208693 is a very deep rabbit hole I don't want to dig right now :( Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Add L_DOLLAR for TYPE_RECOVERY_SETEdwin Cheng2020-04-082-1/+18
| | | | |
* | | | | fmtAleksey Kladov2020-04-082-5/+7
|/ / / /
* | | | Move computation of missing fields into hirAleksey Kladov2020-04-075-168/+198
| | | |
* | | | Add functional update testAleksey Kladov2020-04-071-0/+33
| | | |
* | | | Fix names of test modulesAleksey Kladov2020-04-071-2/+2
| |_|/ |/| |
* | | Merge #3878bors[bot]2020-04-074-7/+52
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3878: A more precise panic macro r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | A more precise panic macroAleksey Kladov2020-04-071-1/+1
| | | |
| * | | Don't insert !() if there's already someAleksey Kladov2020-04-073-3/+45
| | | |
| * | | Reorder importsAleksey Kladov2020-04-071-3/+6
| | | |
* | | | add fixme to use type checker rather than manually comparing typesJosh Mcguigan2020-04-071-0/+7
| | | |
* | | | PR feedback implementationJosh Mcguigan2020-04-071-94/+331
| | | |
* | | | missing match arms diagnostic change source to match expressionJosh Mcguigan2020-04-073-3/+7
| | | |
* | | | handle match auto-derefJosh Mcguigan2020-04-072-1/+45
| | | |
* | | | improving documentationJosh Mcguigan2020-04-071-16/+64
| | | |
* | | | handle non matching enum pattern typesJosh Mcguigan2020-04-072-41/+57
| | | |
* | | | remove panicsJosh Mcguigan2020-04-072-66/+214
| | | |
* | | | missing match arms diagnosticJosh Mcguigan2020-04-0711-11/+1047
|/ / /
* | | Better naming for scope completionAleksey Kladov2020-04-073-4/+4
| | |
* | | Better naming for path completionAleksey Kladov2020-04-073-4/+4
| | |
* | | Merge pull request #3863 from Veetaha/feature/migrate-to-rastAleksey Kladov2020-04-07278-25/+23
|\ \ \ | | | | | | | | Migrate tests .txt -> .rast
| * | | Migrate tests .txt -> .rastveetaha2020-04-06278-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sytax tree output files now use .rast extension (rust-analyzer syntax tree or rust abstract syntax tree (whatever)). This format has a editors/code/ra_syntax_tree.tmGrammar.json declaration that supplies nice syntax highlighting for .rast files.
* | | | Merge pull request #3866 from lnicola/fewer-bracesAleksey Kladov2020-04-0712-73/+73
|\ \ \ \ | | | | | | | | | | Fix unnecessary braces warnings
| * | | | Fix unnecessary braces warningsLaurențiu Nicola2020-04-0612-73/+73
| | | | |
* | | | | fix cargo check config with custom commandJosh Mcguigan2020-04-071-15/+25
| | | | |
* | | | | Fix Chalk panicFlorian Diebold2020-04-063-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.
* | | | | Merge pull request #3867 from matklad/deny-eprintlnAleksey Kladov2020-04-067-12/+38
|\ \ \ \ \ | |_|_|_|/ |/| | | | Check for eprintlns on CI
| * | | | Check for eprintln on CIAleksey Kladov2020-04-067-12/+38
| |/ / /
* | | | Add bridge::TokenStream to crate scopeEdwin Cheng2020-04-061-0/+1
| | | |
* | | | Add proc_macro mod (copy from lib_proc_macro)Edwin Cheng2020-04-0611-0/+2943
| | | |