]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoMerge #2679
bors[bot] [Sun, 29 Dec 2019 16:58:29 +0000 (16:58 +0000)]
Merge #2679

2679: Resolve traits for infer using lang item infrastructure r=matklad a=kiljacken

As we already have the infrastructure for collecting lang items, use it to find the right traits when doing type-inference.

Co-authored-by: Emil Lauridsen <mine809@gmail.com>
4 years agoMerge #2061
bors[bot] [Sun, 29 Dec 2019 16:49:40 +0000 (16:49 +0000)]
Merge #2061

2061: Theme loading and "editor.tokenColorCustomizations" support. r=matklad a=seivan

Fixes: [Issue#1294](https://github.com/rust-analyzer/rust-analyzer/issues/1294#issuecomment-497450325)
TODO:
- [x] Load themes
- [x] Load existing `ralsp`-prefixed overrides from `"workbench.colorCustomizations"`.
- [x] Load overrides from `"editor.tokenColorCustomizations.textMateRules"`.
- [x] Use RA tags to load `vscode.DecorationRenderOptions` (colors) from theme & overrides.
- [x] Map RA tags to common TextMate scopes before loading colors.
- [x] Add default scope mappings in extension.
- [x] Cache mappings between settings updates.
- [x] Add scope mapping configuration manifest in `package.json`
- [x] Load configurable scope mappings from settings.
- [x] Load JSON Scheme for text mate scope rules in settings.
- [x] Update [Readme](https://github.com/seivan/rust-analyzer/blob/feature/themes/docs/user/README.md#settings).

Borrowed the theme loading (`scopes.ts`) from `Tree Sitter` with some modifications to reading `"editor.tokenColorCustomizations"` for merging with loaded themes and had to remove the async portions to be able to load it from settings updates.

~Just a PoC and an idea I toyed around with a lot of room for improvement.~
For starters, certain keywords aren't part of the standard TextMate grammar, so it still reads colors from the `ralsp` prefixed values in `"workbench.colorCustomizations"`.

But I think there's more value making the extension work with existing themes by maping some of the decoration tags to existing key or keys.

<img width="453" alt="Screenshot 2019-11-09 at 17 43 18" src="https://user-images.githubusercontent.com/55424/68531968-71b4e380-0318-11ea-924e-cdbb8d5eae06.png">
<img width="780" alt="Screenshot 2019-11-09 at 17 41 45" src="https://user-images.githubusercontent.com/55424/68531950-4b8f4380-0318-11ea-8f85-24a84efaf23b.png">
<img width="468" alt="Screenshot 2019-11-09 at 17 40 29" src="https://user-images.githubusercontent.com/55424/68531952-51852480-0318-11ea-800a-6ae9215f5368.png">

These will merge with the default ones coming with the extension, so you don't have to implement all of them and works well with overrides defined in settings.

```jsonc
    "editor.tokenColorCustomizations": {
        "textMateRules": [
            {
                "scope": "keyword",
                "settings": {
                    "fontStyle": "bold",
                }
            },
        ]
    },
```

Edit: The idea is to work with 90% of the themes out there by working within existing scopes available that are generally styled. It's not to say I want to erase the custom Rust scopes - those should still remain and eventually worked into a custom grammar bundle for Rust specific themes that target those, I just want to make it work with generic themes offered on the market place for now.

A custom grammar bundle and themes for Rust specific scopes is out of... scope for this PR.
We'll make another round to tackle those issues.

Current fallbacks implemented

```typescript
    [
        'comment',
        [
            'comment',
            'comment.block',
            'comment.line',
            'comment.block.documentation'
        ]
    ],
    ['string', ['string']],
    ['keyword', ['keyword']],
    ['keyword.control', ['keyword.control', 'keyword', 'keyword.other']],
    [
        'keyword.unsafe',
        ['storage.modifier', 'keyword.other', 'keyword.control', 'keyword']
    ],
    ['function', ['entity.name.function']],
    ['parameter', ['variable.parameter']],
    ['constant', ['constant', 'variable']],
    ['type', ['entity.name.type']],
    ['builtin', ['variable.language', 'support.type', 'support.type']],
    ['text', ['string', 'string.quoted', 'string.regexp']],
    ['attribute', ['keyword']],
    ['literal', ['string', 'string.quoted', 'string.regexp']],
    ['macro', ['support.other']],
    ['variable', ['variable']],
    ['variable.mut', ['variable', 'storage.modifier']],
    [
        'field',
        [
            'variable.object.property',
            'meta.field.declaration',
            'meta.definition.property',
            'variable.other'
        ]
    ],
    ['module', ['entity.name.section', 'entity.other']]
```

Co-authored-by: Seivan Heidari <seivan.heidari@icloud.com>
4 years agoRemove unused hard-coded paths
Emil Lauridsen [Sun, 29 Dec 2019 16:39:44 +0000 (17:39 +0100)]
Remove unused hard-coded paths

4 years agoResolve traits in infer using lang item infrastructure
Emil Lauridsen [Sun, 29 Dec 2019 16:39:31 +0000 (17:39 +0100)]
Resolve traits in infer using lang item infrastructure

4 years agoAdd helpers for unpacking lang items
Emil Lauridsen [Sun, 29 Dec 2019 16:38:37 +0000 (17:38 +0100)]
Add helpers for unpacking lang items

4 years agoMerge #2650
bors[bot] [Sun, 29 Dec 2019 15:02:27 +0000 (15:02 +0000)]
Merge #2650

2650: Add macro call support for SourceAnalyzer::type_of r=matklad a=edwin0cheng

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
4 years agoMerge #2674
bors[bot] [Sun, 29 Dec 2019 14:08:37 +0000 (14:08 +0000)]
Merge #2674

2674: Reduce visibility r=matklad a=matklad

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
4 years agoReduce visibility
Aleksey Kladov [Sun, 29 Dec 2019 14:07:53 +0000 (15:07 +0100)]
Reduce visibility

4 years agoMerge #2673
bors[bot] [Sun, 29 Dec 2019 13:48:40 +0000 (13:48 +0000)]
Merge #2673

2673: Don't add non-impl/trait containers to scope r=matklad a=matklad

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
4 years agoDon't add non-impl/trait containers to scope
Aleksey Kladov [Sun, 29 Dec 2019 13:46:24 +0000 (14:46 +0100)]
Don't add non-impl/trait containers to scope

4 years agoMerge #2668
bors[bot] [Sun, 29 Dec 2019 12:57:24 +0000 (12:57 +0000)]
Merge #2668

2668: In-server cargo check watching r=matklad a=kiljacken

Opening a draft now so people can follow the progress, and comment if they spot something stupid.

Things that need doing:
- [x] Running cargo check on save
- [x] Pipe through configuration options from client
- [x] Tests for parsing behavior
- [x] Remove existing cargo watch support from VSCode extension
- [x] Progress notification in VSCode extension using LSP 3.15 `$/progress` notification
- [ ] ~~Rework ra-ide diagnostics to support secondary messages~~
- [ ] ~~Make cargo-check watcher use ra-ide diagnostics~~

~~I'd love some input on whether to try to keep the status bar progress thingy for VSCode? It will require some plumbing, and maintaining yet another rust-analyzer specific LSP notification, which I'm not sure we want to.~~

Fixes #1894

Co-authored-by: Emil Lauridsen <mine809@gmail.com>
4 years agoMerge #2667
bors[bot] [Sun, 29 Dec 2019 12:24:19 +0000 (12:24 +0000)]
Merge #2667

2667: Visibility r=matklad a=flodiebold

This adds the infrastructure for handling visibility (for fields and methods, not in name resolution) in the HIR and code model, and as a first application hides struct fields from completions if they're not visible from the current module. (We might want to relax this again later, but I think it's ok for now?)

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
4 years agoFix busy-waiting issue in main cargo watch thread
Emil Lauridsen [Fri, 27 Dec 2019 16:29:02 +0000 (17:29 +0100)]
Fix busy-waiting issue in main cargo watch thread

4 years agoMerge #2671
bors[bot] [Fri, 27 Dec 2019 15:52:19 +0000 (15:52 +0000)]
Merge #2671

2671: anyhow and crossbeam-queue r=kjeremy a=kjeremy

Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
4 years agoanyhow and crossbeam-queue
Jeremy Kolb [Fri, 27 Dec 2019 15:51:30 +0000 (10:51 -0500)]
anyhow and crossbeam-queue

4 years agoDon't finish main cargo watch thread when subprocess finishes.
Emil Lauridsen [Fri, 27 Dec 2019 11:43:14 +0000 (12:43 +0100)]
Don't finish main cargo watch thread when subprocess finishes.

4 years agoFix shutdown behavoir of main cargo-watch thread.
Emil Lauridsen [Fri, 27 Dec 2019 11:42:18 +0000 (12:42 +0100)]
Fix shutdown behavoir of main cargo-watch thread.

Even though this didn't error, it became clear to me that it was closing
the wrong channel, resulting in the child thread never finishing.

4 years agoAdd doc comment to module
Emil Lauridsen [Fri, 27 Dec 2019 10:57:00 +0000 (11:57 +0100)]
Add doc comment to module

4 years agoCargo fmt run
Emil Lauridsen [Fri, 27 Dec 2019 10:47:09 +0000 (11:47 +0100)]
Cargo fmt run

4 years agoShutdown/cancelation story for main cargo watch thread
Emil Lauridsen [Fri, 27 Dec 2019 10:43:05 +0000 (11:43 +0100)]
Shutdown/cancelation story for main cargo watch thread

4 years agoConsistent, hopefully robust, shutdown/cancelation story for cargo check subprocess
Emil Lauridsen [Fri, 27 Dec 2019 10:31:25 +0000 (11:31 +0100)]
Consistent, hopefully robust, shutdown/cancelation story for cargo check subprocess

4 years agovisible_from -> is_visible_from
Florian Diebold [Fri, 27 Dec 2019 10:24:31 +0000 (11:24 +0100)]
visible_from -> is_visible_from

4 years agoMerge #2657
bors[bot] [Fri, 27 Dec 2019 10:10:07 +0000 (10:10 +0000)]
Merge #2657

2657: Omit closure parameters in closure type display strings r=flodiebold a=SomeoneToIgnore

Part of https://github.com/rust-analyzer/rust-analyzer/issues/1946

I wonder, should we display the the closure trait (Fn/FnMut/FnOnce) in inlay hints instead of `|...|` at all?

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
4 years agoMove cargo watch functionality to separate crate
Emil Lauridsen [Fri, 27 Dec 2019 10:10:07 +0000 (11:10 +0100)]
Move cargo watch functionality to separate crate

4 years agoRemove Arc from RawVisibility
Florian Diebold [Thu, 26 Dec 2019 15:42:57 +0000 (16:42 +0100)]
Remove Arc from RawVisibility

Now that it's not used as a direct query return value anymore, it doesn't need
to be cheaply cloneable anymore.

4 years agoFix cross-crate glob privacy handling
Florian Diebold [Thu, 26 Dec 2019 15:31:38 +0000 (16:31 +0100)]
Fix cross-crate glob privacy handling

4 years agoRemove visibility query, instead add struct field visibility to data
Florian Diebold [Thu, 26 Dec 2019 15:22:15 +0000 (16:22 +0100)]
Remove visibility query, instead add struct field visibility to data

Methods should be handled the same, and for items the visibility will be in the
def map.

4 years agoRename ResolvedVisibility -> Visibility
Florian Diebold [Thu, 26 Dec 2019 15:00:10 +0000 (16:00 +0100)]
Rename ResolvedVisibility -> Visibility

4 years agoRename Visibility -> RawVisibility
Florian Diebold [Thu, 26 Dec 2019 14:57:14 +0000 (15:57 +0100)]
Rename Visibility -> RawVisibility

4 years agoHandle privacy for modules
Florian Diebold [Thu, 26 Dec 2019 14:49:13 +0000 (15:49 +0100)]
Handle privacy for modules

4 years agoCheck for `todo!` macros in no_todo
Florian Diebold [Wed, 25 Dec 2019 17:33:56 +0000 (18:33 +0100)]
Check for `todo!` macros in no_todo

4 years agoTake visibility into account for glob imports
Florian Diebold [Wed, 25 Dec 2019 17:05:16 +0000 (18:05 +0100)]
Take visibility into account for glob imports

4 years agoKeep track of visibility during def collection
Florian Diebold [Wed, 25 Dec 2019 14:00:10 +0000 (15:00 +0100)]
Keep track of visibility during def collection

4 years agoCollect visibility of items during nameres
Florian Diebold [Tue, 24 Dec 2019 22:45:14 +0000 (23:45 +0100)]
Collect visibility of items during nameres

4 years agoAdd doc comment
Florian Diebold [Tue, 24 Dec 2019 21:11:50 +0000 (22:11 +0100)]
Add doc comment

4 years agoMake enum variant fields public
Florian Diebold [Tue, 24 Dec 2019 21:10:44 +0000 (22:10 +0100)]
Make enum variant fields public

4 years agoHide completions for private struct fields
Florian Diebold [Tue, 24 Dec 2019 20:46:07 +0000 (21:46 +0100)]
Hide completions for private struct fields

4 years agoAdd visibility in code model for fields
Florian Diebold [Tue, 24 Dec 2019 20:45:58 +0000 (21:45 +0100)]
Add visibility in code model for fields

4 years agoAdd logic for resolving and checking visibility
Florian Diebold [Tue, 24 Dec 2019 20:23:22 +0000 (21:23 +0100)]
Add logic for resolving and checking visibility

4 years agoAdd infrastructure for visibility on syntax and hir_def level
Florian Diebold [Tue, 24 Dec 2019 19:32:42 +0000 (20:32 +0100)]
Add infrastructure for visibility on syntax and hir_def level

4 years agoMerge #2658
bors[bot] [Wed, 25 Dec 2019 20:26:08 +0000 (20:26 +0000)]
Merge #2658

2658: Only add features flags if non-empty r=matklad a=edwin0cheng

This prevent error when disabled  `all-features` in a cargo workspace, because of `--features is not allowed in the root of a virtual workspace` when running `cargo metadata`.

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
4 years agoMerge #2663
bors[bot] [Wed, 25 Dec 2019 19:26:18 +0000 (19:26 +0000)]
Merge #2663

2663: Fill in type params in 'add missing impl members' assist r=flodiebold a=flodiebold

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
4 years agoKeep VSCode config mostly backwards compatible
Emil Lauridsen [Wed, 25 Dec 2019 19:23:44 +0000 (20:23 +0100)]
Keep VSCode config mostly backwards compatible

4 years agoSome documentatioN
Emil Lauridsen [Wed, 25 Dec 2019 18:56:07 +0000 (19:56 +0100)]
Some documentatioN

4 years agoActually respect disabling cargo check functionality
Emil Lauridsen [Wed, 25 Dec 2019 18:17:54 +0000 (19:17 +0100)]
Actually respect disabling cargo check functionality

4 years agoRe-format ra_lsp_server changes
Emil Lauridsen [Wed, 25 Dec 2019 18:10:45 +0000 (19:10 +0100)]
Re-format ra_lsp_server changes

4 years agoRe-format VSCode extension changes
Emil Lauridsen [Wed, 25 Dec 2019 18:10:30 +0000 (19:10 +0100)]
Re-format VSCode extension changes

4 years agoRe-implement status display using LSP 3.15 progress event
Emil Lauridsen [Wed, 25 Dec 2019 18:08:44 +0000 (19:08 +0100)]
Re-implement status display using LSP 3.15 progress event

4 years agoRemove cargo watch supporting code and tests from vscode extension
Emil Lauridsen [Wed, 25 Dec 2019 16:34:51 +0000 (17:34 +0100)]
Remove cargo watch supporting code and tests from vscode extension

4 years agoMigrate tests from extension to rust
Emil Lauridsen [Wed, 25 Dec 2019 16:31:49 +0000 (17:31 +0100)]
Migrate tests from extension to rust

4 years agoFix use of wrong message in diagnostic
Emil Lauridsen [Wed, 25 Dec 2019 16:14:20 +0000 (17:14 +0100)]
Fix use of wrong message in diagnostic

4 years agoConfiguration plumbing for cargo watcher
Emil Lauridsen [Wed, 25 Dec 2019 15:50:38 +0000 (16:50 +0100)]
Configuration plumbing for cargo watcher

4 years agoRemove cargo-watch from vscode extension.
Emil Lauridsen [Wed, 25 Dec 2019 15:44:42 +0000 (16:44 +0100)]
Remove cargo-watch from vscode extension.

Still keeps tests around for reference when porting them to rust

4 years agoInitial implementation of cargo check watching
Emil Lauridsen [Wed, 25 Dec 2019 11:21:38 +0000 (12:21 +0100)]
Initial implementation of cargo check watching

4 years agoMerge #2662
bors[bot] [Wed, 25 Dec 2019 00:14:51 +0000 (00:14 +0000)]
Merge #2662

2662: Notify that latest version of VS Code is required r=matklad a=spebern

Suggested in #2660.

Co-authored-by: bold <bold@cryptoguru.com>
4 years agoFill in type params in 'add missing impl members' assist
Florian Diebold [Tue, 24 Dec 2019 15:44:32 +0000 (16:44 +0100)]
Fill in type params in 'add missing impl members' assist

4 years agoMerge #2661
bors[bot] [Tue, 24 Dec 2019 16:28:46 +0000 (16:28 +0000)]
Merge #2661

2661: Implement infer await from async function r=flodiebold a=edwin0cheng

This PR is my attempt for trying to add support for infer `.await` expression from an `async` function, by desugaring its return type to `Impl Future<Output=RetType>`.

Note that I don't know it is supposed to desugaring it in that phase, if it is not suitable in current design, just feel free to reject it :)

r=@flodiebold

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
4 years agoRemove AsyncOwner
Edwin Cheng [Tue, 24 Dec 2019 16:25:18 +0000 (00:25 +0800)]
Remove AsyncOwner

4 years agoCheck if parameters is empty
Edwin Cheng [Tue, 24 Dec 2019 15:39:44 +0000 (23:39 +0800)]
Check if parameters is empty

4 years agoAdd FIXME
Edwin Cheng [Tue, 24 Dec 2019 15:39:17 +0000 (23:39 +0800)]
Add FIXME

4 years agoFormatting
Edwin Cheng [Tue, 24 Dec 2019 11:52:48 +0000 (19:52 +0800)]
Formatting

4 years agoNotify that latest version of VS Code is required
bold [Tue, 24 Dec 2019 12:04:42 +0000 (20:04 +0800)]
Notify that latest version of VS Code is required

4 years agoImplement infer await from async func
Edwin Cheng [Tue, 24 Dec 2019 11:45:28 +0000 (19:45 +0800)]
Implement infer await from async func

4 years agoMerge #2659
bors[bot] [Mon, 23 Dec 2019 23:47:32 +0000 (23:47 +0000)]
Merge #2659

2659: Update lsp-types and rayon r=kjeremy a=kjeremy

Brings in https://github.com/gluon-lang/lsp-types/pull/129 for https://github.com/rust-analyzer/rust-analyzer/issues/2651#issuecomment-568554427

Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
4 years agoUpdate lsp-types and rayon
Jeremy Kolb [Mon, 23 Dec 2019 23:46:04 +0000 (18:46 -0500)]
Update lsp-types and rayon

4 years agoFix https://github.com/rust-analyzer/rust-analyzer/pull/2061#discussion_r348716036
Seivan Heidari [Mon, 23 Dec 2019 23:04:36 +0000 (00:04 +0100)]
Fix https://github.com/rust-analyzer/rust-analyzer/pull/2061#discussion_r348716036
Fix https://github.com/rust-analyzer/rust-analyzer/pull/2061/files/68a5ff050faf514e9d122212a66703ca8ce66ab7#r361019340

4 years agoOmit closure parameters
Kirill Bulatov [Mon, 23 Dec 2019 15:53:35 +0000 (17:53 +0200)]
Omit closure parameters

4 years agoOnly add features flags if non-empty
Edwin Cheng [Mon, 23 Dec 2019 16:27:48 +0000 (00:27 +0800)]
Only add features flags if non-empty

4 years agoMerge #2655
bors[bot] [Mon, 23 Dec 2019 14:38:59 +0000 (14:38 +0000)]
Merge #2655

2655: lsp-types 0.67 r=matklad a=kjeremy

Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
4 years agoMerge branch 'master' into feature/themes
Seivan Heidari [Mon, 23 Dec 2019 14:35:31 +0000 (15:35 +0100)]
Merge branch 'master' into feature/themes

4 years agolsp-types 0.67
Jeremy Kolb [Mon, 23 Dec 2019 14:33:49 +0000 (09:33 -0500)]
lsp-types 0.67

4 years agoUse pre-stored macro file
Edwin Cheng [Mon, 23 Dec 2019 13:47:11 +0000 (21:47 +0800)]
Use pre-stored macro file

4 years agoMerge #2636
bors[bot] [Mon, 23 Dec 2019 10:58:06 +0000 (10:58 +0000)]
Merge #2636

2636: Chalk update and refactoring r=flodiebold a=flodiebold

This updates the Chalk integration to https://github.com/rust-lang/chalk/pull/311, which will presumably get merged soon, and refactors it some more, most notably introducing our own `TypeFamily` instead of reusing `ChalkIr`. It's still mostly the same as `ChalkIr` though, except for using Salsa `InternId`s directly.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
4 years agoMerge #2652
bors[bot] [Mon, 23 Dec 2019 10:19:32 +0000 (10:19 +0000)]
Merge #2652

2652: Bump lsp-types to 0.66.0 (fixes #2651) r=matklad a=udoprog

Co-authored-by: John-John Tedro <udoprog@tedro.se>
4 years agoBump lsp-types to 0.66.0 (fixes #2651)
John-John Tedro [Mon, 23 Dec 2019 10:02:54 +0000 (11:02 +0100)]
Bump lsp-types to 0.66.0 (fixes #2651)

4 years agoAdd macro call support for type_of
Edwin Cheng [Mon, 23 Dec 2019 05:18:28 +0000 (13:18 +0800)]
Add macro call support for type_of

4 years agoFilter out error predicates in type bounds as well
Florian Diebold [Sat, 21 Dec 2019 18:15:06 +0000 (19:15 +0100)]
Filter out error predicates in type bounds as well

4 years agoIntroduce our own Chalk TypeFamily, instead of using ChalkIr
Florian Diebold [Sat, 21 Dec 2019 14:00:44 +0000 (15:00 +0100)]
Introduce our own Chalk TypeFamily, instead of using ChalkIr

It's not very different, except we can directly use Salsa IDs instead of casting
them. This means we need to refactor the handling of errors to get rid of
UNKNOWN_TRAIT though.

4 years agoRefactor Chalk integration some more
Florian Diebold [Sat, 21 Dec 2019 13:46:15 +0000 (14:46 +0100)]
Refactor Chalk integration some more

4 years agoUpdate Chalk, clean up Chalk integration a bit
Florian Diebold [Sat, 21 Dec 2019 13:29:33 +0000 (14:29 +0100)]
Update Chalk, clean up Chalk integration a bit

4 years agoMerge #2648
bors[bot] [Sun, 22 Dec 2019 21:42:54 +0000 (21:42 +0000)]
Merge #2648

2648: Rudimentary name resolution for local items r=matklad a=matklad

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
4 years agoRudimentary name resolution for local items
Aleksey Kladov [Sun, 22 Dec 2019 19:12:23 +0000 (20:12 +0100)]
Rudimentary name resolution for local items

4 years agoSimplify
Aleksey Kladov [Sun, 22 Dec 2019 18:32:35 +0000 (19:32 +0100)]
Simplify

4 years agoRefactor
Aleksey Kladov [Sun, 22 Dec 2019 18:31:01 +0000 (19:31 +0100)]
Refactor

4 years agoMerge #2646
bors[bot] [Sun, 22 Dec 2019 14:57:34 +0000 (14:57 +0000)]
Merge #2646

2646: Share impl Scope between modules and blocks r=matklad a=matklad

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
4 years agoShare impl Scope between modules and blocks
Aleksey Kladov [Sun, 22 Dec 2019 14:49:39 +0000 (15:49 +0100)]
Share impl Scope between modules and blocks

4 years agoMerge #2645
bors[bot] [Sun, 22 Dec 2019 14:43:15 +0000 (14:43 +0000)]
Merge #2645

2645: Simplify r=matklad a=matklad

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
4 years agoSimplify
Aleksey Kladov [Sun, 22 Dec 2019 14:37:07 +0000 (15:37 +0100)]
Simplify

4 years agoRemove unused parameters
Aleksey Kladov [Sun, 22 Dec 2019 14:31:30 +0000 (15:31 +0100)]
Remove unused parameters

4 years agoRemove import field
Aleksey Kladov [Sun, 22 Dec 2019 14:28:55 +0000 (15:28 +0100)]
Remove import field

4 years agoSeparate defs from imports
Aleksey Kladov [Sun, 22 Dec 2019 14:21:48 +0000 (15:21 +0100)]
Separate defs from imports

4 years agoRefactor PerNs construction
Aleksey Kladov [Sun, 22 Dec 2019 14:08:57 +0000 (15:08 +0100)]
Refactor PerNs construction

4 years agoMinor rename
Aleksey Kladov [Sun, 22 Dec 2019 14:04:31 +0000 (15:04 +0100)]
Minor rename

4 years agoMerge #2644
bors[bot] [Sun, 22 Dec 2019 13:48:43 +0000 (13:48 +0000)]
Merge #2644

2644: More compact profiling display r=matklad a=matklad

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
4 years agoMore compact profiling display
Aleksey Kladov [Sun, 22 Dec 2019 13:17:31 +0000 (14:17 +0100)]
More compact profiling display

4 years agoMerge #2643
bors[bot] [Sun, 22 Dec 2019 13:07:33 +0000 (13:07 +0000)]
Merge #2643

2643: Don't fire no-op changes after files are saved to disk r=matklad a=matklad

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
4 years agoDon't fire no-op changes after files are saved to disk
Aleksey Kladov [Sun, 22 Dec 2019 12:56:19 +0000 (13:56 +0100)]
Don't fire no-op changes after files are saved to disk

4 years agoMerge #2642
bors[bot] [Sun, 22 Dec 2019 08:05:02 +0000 (08:05 +0000)]
Merge #2642

2642: Use name instead of ident in parser for macro 2.0 syntax r=matklad a=edwin0cheng

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
4 years agoMerge #2641
bors[bot] [Sun, 22 Dec 2019 07:56:33 +0000 (07:56 +0000)]
Merge #2641

2641: Parse const generics r=matklad a=roblabla

Adds very primitive support for parsing const generics (`const IDENT: TY`) so that rust-analyzer stops complaining about the syntax being invalid.

Fixes #1574
Fixes #2281

Co-authored-by: roblabla <unfiltered@roblab.la>
4 years agoUse name instead of ident for macro 2.0 sytnax
Edwin Cheng [Sun, 22 Dec 2019 03:11:10 +0000 (11:11 +0800)]
Use name instead of ident for macro 2.0 sytnax