aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * refactorAleksey Kladov2019-10-081-8/+15
|/
* Merge #1969bors[bot]2019-10-0810-45/+82
|\ | | | | | | | | | | | | | | 1969: restore coloring of attributes r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * restore coloring of attributesAleksey Kladov2019-10-082-1/+4
| |
| * hard-code nightly-only CFGsAleksey Kladov2019-10-081-0/+8
| |
| * macro DSL for cfg in testsAleksey Kladov2019-10-083-16/+23
| |
| * use slightly more idiomatic api for cfgAleksey Kladov2019-10-087-40/+59
| |
* | Merge #1924bors[bot]2019-10-088-9/+81
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 1924: Support inferring&completing `Self` type in enum/struct/union definitions r=ice1000 a=ice1000 Signed-off-by: ice1000 <[email protected]> An attempt to fix #1908. This code works, but I believe the implementation is ugly. Please give me suggestions! Co-authored-by: ice1000 <[email protected]>
| * Address comments: fix docs, add completion test for `Self`.ice10002019-10-084-5/+32
| |
| * Support inferring `Self` type in enum definitionsice10002019-10-087-9/+54
| | | | | | | | Signed-off-by: ice1000 <[email protected]>
* | Merge #1922bors[bot]2019-10-084-21/+98
|\ \ | | | | | | | | | | | | | | | | | | | | | 1922: feat(assists): Make raw string unescaped r=matklad a=Geobert Last piece of https://github.com/rust-analyzer/rust-analyzer/issues/1730 Co-authored-by: Geobert Quach <[email protected]>
| * | feat(assists): Address some PR commentsGeobert Quach2019-10-041-25/+24
| | |
| * | feat(assists): Even smarter with hashesGeobert Quach2019-10-011-12/+44
| | | | | | | | | | | | Count `"#*` streak only, extract the counting in a function, unit test this function
| * | feat(assists): Be smart about hashesGeobert Quach2019-09-301-1/+36
| | | | | | | | | | | | Add max_hashes_streak + 1 hashes to the raw string
| * | feat(assists): Keep only one version of make_raw_stringGeobert Quach2019-09-293-99/+15
| | |
| * | feat(assists): Make raw string unescapedGeobert Quach2019-09-265-1/+95
| | |
* | | Merge #1951bors[bot]2019-10-085-1/+160
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1951: Lower the precedence of the `as` operator. r=matklad a=goffrie Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing. Fixes #1851. Co-authored-by: Geoffry Song <[email protected]>
| * | | Move tests aroundGeoffry Song2019-10-069-147/+198
| | | |
| * | | Lower the precedence of the `as` operator.Geoffry Song2019-10-035-45/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing.
* | | | Merge #1966bors[bot]2019-10-081-1/+1
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 1966: use lockfile in cargo install r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | use lockfile in cargo installAleksey Kladov2019-10-081-1/+1
|/ / /
* | | Merge #1963bors[bot]2019-10-071-11/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1963: proc-macro2 1.0.5 r=matklad a=kjeremy Has performance improvements. See https://github.com/alexcrichton/proc-macro2/issues/198 Co-authored-by: Jeremy Kolb <[email protected]>
| * | | proc-macro2 1.0.5Jeremy Kolb2019-10-071-11/+11
|/ / /
* | | Merge #1960bors[bot]2019-10-0515-429/+349
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1960: Replace AST visitors with macro r=viorina a=viorina Fixes #1672. Co-authored-by: Ekaterina Babshukova <[email protected]>
| * | | remove `visitor` moduleEkaterina Babshukova2019-10-056-144/+27
| | | |
| * | | replace AST visitors with macroEkaterina Babshukova2019-10-0510-297/+334
| | | |
* | | | Merge #1928bors[bot]2019-10-0529-66/+671
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1928: Support `#[cfg(..)]` r=matklad a=oxalica This PR implement `#[cfg(..)]` conditional compilation. It read default cfg options from `rustc --print cfg` with also hard-coded `test` and `debug_assertion` enabled. Front-end settings are **not** included in this PR. There is also a known issue that inner control attributes are totally ignored. I think it is **not** a part of `cfg` and create a separated issue for it. #1949 Fixes #1920 Related: #1073 Co-authored-by: uHOOCCOOHu <[email protected]> Co-authored-by: oxalica <[email protected]>
| * | | Use raw cfgs in json project and fix typooxalica2019-10-053-9/+18
| | | |
| * | | Add docsuHOOCCOOHu2019-10-022-0/+6
| | | |
| * | | Read default cfgs from rustcuHOOCCOOHu2019-10-028-14/+76
| | | |
| * | | OptimizeuHOOCCOOHu2019-10-025-13/+28
| | | |
| * | | Refactor CfgOptions insideuHOOCCOOHu2019-10-023-13/+20
| | | |
| * | | Support cfg attribute on impl blocksuHOOCCOOHu2019-10-025-13/+90
| | | |
| * | | Enable CfgOptions `test` for workspace cratesuHOOCCOOHu2019-10-029-26/+134
| | | |
| * | | Introduce ra_cfg to parse and evaluate CfgExpruHOOCCOOHu2019-10-0211-27/+315
| | | |
| * | | Pass attributes as token tree to DefCollectoruHOOCCOOHu2019-10-024-21/+54
| | | |
* | | | Merge #1952bors[bot]2019-10-053-0/+118
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1952: Create an assist for applying De Morgan's Law r=matklad a=cronokirby Fixes #1807 This assist can transform expressions of the form `!x || !y` into `!(x && y)`. This also works with `&&`. This assist will only trigger if the cursor is on the central logical operator. The main limitation of this current implementation is that both operands need to be an explicit negation, either of the form `!x`, or `x != y`. More operands could be accepted, but this would complicate the implementation quite a bit. Co-authored-by: Lúcás Meier <[email protected]>
| * | | | Fix typo about De Morgan's law assistLúcás Meier2019-10-041-1/+1
| | | | |
| * | | | [#1807] Add entry in docs/user/featuresLúcás Meier2019-10-041-0/+14
| | | | |
| * | | | [#1807] Refactor file structureLúcás Meier2019-10-041-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | Use the more conventional way of importing the ast types, and put the assist at the top of the file.
| * | | | Fix formattingLúcás Meier2019-10-041-22/+9
| | | | |
| * | | | Create an assist for applying De Morgan's lawLúcás Meier2019-10-031-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #1807 This assist can transform expressions of the form `!x || !y` into `!(x && y)`. This also works with `&&`. This assist will only trigger if the cursor is on the central logical operator. The main limitation of this current implementation is that both operands need to be an explicit negation, either of the form `!x`, or `x != y`. More operands could be accepted, but this would complicate the implementation quite a bit.
| * | | | WIP: Add demorgan application with naive negationLúcás Meier2019-10-031-0/+2
| | | | |
* | | | | Merge #1957bors[bot]2019-10-041-0/+16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1957: Add alternative setup instruction for vim/neovim r=matklad a=Luke-Nukem Provide another option hint for vim/neovim users who do not want to run nodejs Co-authored-by: Luke Jones <[email protected]>
| * | | | | Add alternative setup instruction for vim/neovimLuke Jones2019-10-041-0/+16
| |/ / / / | | | | | | | | | | | | | | | Provide another option hint for vim/neovim users who do not want to run nodejs
* | | | | Merge #1956bors[bot]2019-10-041-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1956: don't keep history for gh-pages r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | don't keep history for gh-pagesAleksey Kladov2019-10-041-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | docs weigh a lot, and change a lot. Keeping their changes in history inflates repo size. By specifying `keep-history: false` we should be able to avoid that.
* | | | Merge #1950bors[bot]2019-10-0311-54/+242
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1950: Fix parsing of block expressions in "forbid_structs" contexts. r=kjeremy a=goffrie Forbidding block expressions entirely is too strict; instead, we should only forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a range expression). Fixes #1773. Co-authored-by: Geoffry Song <[email protected]>
| * | | Fix parsing of block expressions in "forbid_structs" contexts.Geoffry Song2019-10-0311-54/+242
|/ / / | | | | | | | | | | | | | | | Forbidding block expressions entirely is too strict; instead, we should only forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a range expression).
* | | Merge #1945bors[bot]2019-10-022-3/+72
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 1945: Handle divergence in type inference for blocks r=flodiebold a=lnicola Fixes #1944. The `infer_basics` test is failing, not sure what to do about it. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Handle divergence in type inference for blocksLaurențiu Nicola2019-10-022-3/+72
| | |