aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * simplify and reduce number of values exploredBernardo2018-12-251-29/+23
| |
| * proptest strategies for TextUnit and AtomTextEditBernardo2018-12-253-0/+117
| |
* | fix suffix rangesAleksey Kladov2018-12-276-4/+95
| |
* | dump validation errorsAleksey Kladov2018-12-271-2/+5
| |
* | support literal suffixesAleksey Kladov2018-12-277-2/+40
| |
* | dedupe literal parsersAleksey Kladov2018-12-2710-374/+220
| |
* | check edits in diagnosticsAleksey Kladov2018-12-272-34/+30
| |
* | Merge #332bors[bot]2018-12-2730-318/+1518
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 332: Struct types r=matklad a=flodiebold Infer types for struct fields, and add basic field completions. There's also some code for enums, but I focused on getting structs working. There's still ways to go before this becomes useful: There's no autoderef (or even reference types) and no inference for `self`, for example. Co-authored-by: Florian Diebold <[email protected]>
| * | Resolve field types lazilyFlorian Diebold2018-12-257-59/+76
| | | | | | | | | | | | I.e. not already when getting the HIR for the struct.
| * | Add a hir::TypeRef as an intermediate between ast::TypeRef and ty::TyFlorian Diebold2018-12-2510-95/+219
| | |
| * | Implement reference / pointer typesFlorian Diebold2018-12-257-23/+173
| | | | | | | | | | | | | | | - parse them - infer types of & and * expressions
| * | Handle structs/enums with missing names a bit betterFlorian Diebold2018-12-252-20/+22
| | |
| * | Determine receiver for completion in a more robust wayFlorian Diebold2018-12-252-21/+31
| | | | | | | | | | | | Also rename a parameter.
| * | CleanupFlorian Diebold2018-12-251-125/+37
| | |
| * | Add . to trigger charactersFlorian Diebold2018-12-251-1/+1
| | |
| * | Implement basic completion for fieldsFlorian Diebold2018-12-2510-12/+156
| | |
| * | Improve parsing of incomplete field accesses in preparation for field completionFlorian Diebold2018-12-253-9/+45
| | | | | | | | | | | | | | | We need to be able to get the receiver even if there is no field name yet, and currently "a." wouldn't get parsed as a field name at all. This seems to help.
| * | Type field accessesFlorian Diebold2018-12-255-5/+54
| | |
| * | Collect field data for structs/enum variantsFlorian Diebold2018-12-255-12/+87
| | |
| * | Add AST definitions for struct/variant fields etc.Florian Diebold2018-12-253-12/+256
| | | | | | | | | | | | Fixes #117
| * | Infer result of struct literals, and recurse into their child expressionsFlorian Diebold2018-12-256-49/+143
| | |
| * | Do name resolution by namespace (types/values)Florian Diebold2018-12-2510-84/+212
| | |
| * | Add basic HIR and types for structs/enumsFlorian Diebold2018-12-259-29/+244
| |/
* | add cancelation module & cancelation backtracesAleksey Kladov2018-12-274-15/+91
| |
* | fix the testAleksey Kladov2018-12-271-2/+2
| |
* | expose make_pub_crate actionAleksey Kladov2018-12-271-0/+1
| |
* | fix use std::{self}gfreezy2018-12-263-13/+43
| |
* | fix testsgfreezy2018-12-251-1/+1
| |
* | add fix for removing unnecessary braces in use statementsgfreezy2018-12-255-61/+68
|/
* cancelled is not CopyAleksey Kladov2018-12-251-1/+1
|
* fix warning conversionAleksey Kladov2018-12-241-3/+1
|
* Merge #326bors[bot]2018-12-247-12/+79
|\ | | | | | | | | | | | | | | 326: resolved #324: remove unnecessary braces in use statement. r=matklad a=gfreezy Add inspection for unnecessary braces in use statement Co-authored-by: gfreezy <[email protected]>
| * fix testsgfreezy2018-12-241-1/+1
| |
| * remove option from Diagnosticgfreezy2018-12-244-7/+7
| |
| * keep severity to Error & WeakWarninggfreezy2018-12-242-10/+8
| |
| * remove unnecessary braces in use statmentsgfreezy2018-12-232-4/+2
| |
| * add serverity to vscode diagnosticsgfreezy2018-12-235-12/+32
| |
| * resolved #324: remove unnecessary braces in use statement.gfreezy2018-12-231-2/+53
| |
* | Merge #327bors[bot]2018-12-2421-148/+1188
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 327: Beginnings of type inference r=flodiebold a=flodiebold I was a bit bored, so I thought I'd try to start implementing the type system and see how far I come :wink: This is obviously still extremely WIP, only very basic stuff working, but I thought I'd post this now to get some feedback as to whether this approach makes sense at all. There's no user-visible effect yet, but the type inference has tests similar to the ones for the parser. My next step will probably be to implement struct types, after which this could probably be used to complete fields. I realize this may all get thrown away when/if the compiler query system gets usable, but I feel like there are lots of IDE features that could be implemented with somewhat working type inference in the meantime :smile: Co-authored-by: Florian Diebold <[email protected]>
| * | Change inference tests to have one per fileFlorian Diebold2018-12-246-55/+92
| | |
| * | Rename a variable for consistencyFlorian Diebold2018-12-242-10/+10
| | |
| * | Clean up Ty a bitFlorian Diebold2018-12-241-38/+22
| | | | | | | | | | | | Removing irrelevant comments copied from rustc etc.
| * | Prepare Ty::new for resolutionFlorian Diebold2018-12-231-14/+24
| | |
| * | Type the return values of call expressionsFlorian Diebold2018-12-232-5/+13
| | |
| * | Resolve paths to defs (functions currently) during type inferenceFlorian Diebold2018-12-2316-87/+214
| | |
| * | Make let statements kind of workFlorian Diebold2018-12-235-8/+53
| | |
| * | Remove unwrapsFlorian Diebold2018-12-231-6/+19
| | |
| * | Get rid of the terrible nesting in PathExpr inferenceFlorian Diebold2018-12-231-26/+14
| | |
| * | CleanupFlorian Diebold2018-12-234-108/+110
| | |
| * | Add testing infrastructure for type inferenceFlorian Diebold2018-12-239-124/+222
| | | | | | | | | | | | - move dir_tests to test_utils for that.