cynecx
cf3b4f1e20
hir_ty: Expand macros at type position
2021-04-17 16:24:56 +02:00
Jonas Schievink
543d4ef7c5
Fix primitive shadowing with inner items
2021-04-16 19:28:22 +02:00
Jonas Schievink
e2c1da36f5
Support macros in pattern position
2021-04-11 01:25:50 +02:00
Lukas Wirth
8113c3a914
Respect test style guidelines in tests::traits
2021-04-10 18:03:27 +02:00
Lukas Wirth
a15b8136ee
Add test for binary op return ty with adt
2021-04-10 17:52:24 +02:00
Lukas Wirth
d9554c258b
Add manual ops::Add impls to test::traits::closure_2
2021-04-10 17:16:35 +02:00
Lukas Wirth
252eb78dc3
Implement more precise binary op return type prediction
2021-04-10 16:56:32 +02:00
Jonas Schievink
75614b126b
Resolve prelude and crate root names in the root DefMap
2021-04-09 15:29:42 +02:00
Florian Diebold
272a8dce4f
Fix crash on syn involving lifetimes returned by Chalk
...
If we get lifetime variables back in autoderef, just immediately replace
them by static lifetimes for now. Method resolution doesn't really deal
correctly with new variables being introduced (this needs to be fixed
more properly).
This fixes `rust-analyzer analysis-stats --with-deps` crashing in the RA
repo.
2021-04-09 11:17:07 +02:00
bors[bot]
a8f1e41f0f
Merge #8394
...
8394: Infer variants through type aliased enums r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-04-07 09:35:40 +00:00
Lukas Wirth
41563fd612
Infer variants through type aliased enums
2021-04-07 11:31:50 +02:00
Jonas Schievink
7c1c0e6fea
Collect trait impls inside unnamed consts
2021-04-07 03:33:22 +02:00
Edwin Cheng
6a3f2ce76c
Fix block inner item defined in macro
2021-04-01 03:45:21 +08:00
Lukas Wirth
6f0575f08a
Fix generic arguments being incorrectly offset in qualified trait casts
2021-03-30 23:23:00 +02:00
Edwin Cheng
a193666361
Basic Support Macro 2.0
2021-03-27 13:44:54 +08:00
Edwin Cheng
8ce15b02de
Fix recursive macro statement expansion
2021-03-26 04:21:15 +08:00
bors[bot]
d7db38fff9
Merge #7907
...
7907: Autoderef with visibility r=cynecx a=cynecx
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7841 .
I am not sure about the general approach here. Right now this simply tries to check whether the autoderef candidate is reachable from the current module. ~~However this doesn't exactly work with traits (see the `tests::macros::infer_derive_clone_in_core` test, which fails right now).~~ see comment below
Refs:
- `rustc_typeck` checking fields: 66ec64ccf3/compiler/rustc_typeck/src/check/expr.rs (L1610)
r? @flodiebold
Co-authored-by: cynecx <me@cynecx.net>
2021-03-24 22:37:48 +00:00
bors[bot]
4b997b8663
Merge #8156
...
8156: Correctly lower TraitRefs with default params r=flodiebold a=Veykril
Fixes #5685
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-03-22 20:39:58 +00:00
Lukas Wirth
0aa4ac362d
Correctly lower TraitRefs with default params
2021-03-22 19:13:43 +01:00
Jonas Schievink
2633e23f2b
resolver: manually traverse nested block scopes
2021-03-22 18:55:51 +01:00
bors[bot]
858ad55437
Merge #8137
...
8137: Fix box pattern inference panic r=flodiebold a=Veykril
Fixes #6560
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-03-21 19:25:14 +00:00
bors[bot]
31ed164161
Merge #8134
...
8134: Correct the paths of submodules from the include! macro r=edwin0cheng a=sticnarf
This PR should fix #7846 . It mostly follows the instructions from @edwin0cheng in that issue.
Co-authored-by: Yilin Chen <sticnarf@gmail.com>
2021-03-21 17:57:45 +00:00
Lukas Wirth
af50e8d955
Fix box pattern inference panic
2021-03-21 18:25:00 +01:00
Yilin Chen
3bb9efb6b7
use the included file as the source of expanded include macro
...
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2021-03-21 23:02:01 +08:00
Florian Diebold
d8f8b495ad
Ignore type bindings in generic_predicates_for_param
...
This allows us to handle more cases without a query cycle, which
includes certain cases that rustc accepted. That in turn means we avoid
triggering salsa-rs/salsa#257 on valid code (it will still happen if the
user writes an actual cycle).
We actually accept more definitions than rustc now; that's because rustc
only ignores bindings when looking up super traits, whereas we now also
ignore them when looking for predicates to disambiguate associated type
shorthand. We could introduce a separate query for super traits if
necessary, but for now I think this should be fine.
2021-03-21 15:29:03 +01:00
Florian Diebold
0623bb4d71
Test for a Salsa bug
2021-03-21 13:33:06 +01:00
cynecx
42abfa0f88
hir_ty: add coverage testing for autoderef_visibility_method test
2021-03-20 20:35:57 +01:00
cynecx
2dc85f739a
hir_ty: fix test by removing trailing whitespace
2021-03-20 19:58:00 +01:00
cynecx
66d295d72d
hir_ty: fix visibility in infer_inherent_method test
2021-03-20 19:47:14 +01:00
cynecx
edfd741c5b
hir_ty: add tests around autoderef with visibility checking
2021-03-20 17:26:18 +01:00
cynecx
15e4aae823
hir_ty: fix tests by making required methods public
2021-03-20 17:12:49 +01:00
Florian Diebold
8e7e405f6a
Remove WhereClause::Error
...
Chalk doesn't have it, and judging from the removed code, it wasn't
useful anyway.
2021-03-20 10:51:00 +01:00
bors[bot]
d3da042a62
Merge #8082
...
8082: Proper handle inner recursive macro rules cases r=edwin0cheng a=edwin0cheng
Fixes #7645
cc @jonas-schievink
bors r+
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-18 12:25:44 +00:00
Edwin Cheng
13f30e9ef5
Handle inner recursive macro rules cases
2021-03-18 20:19:15 +08:00
Jonas Schievink
94b3b32c98
Support #[cfg]
on all associated items
2021-03-18 01:28:55 +01:00
Jonas Schievink
a85b32abdc
Add test for self-calling inner function
2021-03-17 22:30:09 +01:00
Edwin Cheng
8e07b23b84
Fix macro expansion for statements w/o semicolon
2021-03-16 13:44:50 +08:00
Florian Diebold
287e9a870c
Fix unification logic
2021-03-15 19:14:10 +01:00
Jonas Schievink
12f6bdcfd9
Check ancestor maps when computing traits in scope
2021-03-09 18:27:23 +01:00
Laurențiu Nicola
fc9eed4836
Use upstream cov-mark
2021-03-08 22:19:44 +02:00
cynecx
2cdd1ff1b5
hir_ty: use default type generic for box expressions
2021-02-28 21:18:30 +01:00
Laurențiu Nicola
d03cfe141c
Add test from #7273
2021-02-21 19:22:14 +02:00
Lukas Wirth
0799288f01
Don't write trailing whitespace when formatting empty GenericPredicates
2021-02-20 20:43:04 +01:00
Lukas Wirth
9e5192d917
Don't lower TypeBound::Lifetime as GenericPredicate::Error
2021-02-20 19:08:20 +01:00
Jonas Schievink
925c51aef3
Add test for #1165
...
Closes #1165
2021-02-10 18:42:35 +01:00
Jonas Schievink
2382dce2d3
Slightly expand test
2021-02-10 17:37:15 +01:00
Jonas Schievink
3c5734712a
Add more tests
2021-02-10 15:59:20 +01:00
Jonas Schievink
244d8e37f1
Update fixed tests
2021-02-10 14:48:52 +01:00
Jonas Schievink
e837df8479
infer: update resolver when descending into block
2021-02-10 14:41:54 +01:00
Aleksey Kladov
4b1279d0b1
Infra for "unit" benchmarking
2021-02-09 20:25:39 +03:00