Dawer
977ba46bb1
Test match guards, reference patterns
2021-06-01 00:49:44 +05:00
Dawer
4cce7a6407
Box field detection; test #[non-exhaustive] attribute
2021-06-01 00:49:44 +05:00
Dawer
f46a42f73a
Better tests: check if match checking bails out.
2021-06-01 00:49:27 +05:00
Dawer
e84efc4a46
Replace the old match checking algorithm
2021-06-01 00:23:09 +05:00
Dawer
894b4c64ff
Include old tests
2021-06-01 00:08:43 +05:00
Dawer
7d675eda80
Don't panic on a pattern of unresolved ADT variant.
2021-06-01 00:08:43 +05:00
Dawer
466345ca81
Clean up, more docs.
2021-06-01 00:08:27 +05:00
Dawer
49e016169f
Check pattern types.
2021-06-01 00:03:47 +05:00
Dawer
9b841a9a04
Expand binding patterns.
2021-06-01 00:03:47 +05:00
Dawer
d7239e5ab4
Fix visibility warnings
2021-06-01 00:03:47 +05:00
Dawer
a236bfa57a
Lower binding pattern
2021-06-01 00:03:47 +05:00
Dawer
cf6f989a8d
Lower bool literals
2021-06-01 00:03:47 +05:00
Dawer
d6d77e8a35
Treat ctor of unhandled type as non-exhaustive.
2021-06-01 00:03:47 +05:00
Dawer
e711abc290
Lower Pat::Path
2021-06-01 00:03:47 +05:00
Dawer
e50ce67631
Do not do match check if lowering failed.
2021-06-01 00:03:47 +05:00
Dawer
de6f430140
Fix panics on pattern_arena.borrow with ugly cloning
2021-06-01 00:03:46 +05:00
Dawer
975109051c
Basic lowering hir_def::exrp::Pat -> typed HIR.
...
Pattern arena is broken
2021-06-01 00:03:46 +05:00
Dawer
2431ff5987
Handle unordered fields in struct patterns
2021-06-01 00:03:46 +05:00
Dawer
3ffcb2658c
Complete field replacing
2021-06-01 00:03:46 +05:00
Dawer
3a85e47f6a
Support bool literal patterns
2021-06-01 00:03:46 +05:00
Dawer
5a8a0b6269
Check enum patterns
2021-06-01 00:03:46 +05:00
Dawer
b4f4197332
Build wildcard witnesses instead of panicking
2021-06-01 00:03:46 +05:00
Dawer
678d85ca7e
Implement struct ctor application
2021-06-01 00:03:46 +05:00
Dawer
062c7953a1
Add remaining Constructor variants
2021-06-01 00:03:46 +05:00
Dawer
2880fd2320
Complete usefulness::SubPatSet impl
2021-06-01 00:03:46 +05:00
Dawer
f4c3960364
List useless patterns in a useful match arm
2021-06-01 00:03:45 +05:00
Dawer
f4a95c93fe
Remove unneeded indirection on PatCtxt
2021-06-01 00:03:45 +05:00
Dawer
26baab5d28
Enable generation of non-exhaustiveness witnesses
2021-06-01 00:03:45 +05:00
Dawer
c3c2893f30
Update match checking.
...
fn is_useful , more skeletons
Specify a lifetime on pattern references
impl PatStack
fill impl Matrix
PatStack::pop_head_constructor
Index-based approach
struct PatCtxt
fields construction fn Fields::wildcards
split wildcard
fn Constructor::is_covered_by_any(..)
fn Matrix::specialize_constructor(..)
impl Usefulness
Initial work on witness construction
Reorganize files
Replace match checking diagnostic
Handle types of expanded patterns
unit match checking go brrr
2021-06-01 00:03:45 +05:00
bors[bot]
42dfdb87cb
Merge #9090
...
9090: hir_ty: use correct receiver_ty in method resolution r=cynecx a=cynecx
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8100 .
Co-authored-by: cynecx <me@cynecx.net>
2021-05-31 18:47:00 +00:00
bors[bot]
a127b10d00
Merge #9091
...
9091: Fix opening single files r=SomeoneToIgnore a=SomeoneToIgnore
Closes https://github.com/rust-analyzer/rust-analyzer/issues/9082
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2021-05-31 18:38:15 +00:00
Kirill Bulatov
60e7817e9c
Fix opening single files
2021-05-31 21:37:08 +03:00
cynecx
759cb07891
hir_ty: use correct receiver_ty in method resolution
2021-05-31 20:26:38 +02:00
bors[bot]
7c1d8ca635
Merge #9088
...
9088: minor: remove debug print r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-31 17:22:09 +00:00
Aleksey Kladov
ee51bf04be
minor: remove debug print
2021-05-31 20:20:30 +03:00
bors[bot]
4cb4b23dc6
Merge #9084 #9087
...
9084: fix: avoid panics in match case diagnostic r=matklad a=matklad
bors r+
🤖
closes #8809
9087: fix: fix shell injection in task spawning r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-31 17:12:01 +00:00
Aleksey Kladov
ee995dbfd4
fix: fix shell injection in task spawning
...
closes #9058
2021-05-31 20:11:36 +03:00
bors[bot]
020610f453
Merge #9086
...
9086: minor: try fixing proc_macro_srv tests r=jonas-schievink a=jonas-schievink
Not entirely sure what's going wrong in https://github.com/rust-analyzer/rust-analyzer/pull/9084 , but this might fix it?
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-31 16:59:29 +00:00
Jonas Schievink
b5fe4c6ef0
Use cargo check
again
2021-05-31 18:58:36 +02:00
Aleksey Kladov
159922de93
minor: it's Parameter, not Argument
2021-05-31 19:45:50 +03:00
Aleksey Kladov
341f8bb200
fix: avoid panics in match case diagnostic
2021-05-31 19:45:50 +03:00
bors[bot]
10b15b27f2
Merge #8952
...
8952: add support of impl block for doctest into runnables r=matklad a=bnjjj
close #6356
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2021-05-31 15:48:41 +00:00
bors[bot]
d1b1867af7
Merge #9083
...
9083: internal: Simplify proc_macro_srv tests r=jonas-schievink a=jonas-schievink
Removes `serde_derive`, instead using `proc_macro_test` macros.
Should fix https://github.com/rust-analyzer/rust-analyzer/issues/9067
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-31 15:34:04 +00:00
Jonas Schievink
cfcadcb295
Simplify proc_macro_srv tests
2021-05-31 17:32:56 +02:00
bors[bot]
70e347332d
Merge #9081
...
9081: minor: expand docs a tiny bit r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-31 14:28:03 +00:00
Aleksey Kladov
5e577a6373
minor: expand docs a tiny bit
2021-05-31 17:27:27 +03:00
bors[bot]
c460baeaf3
Merge #9079
...
9079: Don't take the parent kind of trailing attributes in attr completion r=Veykril a=Veykril
bors r+
fixes https://github.com/rust-analyzer/rust-analyzer/issues/9076
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-31 13:38:32 +00:00
Lukas Wirth
741b2f531f
Don't take the parent kind of trailing attributes in attr completion
2021-05-31 15:35:22 +02:00
bors[bot]
e6ec860363
Merge #9039
...
9039: feat: Complete fields and methods with `self.` prefixed when inside methods r=matklad a=Veykril
![w65NbjkZiG](https://user-images.githubusercontent.com/3757771/119984385-a0111700-bfc1-11eb-9dbf-52fdaa4d72b5.gif )
Closes #7173
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-31 13:21:31 +00:00
Lukas Wirth
fb7105a580
Add config setting for self-on-the-fly
2021-05-31 15:14:56 +02:00