Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Switch to StaticLoc for statics | Aleksey Kladov | 2019-11-24 | 1 | -2/+0 |
| | |||||
* | Expand column!() | Jeremy Kolb | 2019-11-22 | 1 | -0/+19 |
| | |||||
* | Expand file! to dummy "" | kjeremy | 2019-11-22 | 1 | -0/+19 |
| | |||||
* | Move constants to new ID | Aleksey Kladov | 2019-11-20 | 1 | -2/+5 |
| | | | | This allows us to get rid of trait item index | ||||
* | Allow non-path default type parameters | Aleksey Kladov | 2019-11-20 | 1 | -0/+24 |
| | |||||
* | Rename Source::ast -> Source::value | Aleksey Kladov | 2019-11-20 | 1 | -3/+5 |
| | |||||
* | Fix handling of the binders in dyn/impl Trait | Florian Diebold | 2019-11-16 | 1 | -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 support | Florian Diebold | 2019-11-16 | 1 | -6/+6 |
| | |||||
* | Force passing Source when creating a SourceAnalyzer | Aleksey Kladov | 2019-11-15 | 1 | -8/+9 |
| | |||||
* | Auto-upgrade some insta snapshots | Aleksey Kladov | 2019-11-15 | 1 | -49/+5 |
| | |||||
* | Move expression lowering to hir_def | Aleksey Kladov | 2019-11-12 | 1 | -2/+1 |
| | |||||
* | Add line macro and tests | Edwin Cheng | 2019-11-11 | 1 | -0/+19 |
| | |||||
* | Rename MockDatabase -> TestDB | Aleksey Kladov | 2019-11-04 | 1 | -16/+16 |
| | | | | Actually working rename is sooo useful! | ||||
* | Remove more duplication in test fixtures | Aleksey Kladov | 2019-11-04 | 1 | -1/+1 |
| | |||||
* | Use new text DSL instead of crate_graph! macro | Aleksey Kladov | 2019-11-04 | 1 | -59/+25 |
| | |||||
* | Move CrateDefMap to hir_def | Aleksey Kladov | 2019-11-03 | 1 | -1/+1 |
| | |||||
* | Refactor to unify with method resolution | Florian Diebold | 2019-11-01 | 1 | -2/+2 |
| | |||||
* | Insert type vars before doing assoc item resolution | Florian Diebold | 2019-11-01 | 1 | -12/+12 |
| | |||||
* | Add another unrelated, currently not working test | Florian Diebold | 2019-11-01 | 1 | -0/+16 |
| | |||||
* | Get trait assoc item resolution mostly working | Florian Diebold | 2019-11-01 | 1 | -3/+150 |
| | |||||
* | Merge #1969 | bors[bot] | 2019-10-08 | 1 | -2/+1 |
|\ | | | | | | | | | | | | | | | 1969: restore coloring of attributes r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | macro DSL for cfg in tests | Aleksey Kladov | 2019-10-08 | 1 | -6/+1 |
| | | |||||
| * | use slightly more idiomatic api for cfg | Aleksey Kladov | 2019-10-08 | 1 | -1/+5 |
| | | |||||
* | | Support inferring `Self` type in enum definitions | ice1000 | 2019-10-08 | 1 | -0/+19 |
|/ | | | | Signed-off-by: ice1000 <[email protected]> | ||||
* | Merge #1928 | bors[bot] | 2019-10-05 | 1 | -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 blocks | uHOOCCOOHu | 2019-10-02 | 1 | -0/+45 |
| | | |||||
* | | Handle divergence in type inference for blocks | Laurențiu Nicola | 2019-10-02 | 1 | -1/+62 |
|/ | |||||
* | Merge #1815 | bors[bot] | 2019-09-27 | 1 | -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. | uHOOCCOOHu | 2019-09-26 | 1 | -0/+33 |
| | | |||||
* | | Add SubstsBuilder | Florian Diebold | 2019-09-26 | 1 | -1/+0 |
|/ | | | | + further refactoring. | ||||
* | Support all coercion places | uHOOCCOOHu | 2019-09-25 | 1 | -65/+62 |
| | |||||
* | Support custom `CoerceUnsized` | uHOOCCOOHu | 2019-09-25 | 1 | -197/+5 |
| | | | | Split out tests about coercion | ||||
* | Better handle never type and branch merging | uHOOCCOOHu | 2019-09-25 | 1 | -121/+40 |
| | | | | Split out tests for never type to another file | ||||
* | Support basic implicit type coerce | uHOOCCOOHu | 2019-09-25 | 1 | -56/+215 |
| | |||||
* | Support auto-deref in argument position | uHOOCCOOHu | 2019-09-25 | 1 | -0/+118 |
| | |||||
* | Resolve trait associated items | Florian Diebold | 2019-09-25 | 1 | -8/+7 |
| | | | | E.g. `Default::default` or `<Foo as Default>::default`. | ||||
* | Implement the call argument checking order hack for closures | Florian Diebold | 2019-09-24 | 1 | -0/+80 |
| | |||||
* | Make the closure_1 test work | Florian Diebold | 2019-09-24 | 1 | -27/+27 |
| | |||||
* | Make closures impl closure traits | Florian Diebold | 2019-09-24 | 1 | -27/+28 |
| | |||||
* | Give closures types | Florian Diebold | 2019-09-24 | 1 | -16/+14 |
| | |||||
* | Handle associated type shorthand (`T::Item`) | Florian Diebold | 2019-09-22 | 1 | -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 macros | Aleksey Kladov | 2019-09-18 | 1 | -0/+17 |
| | |||||
* | Remove assoc type selection code for now to fix crashes | Florian Diebold | 2019-09-17 | 1 | -6/+6 |
| | |||||
* | Add test for `T::Item` cycles | Florian Diebold | 2019-09-17 | 1 | -0/+42 |
| | |||||
* | Add test for `<T>::Item` | Florian Diebold | 2019-09-17 | 1 | -10/+22 |
| | |||||
* | Resolve assoc types on type parameters | Florian Diebold | 2019-09-17 | 1 | -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 tests | Florian Diebold | 2019-09-17 | 1 | -12/+12 |
| | |||||
* | Support path starting with a type | uHOOCCOOHu | 2019-09-15 | 1 | -0/+58 |
| | |||||
* | Support bare `Trait` without dyn | Florian Diebold | 2019-09-14 | 1 | -10/+10 |
| | |||||
* | Infer box expression | uHOOCCOOHu | 2019-09-11 | 1 | -0/+31 |
| |