Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | push name down to hir_expand | Aleksey Kladov | 2019-10-30 | 4 | -7/+6 |
| | |||||
* | remove forward pointer for type_ref | Aleksey Kladov | 2019-10-30 | 4 | -8/+11 |
| | |||||
* | remove forward pointer to Path | Aleksey Kladov | 2019-10-30 | 4 | -7/+11 |
| | |||||
* | remove forward pointer for name | Aleksey Kladov | 2019-10-30 | 4 | -4/+7 |
| | |||||
* | Move ids to hir_def crate | Aleksey Kladov | 2019-10-30 | 1 | -29/+5 |
| | |||||
* | introduce ra_hir_def | Aleksey Kladov | 2019-10-30 | 2 | -8/+8 |
| | |||||
* | Upgrade Chalk, make use of TypeName::Error variant | Florian Diebold | 2019-10-29 | 1 | -8/+7 |
| | |||||
* | Upgrade Chalk (without using its dyn/impl Trait support) | Florian Diebold | 2019-10-26 | 2 | -43/+73 |
| | |||||
* | Bump deps | Laurențiu Nicola | 2019-10-17 | 2 | -4/+10 |
| | |||||
* | make_mut_slice | Shotaro Yamada | 2019-10-14 | 2 | -15/+9 |
| | |||||
* | import make_mut_arc_slice | Shotaro Yamada | 2019-10-14 | 1 | -1/+2 |
| | |||||
* | `.collect()` directly into `Arc<[T]>` | Shotaro Yamada | 2019-10-14 | 3 | -21/+16 |
| | |||||
* | Avoid cloning `Arc<[T]>` into a vec if possible | Shotaro Yamada | 2019-10-14 | 2 | -12/+18 |
| | |||||
* | Split up infer.rs further | Florian Diebold | 2019-10-12 | 4 | -1135/+1192 |
| | | | | | | - coercion logic goes to `coerce.rs` - expression inference goes to `expr.rs` - pattern inference goes to `pat.rs` | ||||
* | Chalk update to simplified IR | kjeremy | 2019-10-10 | 1 | -24/+34 |
| | |||||
* | 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 |
| | | |||||
* | | Address comments: fix docs, add completion test for `Self`. | ice1000 | 2019-10-08 | 1 | -3/+1 |
| | | |||||
* | | Support inferring `Self` type in enum definitions | ice1000 | 2019-10-08 | 3 | -0/+23 |
|/ | | | | 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 | 2 | -3/+72 |
|/ | |||||
* | Merge branch 'master' into feature/issue/1856 | Alexander Andreev | 2019-09-30 | 1 | -3/+9 |
|\ | | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs | ||||
| * | correctly reset chalk state after a panic | Aleksey Kladov | 2019-09-28 | 1 | -6/+9 |
| | | |||||
| * | replace horrible hack with a slightly less horrible one | Aleksey Kladov | 2019-09-27 | 1 | -0/+3 |
| | | |||||
* | | Added test for check doc strings in crates. | Alexander Andreev | 2019-09-30 | 3 | -0/+6 |
|/ | | | | #1856 | ||||
* | Merge #1815 | bors[bot] | 2019-09-27 | 2 | -5/+37 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 |
| | | |||||
| * | Refactor `Name` ready for hygienic macro | uHOOCCOOHu | 2019-09-26 | 1 | -5/+4 |
| | | |||||
* | | Add SubstsBuilder | Florian Diebold | 2019-09-26 | 8 | -116/+66 |
|/ | | | | + further refactoring. | ||||
* | Support all coercion places | uHOOCCOOHu | 2019-09-25 | 3 | -96/+216 |
| | |||||
* | Support custom `CoerceUnsized` | uHOOCCOOHu | 2019-09-25 | 4 | -247/+476 |
| | | | | Split out tests about coercion | ||||
* | Better handle never type and branch merging | uHOOCCOOHu | 2019-09-25 | 4 | -181/+391 |
| | | | | Split out tests for never type to another file | ||||
* | Support basic implicit type coerce | uHOOCCOOHu | 2019-09-25 | 2 | -142/+383 |
| | |||||
* | Support auto-deref in argument position | uHOOCCOOHu | 2019-09-25 | 2 | -1/+161 |
| | |||||
* | Resolve trait associated items | Florian Diebold | 2019-09-25 | 3 | -13/+59 |
| | | | | E.g. `Default::default` or `<Foo as Default>::default`. | ||||
* | Fix retrieval of the Fn traits | Florian Diebold | 2019-09-25 | 1 | -3/+2 |
| | | | | | I used the wrong query, so it only used the lang items from the respective crate... | ||||
* | Merge #1906 | bors[bot] | 2019-09-25 | 1 | -2/+5 |
|\ | | | | | | | | | | | | | | | 1906: Add missing lang-items to `def_crates` r=matklad a=sinkuu Co-authored-by: Shotaro Yamada <[email protected]> | ||||
| * | Add missing lang-items to `def_crates` | Shotaro Yamada | 2019-09-25 | 1 | -2/+5 |
| | | |||||
* | | Remove redundant clone() | Shotaro Yamada | 2019-09-25 | 2 | -3/+3 |
|/ | |||||
* | Implement the call argument checking order hack for closures | Florian Diebold | 2019-09-24 | 3 | -12/+108 |
| | |||||
* | Make the closure_1 test work | Florian Diebold | 2019-09-24 | 3 | -27/+40 |
| | |||||
* | Make closures impl closure traits | Florian Diebold | 2019-09-24 | 3 | -38/+185 |
| | |||||
* | Give closures types | Florian Diebold | 2019-09-24 | 3 | -20/+36 |
| | |||||
* | Upgrade Chalk again | Florian Diebold | 2019-09-24 | 1 | -3/+6 |
| | |||||
* | Upgrade Chalk | Florian Diebold | 2019-09-23 | 1 | -4/+6 |
| | |||||
* | Split off path expression inference code into submodule | Florian Diebold | 2019-09-23 | 2 | -172/+199 |
| | |||||
* | Handle projection types from Chalk | Florian Diebold | 2019-09-22 | 1 | -1/+5 |
| | |||||
* | Handle associated type shorthand (`T::Item`) | Florian Diebold | 2019-09-22 | 2 | -17/+144 |
| | | | | | | | | | | | | 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... |