aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/tests.rs
Commit message (Collapse)AuthorAgeFilesLines
* Switch to StaticLoc for staticsAleksey Kladov2019-11-241-2/+0
|
* Expand column!()Jeremy Kolb2019-11-221-0/+19
|
* Expand file! to dummy ""kjeremy2019-11-221-0/+19
|
* Move constants to new IDAleksey Kladov2019-11-201-2/+5
| | | | This allows us to get rid of trait item index
* Allow non-path default type parametersAleksey Kladov2019-11-201-0/+24
|
* Rename Source::ast -> Source::valueAleksey Kladov2019-11-201-3/+5
|
* Fix handling of the binders in dyn/impl TraitFlorian Diebold2019-11-161-0/+43
| | | | | | | | | We need to be more careful now when substituting bound variables (previously, we didn't have anything that used bound variables except Chalk, so it was not a problem). This is obviously quite ad-hoc; Chalk has more infrastructure for handling this in a principled way, which we maybe should adopt.
* Use Chalk's dyn/impl trait supportFlorian Diebold2019-11-161-6/+6
|
* Force passing Source when creating a SourceAnalyzerAleksey Kladov2019-11-151-8/+9
|
* Auto-upgrade some insta snapshotsAleksey Kladov2019-11-151-49/+5
|
* Move expression lowering to hir_defAleksey Kladov2019-11-121-2/+1
|
* Add line macro and testsEdwin Cheng2019-11-111-0/+19
|
* Rename MockDatabase -> TestDBAleksey Kladov2019-11-041-16/+16
| | | | Actually working rename is sooo useful!
* Remove more duplication in test fixturesAleksey Kladov2019-11-041-1/+1
|
* Use new text DSL instead of crate_graph! macroAleksey Kladov2019-11-041-59/+25
|
* Move CrateDefMap to hir_defAleksey Kladov2019-11-031-1/+1
|
* Refactor to unify with method resolutionFlorian Diebold2019-11-011-2/+2
|
* Insert type vars before doing assoc item resolutionFlorian Diebold2019-11-011-12/+12
|
* Add another unrelated, currently not working testFlorian Diebold2019-11-011-0/+16
|
* Get trait assoc item resolution mostly workingFlorian Diebold2019-11-011-3/+150
|
* Merge #1969bors[bot]2019-10-081-2/+1
|\ | | | | | | | | | | | | | | 1969: restore coloring of attributes r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * macro DSL for cfg in testsAleksey Kladov2019-10-081-6/+1
| |
| * use slightly more idiomatic api for cfgAleksey Kladov2019-10-081-1/+5
| |
* | Support inferring `Self` type in enum definitionsice10002019-10-081-0/+19
|/ | | | Signed-off-by: ice1000 <[email protected]>
* Merge #1928bors[bot]2019-10-051-0/+45
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1928: Support `#[cfg(..)]` r=matklad a=oxalica This PR implement `#[cfg(..)]` conditional compilation. It read default cfg options from `rustc --print cfg` with also hard-coded `test` and `debug_assertion` enabled. Front-end settings are **not** included in this PR. There is also a known issue that inner control attributes are totally ignored. I think it is **not** a part of `cfg` and create a separated issue for it. #1949 Fixes #1920 Related: #1073 Co-authored-by: uHOOCCOOHu <[email protected]> Co-authored-by: oxalica <[email protected]>
| * Support cfg attribute on impl blocksuHOOCCOOHu2019-10-021-0/+45
| |
* | Handle divergence in type inference for blocksLaurențiu Nicola2019-10-021-1/+62
|/
* Merge #1815bors[bot]2019-09-271-0/+33
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu This PR makes normal use cases of `$crate` from macros work as expected. It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more. Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro. Screenshot: ![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png) Co-authored-by: uHOOCCOOHu <[email protected]>
| * Support `$crate` in item and expr place.uHOOCCOOHu2019-09-261-0/+33
| |
* | Add SubstsBuilderFlorian Diebold2019-09-261-1/+0
|/ | | | + further refactoring.
* Support all coercion placesuHOOCCOOHu2019-09-251-65/+62
|
* Support custom `CoerceUnsized`uHOOCCOOHu2019-09-251-197/+5
| | | | Split out tests about coercion
* Better handle never type and branch merginguHOOCCOOHu2019-09-251-121/+40
| | | | Split out tests for never type to another file
* Support basic implicit type coerceuHOOCCOOHu2019-09-251-56/+215
|
* Support auto-deref in argument positionuHOOCCOOHu2019-09-251-0/+118
|
* Resolve trait associated itemsFlorian Diebold2019-09-251-8/+7
| | | | E.g. `Default::default` or `<Foo as Default>::default`.
* Implement the call argument checking order hack for closuresFlorian Diebold2019-09-241-0/+80
|
* Make the closure_1 test workFlorian Diebold2019-09-241-27/+27
|
* Make closures impl closure traitsFlorian Diebold2019-09-241-27/+28
|
* Give closures typesFlorian Diebold2019-09-241-16/+14
|
* Handle associated type shorthand (`T::Item`)Florian Diebold2019-09-221-8/+56
| | | | | | | | | | | | This is only allowed for generic parameters (including `Self` in traits), and special care needs to be taken to not run into cycles while resolving it, because we use the where clauses of the generic parameter to find candidates for the trait containing the associated type, but the where clauses may themselves contain instances of short-hand associated types. In some cases this is even fine, e.g. we might have `T: Trait<U::Item>, U: Iterator`. If there is a cycle, we'll currently panic, which isn't great, but better than overflowing the stack...
* account for impls generated by macrosAleksey Kladov2019-09-181-0/+17
|
* Remove assoc type selection code for now to fix crashesFlorian Diebold2019-09-171-6/+6
|
* Add test for `T::Item` cyclesFlorian Diebold2019-09-171-0/+42
|
* Add test for `<T>::Item`Florian Diebold2019-09-171-10/+22
|
* Resolve assoc types on type parametersFlorian Diebold2019-09-171-3/+3
| | | | | | E.g. `fn foo<T: Iterator>() -> T::Item`. It seems that rustc does this only for type parameters and only based on their bounds, so we also only consider traits from bounds.
* Adapt some testsFlorian Diebold2019-09-171-12/+12
|
* Support path starting with a typeuHOOCCOOHu2019-09-151-0/+58
|
* Support bare `Trait` without dynFlorian Diebold2019-09-141-10/+10
|
* Infer box expressionuHOOCCOOHu2019-09-111-0/+31
|