aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Convert to TODOs to FIXMEs as per matkladveetaha2020-05-122-8/+4
|
* Revert "Remove MacroStmts as per edwin0cheng" (cc @edwin0cheng) and add a ↵veetaha2020-05-122-0/+45
| | | | | | | | | | fixme to document it. This reverts commit 7a49165f5d5c8186edd04f874eae8a98e39d3df6. MacroStmts ast node is not used by itself, but it pertains to SyntaxNodeKind MACRO_STMTS that is used by ra_paser, so even tho the node itself is not used, it is better to keep it with a FIXME to actually add a doc comment when it becomes useful.
* Add a doc comment on the difference between Name and NameRef ast nodesveetaha2020-05-122-2/+32
|
* Resolve TODO about macro 2.0 defveetaha2020-05-102-14/+8
|
* Fix typoveetaha2020-05-102-2/+2
|
* Carify on a semicolon in macro callveetaha2020-05-102-3/+13
|
* Resolve TODO about curly-braced constructions in expression statementveetaha2020-05-102-2/+6
|
* Remove TODO about Block since it was removedveetaha2020-05-101-3/+3
|
* Resolve todos about refs and empty statementsveetaha2020-05-102-9/+8
|
* Converted TODO about MacroItems to FIXME as per edwin0chengveetaha2020-05-102-14/+5
|
* Verified ConstArg example, waiting for response on what `=` sign pertains toveetaha2020-05-102-5/+4
|
* Correcy use tree and type args docsveetaha2020-05-102-8/+6
|
* Fix "show syntax tree" commandveetaha2020-05-101-1/+1
| | | | @matlkad please don't forget to keep it up-to-date!
* Correct `use` cannot have type args as per flodieboldveetaha2020-05-102-2/+2
|
* Correct path docs and add colon2 token to Path ast nodeveetaha2020-05-102-20/+28
|
* Add example with const in TypeBound as per flodieboldveetaha2020-05-102-5/+3
|
* Remove todo comment about arg vs param difference as per clarification from ↵veetaha2020-05-101-4/+0
| | | | flodiebold
* Properly document const impl as per flodieboldveetaha2020-05-102-4/+4
|
* Remove on TypeAliasDef as per flodieboldveetaha2020-05-101-2/+1
|
* Remove MacroStmts as per edwin0chengveetaha2020-05-102-47/+0
|
* Add proper docs for TokenTree as per edwin0chengveetaha2020-05-102-2/+4
|
* Run codegen of ast types with documentationveetaha2020-05-101-138/+1345
|
* Add ast docs to codegen scriptveetaha2020-05-102-17/+1515
|
* Merge #4412bors[bot]2020-05-102-1/+31
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4412: infer: Make expected rhs type for plain assign the lhs type r=flodiebold a=kiljacken This fixes an issue where the following code sample would fail to infer the type contained in the option: ```rust fn main() { let mut end = None; // Was Option<{unknown}>, is now Option<bool> loop { end = Some(true); } } ``` Co-authored-by: Emil Lauridsen <[email protected]>
| * infer: Make expected rhs type for plain assign the lhs typeEmil Lauridsen2020-05-102-1/+31
|/ | | | | | | | | | | | | This fixes an issue where the following code sample would fail to infer the type contained in the option: ```rust fn main() { let mut end = None; // TODO: Fix inference for this in RA loop { end = Some(true); } } ```
* Merge #4409bors[bot]2020-05-101-7/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | 4409: Hot fix panic for function_signature r=edwin0cheng a=edwin0cheng I am totally agree this comment: https://github.com/rust-analyzer/rust-analyzer/blob/f1cb5b8a29ce509bf1f8d6df97d4b6586b9a2dac/crates/ra_ide/src/display/function_signature.rs#L3-L4 But let hot fix all panic for right now, it is so disturbing when browsing code... Co-authored-by: Edwin Cheng <[email protected]>
| * Remove dbgEdwin Cheng2020-05-101-1/+0
| |
| * Hot fix panic for function_signatureEdwin Cheng2020-05-101-7/+13
|/
* Merge #4392bors[bot]2020-05-091-14/+11
|\ | | | | | | | | | | | | | | | | | | | | 4392: Add From should not move the cursor r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add From should not move the cursorAleksey Kladov2020-05-091-14/+11
| |
* | Merge #4389bors[bot]2020-05-091-9/+10
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 4389: Ascribe more correct types r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Ascribe more correct typesAleksey Kladov2020-05-091-9/+10
|/
* Merge #4388bors[bot]2020-05-093-3/+3
|\ | | | | | | | | | | | | | | | | | | | | 4388: unindent -> dedent r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * unindent -> dedentAleksey Kladov2020-05-093-3/+3
| |
* | Merge #4387bors[bot]2020-05-098-35/+46
|\| | | | | | | | | | | | | | | | | | | | | 4387: More fluent indent API r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * More fluent indent APIAleksey Kladov2020-05-097-34/+45
| |
| * Fix visibilityAleksey Kladov2020-05-091-1/+1
|/
* Merge #4175bors[bot]2020-05-095-99/+300
|\ | | | | | | | | | | | | | | | | | | | | | | 4175: Introduce HirDisplay method for rendering source code & use it in add_function assist r=flodiebold a=TimoFreiberg Next feature for #3639. So far the only change in the new `HirDisplay` method is that paths are qualified, but more changes will be necessary (omitting the function name from function types, returning an error instead of printing `"{unknown}"`, probably more). Is that approach okay? Co-authored-by: Timo Freiberg <[email protected]>
| * Use new HirDisplay variant in add_function assistTimo Freiberg2020-05-081-58/+116
| |
| * New HirDisplay method for displaying sourcecodeTimo Freiberg2020-05-084-41/+184
| |
* | Merge #4381bors[bot]2020-05-092-47/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | 4381: Simplify r=matklad a=Veetaha Co-authored-by: veetaha <[email protected]>
| * | Simpify project discoveryveetaha2020-05-091-36/+15
| | |
| * | Simplifyveetaha2020-05-091-11/+9
|/ /
* | Merge #4379bors[bot]2020-05-084-11/+72
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4379: Handle coercing function types to function pointers in match r=matklad a=flodiebold E.g. in ```rust match x { 1 => function1, 2 => function2, } ``` we need to try coercing both to pointers. Turns out this is a special case in rustc as well (see the link in the comment). Co-authored-by: Florian Diebold <[email protected]>
| * | Handle coercing function types to function pointers in matchFlorian Diebold2020-05-084-11/+72
|/ / | | | | | | | | | | | | | | | | | | | | | | E.g. in ```rust match x { 1 => function1, 2 => function2, } ``` we need to try coercing both to pointers. Turns out this is a special case in rustc as well (see the link in the comment).
* | Merge #4377bors[bot]2020-05-089-25/+362
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 4377: Implement better handling of divergence r=matklad a=flodiebold Divergence here means that for some reason, the end of a block will not be reached. We tried to model this just using the never type, but that doesn't work fully (e.g. in `let x = { loop {}; "foo" };` x should still have type `&str`); so this introduces a `diverges` flag that the type checker keeps track of, like rustc does. We also add some checking for `break`, but no support for break-with-value or labeled breaks yet. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * | Add diagnostic for break outside of loopFlorian Diebold2020-05-084-1/+62
| | |
| * | Use matches!Florian Diebold2020-05-081-4/+1
| | |
| * | Handle break somewhat betterFlorian Diebold2020-05-083-3/+105
| | | | | | | | | | | | | | | Still no break-with-value or labels, but at least we know that `loop { break; }` doesn't diverge.
| * | Implement better handling of divergenceFlorian Diebold2020-05-087-23/+200
| |/ | | | | | | | | | | | | | | Divergence here means that for some reason, the end of a block will not be reached. We tried to model this just using the never type, but that doesn't work fully (e.g. in `let x = { loop {}; "foo" };` x should still have type `&str`); so this introduces a `diverges` flag that the type checker keeps track of, like rustc does.