aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash on syn involving lifetimes returned by ChalkFlorian Diebold2021-04-091-0/+38
| | | | | | | | | | 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.
* Merge #8394bors[bot]2021-04-071-0/+33
|\ | | | | | | | | | | | | | | 8394: Infer variants through type aliased enums r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Infer variants through type aliased enumsLukas Wirth2021-04-071-0/+33
| |
* | Collect trait impls inside unnamed constsJonas Schievink2021-04-071-0/+22
|/
* Fix block inner item defined in macroEdwin Cheng2021-03-311-0/+26
|
* Fix generic arguments being incorrectly offset in qualified trait castsLukas Wirth2021-03-301-0/+43
|
* Basic Support Macro 2.0Edwin Cheng2021-03-271-1/+82
|
* Fix recursive macro statement expansionEdwin Cheng2021-03-251-1/+39
|
* Merge #7907bors[bot]2021-03-244-20/+139
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: https://github.com/rust-lang/rust/blob/66ec64ccf31883cd2c28d045912a76179c0c6ed2/compiler/rustc_typeck/src/check/expr.rs#L1610 r? @flodiebold Co-authored-by: cynecx <[email protected]>
| * hir_ty: add coverage testing for autoderef_visibility_method testcynecx2021-03-201-0/+1
| |
| * hir_ty: fix test by removing trailing whitespacecynecx2021-03-201-24/+23
| |
| * hir_ty: fix visibility in infer_inherent_method testcynecx2021-03-201-16/+16
| |
| * hir_ty: add tests around autoderef with visibility checkingcynecx2021-03-201-0/+119
| |
| * hir_ty: fix tests by making required methods publiccynecx2021-03-202-4/+4
| |
* | Merge #8156bors[bot]2021-03-221-0/+46
|\ \ | | | | | | | | | | | | | | | | | | | | | 8156: Correctly lower TraitRefs with default params r=flodiebold a=Veykril Fixes #5685 Co-authored-by: Lukas Wirth <[email protected]>
| * | Correctly lower TraitRefs with default paramsLukas Wirth2021-03-221-0/+46
| | |
* | | resolver: manually traverse nested block scopesJonas Schievink2021-03-221-0/+13
|/ /
* | Merge #8137bors[bot]2021-03-211-0/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | 8137: Fix box pattern inference panic r=flodiebold a=Veykril Fixes #6560 Co-authored-by: Lukas Wirth <[email protected]>
| * | Fix box pattern inference panicLukas Wirth2021-03-211-0/+22
| |/
* | Merge #8134bors[bot]2021-03-211-0/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * | use the included file as the source of expanded include macroYilin Chen2021-03-211-0/+23
| |/ | | | | | | Signed-off-by: Yilin Chen <[email protected]>
* | Ignore type bindings in generic_predicates_for_paramFlorian Diebold2021-03-211-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Test for a Salsa bugFlorian Diebold2021-03-211-0/+51
|/
* Remove WhereClause::ErrorFlorian Diebold2021-03-201-2/+2
| | | | | Chalk doesn't have it, and judging from the removed code, it wasn't useful anyway.
* Merge #8082bors[bot]2021-03-181-0/+22
|\ | | | | | | | | | | | | | | | | | | | | | | 8082: Proper handle inner recursive macro rules cases r=edwin0cheng a=edwin0cheng Fixes #7645 cc @jonas-schievink bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * Handle inner recursive macro rules casesEdwin Cheng2021-03-181-0/+22
| |
* | Support `#[cfg]` on all associated itemsJonas Schievink2021-03-181-0/+19
| |
* | Add test for self-calling inner functionJonas Schievink2021-03-171-0/+21
|/
* Fix macro expansion for statements w/o semicolonEdwin Cheng2021-03-161-0/+16
|
* Fix unification logicFlorian Diebold2021-03-151-100/+116
|
* Check ancestor maps when computing traits in scopeJonas Schievink2021-03-091-0/+33
|
* Use upstream cov-markLaurențiu Nicola2021-03-086-15/+10
|
* hir_ty: use default type generic for box expressionscynecx2021-02-281-0/+55
|
* Add test from #7273Laurențiu Nicola2021-02-211-0/+45
|
* Don't write trailing whitespace when formatting empty GenericPredicatesLukas Wirth2021-02-201-2/+2
|
* Don't lower TypeBound::Lifetime as GenericPredicate::ErrorLukas Wirth2021-02-202-5/+5
|
* Add test for #1165Jonas Schievink2021-02-101-0/+29
| | | | Closes #1165
* Slightly expand testJonas Schievink2021-02-101-0/+3
|
* Add more testsJonas Schievink2021-02-102-8/+84
|
* Update fixed testsJonas Schievink2021-02-101-3/+6
|
* infer: update resolver when descending into blockJonas Schievink2021-02-101-0/+19
|
* Infra for "unit" benchmarkingAleksey Kladov2021-02-091-11/+12
|
* Check for dyn impls in method resolutionLukas Wirth2021-02-081-0/+22
|
* Handle box with allocatorThiébaud Weksteen2021-01-221-0/+24
| | | | | | | | In 1.49.0, the definition of Box was modified to support an optional Allocator[1]. Adapt the parsing of the `box` keyword to supply the expected number of parameters to the constructor. [1] https://github.com/rust-lang/rust/commit/f288cd2e179f600fa00c2a407206a12f6c5a91e0
* Render Fn* trait objects and impl types as rust doesLukas Wirth2021-01-132-4/+19
|
* Proper handling $crate Take 2Edwin Cheng2021-01-071-0/+31
|
* Revert "Proper handling $crate and local_inner_macros"Jonas Schievink2021-01-031-31/+0
|
* Fixed nested eager macro bugEdwin Cheng2021-01-031-0/+46
|
* Merge #7133bors[bot]2021-01-021-0/+31
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 7133: Proper handling $crate and local_inner_macros r=jonas-schievink a=edwin0cheng This PR introduces `HygineFrames` to store the macro definition/call site hierarchy in hyginee and when resolving `local_inner_macros` and `$crate`, we use the token to look up the corresponding frame and return the correct value. See also: https://rustc-dev-guide.rust-lang.org/macro-expansion.html#hygiene-and-hierarchies fixe #6890 and #6788 r? @jonas-schievink Co-authored-by: Edwin Cheng <[email protected]>
| * Introduce HygieneFrames for proper token hygineeEdwin Cheng2021-01-021-0/+31
| |