uHOOCCOOHu
c90256429b
Replace with immutable map to avoid heavy cloning
2019-09-09 01:34:53 +08:00
uHOOCCOOHu
26b092bd3b
Resolve textual scoped macros inside item
2019-09-09 01:34:53 +08:00
uHOOCCOOHu
e0f305a6bf
Support textual scoped macros
2019-09-09 01:33:28 +08:00
Nelson Chen
14585468e2
Minor typo fix for ra_assists code doc
2019-09-08 02:10:53 -07:00
Aleksey Kladov
6021a2a83a
cleanup hir db imports
2019-09-08 09:55:12 +03:00
Aleksey Kladov
bcc9a28734
don't cycle when processing macros from prelude in prelude
2019-09-07 21:47:59 +03:00
Florian Diebold
8fb3cab76c
Fix crash for super trait cycles
2019-09-07 16:49:57 +02:00
Florian Diebold
9db34eec20
Fix Chalk environments
...
The clauses need to be wrapped in `FromEnv` clauses for elaboration (i.e.
things like inferring `T: Clone` from `T: Copy`) to work correctly.
2019-09-07 16:30:37 +02:00
Florian Diebold
a1776b27c7
Use traits from where clauses for method resolution
...
E.g. if we have `T: some::Trait`, we can call methods from that trait without it
needing to be in scope.
2019-09-07 16:30:31 +02:00
Florian Diebold
d21cdf3c99
Lower Fn(X, Y) -> Z
paths
2019-09-07 15:13:05 +02:00
Florian Diebold
60bdb66ef2
Lower bounds on trait definition, and resolve assoc types from super traits
2019-09-07 14:31:43 +02:00
Florian Diebold
4ae4d9c311
Add some more tests
2019-09-07 13:35:41 +02:00
Aleksey Kladov
6c11935712
simplify
2019-09-06 21:57:11 +03:00
Aleksey Kladov
219287a14c
don't deadlock on shutdown
...
Specifically, when we tear down IO threads, we should take care to
dispose connection.
closes #1775
2019-09-06 20:58:21 +03:00
Aleksey Kladov
28df377759
add option to disable notify
2019-09-06 17:21:29 +03:00
bors[bot]
007737a0e7
Merge #1779
...
1779: minor r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-06 11:33:37 +00:00
Aleksey Kladov
f477f2516a
minor
2019-09-06 14:30:24 +03:00
Aleksey Kladov
9ae455ea52
make source_root API more abstract
2019-09-06 14:21:11 +03:00
bors[bot]
4576e6597e
Merge #1772
...
1772: switch to rustc_lexer crate r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-05 20:12:19 +00:00
Aleksey Kladov
7a9d7dd637
switch to rustc_lexer crate
2019-09-05 23:07:17 +03:00
bors[bot]
419eec3d2f
Merge #1771
...
1771: Further tweak for macro_use on extern crate r=matklad a=uHOOCCOOHu
Some more tweaks to #1743 to behave more like `rustc`
1. Hoist macros from `#[macro_use] extern crate`, so that they can be used before `extern crate`.
2. Implicit `#[macro_use]` for `prelude` if exists
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-05 19:50:06 +00:00
bors[bot]
c705fff309
Merge #1770
...
1770: rename test file to match impl file r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-05 18:54:20 +00:00
Aleksey Kladov
5a38a80d1a
rename test file to match impl file
2019-09-05 21:43:32 +03:00
Aleksey Kladov
33965f0f3e
fix renaming of modules
2019-09-05 21:36:40 +03:00
Aleksey Kladov
3e5f7299e1
move mod resolution to a separate file
2019-09-05 20:27:10 +03:00
Aleksey Kladov
b2be998b7b
better error recovery for use trees
2019-09-05 19:53:07 +03:00
bors[bot]
edc2016f8b
Merge #1766
...
1766: always use \n newlines r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-05 14:51:14 +00:00
Aleksey Kladov
8b8a11ded7
always use \n newlines
2019-09-05 17:50:39 +03:00
ivfranco
4854408f28
close #1763
2019-09-05 22:04:56 +08:00
uHOOCCOOHu
67d33cc21a
Hoist macros from extern crate with macro_use
2019-09-05 18:50:04 +08:00
uHOOCCOOHu
dec43a0c5d
Consider prelude to be macro_use
2019-09-05 18:50:04 +08:00
bors[bot]
82f3317e2b
Merge #1761
...
1761: "move type bounds to where clause" assist r=matklad a=viorina
Co-authored-by: Ekaterina Babshukova <ekaterina.babshukova@yandex.ru>
2019-09-05 10:39:35 +00:00
Ekaterina Babshukova
acb89d2be1
add assist to move type bounds to where clause
2019-09-05 13:29:13 +03:00
bors[bot]
6702f5b7b5
Merge #1743
...
1743: Support `#[macro_use]` on `extern crate` r=matklad a=uHOOCCOOHu
Unfortunately, #1688 is still an issue. My guess is wrong :(
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-05 09:04:02 +00:00
uHOOCCOOHu
3ff5d7e73c
Fix typo
2019-09-05 12:03:32 +08:00
uHOOCCOOHu
0d23286caf
Let macro_use
bypass module scope
2019-09-05 11:46:00 +08:00
kjeremy
cb063a9b30
lsp-types 0.61.0
2019-09-03 10:50:39 -04:00
Florian Diebold
b8c1e402fa
Make type walking infrastructure a bit nicer
...
If/when we switch to using Chalk's Ty, we'll need to replace this by its `Fold`
trait, but I didn't want to import the whole thing just yet.
2019-09-03 14:00:35 +02:00
Florian Diebold
c4fcfa2b0d
Properly format impl Trait<Type = Foo>
types
...
It's a bit complicated because we basically have to 'undo' the desugaring, and
the result is very dependent on the specifics of the desugaring and will
probably produce weird results otherwise.
2019-09-03 14:00:35 +02:00
Florian Diebold
741e350d4b
Add support for associated type bindings (where Trait<Type = X>
)
2019-09-03 14:00:35 +02:00
Florian Diebold
966ab9abd2
Add test for assoc type bindings
2019-09-03 13:25:29 +02:00
Aleksey Kladov
9c3b25177e
Correctly build BodySourceMap for macro-expanded expressions
2019-09-03 11:04:38 +03:00
Aleksey Kladov
4b51c92fee
slightly simplify expr lowering flow
2019-09-03 09:41:21 +03:00
Aleksey Kladov
da850361ba
clearer ignore
2019-09-03 09:01:09 +03:00
Aleksey Kladov
82b218b7bf
remove needless refs
2019-09-03 08:59:44 +03:00
Aleksey Kladov
48ffbf29b7
use recrod terminology for hir::Pat
2019-09-03 08:59:09 +03:00
Aleksey Kladov
db69d134fb
move expr lowering to lower
2019-09-03 08:56:36 +03:00
Aleksey Kladov
e94587e315
fix assists
2019-09-02 21:52:06 +03:00
Aleksey Kladov
5e3f291195
fix hir for new block syntax
2019-09-02 21:23:19 +03:00
Aleksey Kladov
dcf8e89503
fix generated AST
2019-09-02 20:15:51 +03:00
Aleksey Kladov
470fc4765c
update test data
2019-09-02 20:15:51 +03:00
Aleksey Kladov
3c2dea7f55
always wrap block into an expression
2019-09-02 20:15:51 +03:00
bors[bot]
a8397deab9
Merge #1751
...
1751: remove useless trait r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-02 16:46:10 +00:00
Aleksey Kladov
f377b94628
remove useless trait
2019-09-02 19:45:41 +03:00
Aleksey Kladov
e2b3844493
remove needless clone
2019-09-02 19:21:28 +03:00
Aleksey Kladov
c89abd4262
simplify
2019-09-02 18:58:21 +03:00
Aleksey Kladov
32bebfaf0e
cleanup
2019-09-02 17:37:48 +03:00
Florian Diebold
f92177cfb5
Add an expr_source method analogous to the source methods in the code model
...
... and use that instead of exposing the source map.
2019-09-02 14:56:38 +02:00
Florian Diebold
a7858bb7bf
Report type mismatches in analysis-stats
...
Only the number usually; each one individually when running with -v.
2019-09-02 14:56:38 +02:00
uHOOCCOOHu
a66214b34e
Fix import strategy of macro_use
and its test
2019-09-02 14:36:20 +08:00
Aleksey Kladov
4b6bccb58c
⬆️ once_cell
2019-09-01 23:18:15 +03:00
uHOOCCOOHu
dfa758f6a9
Add test
2019-09-01 02:03:33 +08:00
uHOOCCOOHu
f5bea9051b
Support resolution of #[macro_use] extern crate
2019-09-01 01:54:41 +08:00
Aleksey Kladov
4e3f5cc729
cleanup main loop
2019-08-31 14:47:37 +03:00
Aleksey Kladov
983de30a56
inline thread-worker
2019-08-30 20:32:59 +03:00
Aleksey Kladov
7cc14a7596
⬆️ lsp-server
2019-08-30 20:18:57 +03:00
Aleksey Kladov
72a3722470
move lsp-server to a separate repository
2019-08-30 17:24:11 +03:00
Aleksey Kladov
0f6c048ce1
⬆️ insta
2019-08-29 17:04:01 +03:00
Kirill Bulatov
4adfdea1ad
Small fixes
2019-08-26 23:00:35 +03:00
Kirill Bulatov
590aed2eec
Remove redundant tests
2019-08-26 23:00:27 +03:00
Florian Diebold
c256a72b03
Fix 'missing Ok in tail expr' validation
...
Because of the coercion change, the type mismatch now only happens on the block
expression.
2019-08-26 22:44:50 +03:00
Florian Diebold
e37b6c5837
Make infer_block not unify; add back calculate_least_upper_bound
2019-08-26 22:44:50 +03:00
Kirill Bulatov
44386d5373
An attempt to add the coercion logic for Never
2019-08-26 22:44:50 +03:00
Kirill Bulatov
89f3cc587d
Properly coerce never types
2019-08-26 22:44:50 +03:00
Kirill Bulatov
8b612251fd
Remove extra inference test
2019-08-26 22:44:50 +03:00
Kirill Bulatov
44cf7b34fe
Fix never in if expressions
2019-08-26 22:44:50 +03:00
Kirill Bulatov
c1f47c3788
Add test marks
2019-08-26 22:44:50 +03:00
Kirill Bulatov
0ce05633a1
Fix match type inference for Never match arms
2019-08-26 22:44:50 +03:00
Kirill Bulatov
f63cfd5fca
Tests
2019-08-26 22:44:50 +03:00
bors[bot]
1fbe5ffba8
Merge #1735
...
1735: ⬆️ vfs r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-25 10:13:37 +00:00
Aleksey Kladov
ee932d464b
⬆️ vfs
2019-08-25 13:13:08 +03:00
bors[bot]
cd433ed194
Merge #1734
...
1734: Strip indents and empty lines in check_apply_diagnostic_fix_from_position r=matklad a=matklad
Co-authored-by: Phil Ellison <phil.j.ellison@gmail.com>
2019-08-25 09:58:54 +00:00
Phil Ellison
14a23d1bde
Strip indents and empty lines in check_apply_diagnostic_fix_from_position
2019-08-25 12:56:23 +03:00
Phil Ellison
59dd30402b
Specify cursor position in ok-wrapping tests, and switch to using analysis_and_position function
2019-08-25 12:56:23 +03:00
Phil Ellison
6620949cae
Simplify checking return type, add new test
2019-08-25 12:56:23 +03:00
Phil Ellison
6a04e9ce14
Fix build for Diagnostic type change
2019-08-25 12:56:23 +03:00
Phil Ellison
200470692f
Cast SyntaxNodePtr to AstPtr directly
2019-08-25 12:56:23 +03:00
Phil Ellison
c8911e872e
Remove reliance on expr ordering
2019-08-25 12:56:23 +03:00
Phil Ellison
4f6f3933ec
cargo format
2019-08-25 12:55:56 +03:00
Phil Ellison
456e72c4e4
Change test to not rely on trait inference
2019-08-25 12:55:56 +03:00
Phil Ellison
a40e390860
Check type rather than just name in ok-wrapping diagnostic. Add test for handling generic functions (which currently fails)
2019-08-25 12:55:56 +03:00
Phil Ellison
62c2002e2b
Add test that ok-wrapping handles type aliases
2019-08-25 12:55:55 +03:00
Phil Ellison
d025016f92
Mock std String and Result types in tests for ok-wrapping diagnostic
2019-08-25 12:55:55 +03:00
Phil Ellison
bacb938ab0
Add type_mismatches to InferenceResult and use this in ok-wrapping code fix
2019-08-25 12:55:55 +03:00
Phil Ellison
d00a285fa7
Initial implementation of Ok-wrapping
2019-08-25 12:55:55 +03:00
Dylan MacKenzie
c93903e9c7
Generate and bless tests
2019-08-23 16:24:30 -07:00
Dylan MacKenzie
c08ad1cf8a
Handle Struct { box i }
syntax
...
Named structs can have `box` patterns that will bind to their fields.
This is similar to the behavior of the `ref` and `mut` fields, but is at
least a little bit surprising.
2019-08-23 16:20:18 -07:00
Dylan MacKenzie
83433cd1f0
Centralize box
pattern tests in patterns.rs
2019-08-23 16:19:53 -07:00
Dylan MacKenzie
1e991f2eaf
Convert BoxPat
to Missing
in HIR
2019-08-23 16:07:11 -07:00
Dylan MacKenzie
ab51f57e1d
Parse BoxPat
2019-08-23 16:07:11 -07:00