Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fixes names for collect_item funtions | Edwin Cheng | 2020-05-04 | 1 | -25/+14 |
| | |||||
* | Support macro for trait items | Edwin Cheng | 2020-05-03 | 1 | -82/+67 |
| | |||||
* | Introduce LowerCtx for path lowering | Edwin Cheng | 2020-05-01 | 1 | -8/+13 |
| | |||||
*-. | Merge #3966 #3968 | bors[bot] | 2020-04-15 | 1 | -4/+14 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3966: Add support for bounds on associated types in trait definitions r=matklad a=flodiebold E.g. ```rust trait Trait { type Item: SomeOtherTrait; } ``` Note that these don't simply desugar to where clauses; as I understand it, where clauses have to be proved by the *user* of the trait, but these bounds are proved by the *implementor*. (Also, where clauses on associated types are unstable.) (Another one from my recursive solver branch...) 3968: Remove format from syntax_bridge hot path r=matklad a=edwin0cheng Although only around 1% speed up by running: ``` Measure-Command {start-process .\target\release\rust-analyzer "analysis-stats -q ." -NoNewWindow -wait} ``` Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Edwin Cheng <[email protected]> | ||||
| * | | Add support for bounds on associated types in trait definitions | Florian Diebold | 2020-04-13 | 1 | -4/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E.g. ``` trait Trait { type Item: SomeOtherTrait; } ``` Note that these don't simply desugar to where clauses; as I understand it, where clauses have to be proved by the *user* of the trait, but these bounds are proved by the *implementor*. (Also, where clauses on associated types are unstable.) | ||||
* | | | Implement inline associated type bounds | Florian Diebold | 2020-04-13 | 1 | -2/+6 |
|/ / | | | | | | | | | | | | | Like `Iterator<Item: SomeTrait>`. This is an unstable feature, but it's used in the standard library e.g. in the definition of Flatten, so we can't get away with not implementing it :) | ||||
* | | Align naming | Aleksey Kladov | 2020-04-11 | 1 | -1/+1 |
| | | |||||
* | | Use Expander for cfg handling in impls | Aleksey Kladov | 2020-04-11 | 1 | -13/+14 |
| | | |||||
* | | Pull Expander up | Aleksey Kladov | 2020-04-11 | 1 | -5/+5 |
|/ | |||||
* | Simpler acessors for keywords | Aleksey Kladov | 2020-04-09 | 1 | -2/+2 |
| | |||||
* | Merge #3918 | bors[bot] | 2020-04-09 | 1 | -9/+5 |
|\ | | | | | | | | | | | | | | | | | 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 literal | Benjamin Coenen | 2020-04-09 | 1 | -9/+5 |
| | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | ||||
* | | Be consistent about token accesors | Aleksey Kladov | 2020-04-09 | 1 | -3/+3 |
|/ | |||||
* | feat: add attributes support on struct fields and method #3870 | Benjamin Coenen | 2020-04-08 | 1 | -4/+21 |
| | | | | Signed-off-by: Benjamin Coenen <[email protected]> | ||||
* | feat: add attributes support on struct fields #3870 | Benjamin Coenen | 2020-04-07 | 1 | -1/+5 |
| | | | | Signed-off-by: Benjamin Coenen <[email protected]> | ||||
* | Use `dyn Trait` for working with databse | Aleksey Kladov | 2020-03-16 | 1 | -9/+9 |
| | | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate). | ||||
* | Merge #3591 | bors[bot] | 2020-03-15 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3591: Support local macro_rules r=matklad a=edwin0cheng This PR implement local `macro_rules` in function body, by adding following things: 1. While lowering, add a `MacroDefId` in body's `ItemScope` as a textual legacy macro. 2. Make `Expander::enter_expand` search with given `ItemScope`. 3. Make `Resolver::resolve_path_as_macro` search with `LocalItemScope`. Fix #2181 Co-authored-by: Edwin Cheng <[email protected]> | ||||
| * | Support local macro_rules | Edwin Cheng | 2020-03-14 | 1 | -1/+1 |
| | | |||||
* | | Fix completion of trait items | Florian Diebold | 2020-03-14 | 1 | -8/+18 |
|/ | | | | Trait items should be public by default. | ||||
* | Handle visibility for assoc item path completion as well | Florian Diebold | 2020-03-08 | 1 | -12/+19 |
| | |||||
* | Handle visibility in method call completion | Florian Diebold | 2020-03-07 | 1 | -3/+9 |
| | |||||
* | Add profiling calls | Aleksey Kladov | 2020-03-05 | 1 | -0/+2 |
| | |||||
* | Rename ast::ImplBlock -> ast::ImplDef | Aleksey Kladov | 2020-02-29 | 1 | -3/+3 |
| | |||||
* | Remove AsyncOwner | Edwin Cheng | 2019-12-24 | 1 | -3/+1 |
| | |||||
* | Formatting | Edwin Cheng | 2019-12-24 | 1 | -2/+0 |
| | |||||
* | Implement infer await from async func | Edwin Cheng | 2019-12-24 | 1 | -2/+25 |
| | |||||
* | Add a limit for protect against infinite recursion | Edwin Cheng | 2019-12-20 | 1 | -2/+10 |
| | |||||
* | Recursive collect macros in impl items | Edwin Cheng | 2019-12-20 | 1 | -10/+28 |
| | |||||
* | Add support macros in impl blocks | Edwin Cheng | 2019-12-20 | 1 | -39/+80 |
| | |||||
* | Rename ContainerId -> AssocContainerId | Aleksey Kladov | 2019-12-20 | 1 | -6/+6 |
| | |||||
* | Rename N! to name! | Florian Diebold | 2019-12-13 | 1 | -2/+2 |
| | |||||
* | Add macros for known names and paths | Florian Diebold | 2019-12-13 | 1 | -2/+2 |
| | |||||
* | Move traits to the new loc | Aleksey Kladov | 2019-12-12 | 1 | -3/+3 |
| | |||||
* | Switch to the new location for impls | Aleksey Kladov | 2019-12-12 | 1 | -1/+1 |
| | |||||
* | Move source-related traits to a separate module | Aleksey Kladov | 2019-11-28 | 1 | -2/+3 |
| | |||||
* | Use Name::missing consistently | Aleksey Kladov | 2019-11-27 | 1 | -5/+6 |
| | |||||
* | Store names in TraitData | Aleksey Kladov | 2019-11-26 | 1 | -17/+38 |
| | |||||
* | Some docs | Aleksey Kladov | 2019-11-24 | 1 | -8/+7 |
| | |||||
* | Switch to StaticLoc for statics | Aleksey Kladov | 2019-11-24 | 1 | -1/+1 |
| | |||||
* | Get rid of DefDatabase2 | Aleksey Kladov | 2019-11-23 | 1 | -7/+7 |
| | |||||
* | Move const&static date to hir_def | Aleksey Kladov | 2019-11-22 | 1 | -2/+27 |
| | |||||
* | Make ImplData's fields public | Aleksey Kladov | 2019-11-22 | 1 | -22/+8 |
| | |||||
* | Move data to a single file | Aleksey Kladov | 2019-11-22 | 1 | -0/+206 |