Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | minor cleanup | Aleksey Kladov | 2019-10-16 | 3 | -33/+38 |
| | |||||
* | Merge #2008 | bors[bot] | 2019-10-14 | 4 | -43/+27 |
|\ | | | | | | | | | | | | | | | 2008: Prepare SourceDatabase API for lazy file loading r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | Prepare SourceDatabase API for lazy file loading | Aleksey Kladov | 2019-10-14 | 4 | -43/+27 |
| | | |||||
* | | Merge #2006 | bors[bot] | 2019-10-14 | 7 | -50/+49 |
|\ \ | |/ |/| | | | | | | | | | | | 2006: Improvements around `Arc<[T]>` r=matklad a=sinkuu First commit tries to avoid cloning `Arc<[T]>` to a temporary `Vec` for mutating it, if there are no other strong references. Second commit utilizes [`FromIterator for Arc<[T]>`](https://doc.rust-lang.org/std/sync/struct.Arc.html#impl-FromIterator%3CT%3E) instead of `.collect::<Vec<_>>().into()` to avoid allocation in `From<Vec<T>> for Arc<[T]>`. Co-authored-by: Shotaro Yamada <[email protected]> | ||||
| * | make_mut_slice | Shotaro Yamada | 2019-10-14 | 4 | -42/+23 |
| | | |||||
| * | import make_mut_arc_slice | Shotaro Yamada | 2019-10-14 | 1 | -1/+2 |
| | | |||||
| * | `.collect()` directly into `Arc<[T]>` | Shotaro Yamada | 2019-10-14 | 4 | -25/+18 |
| | | |||||
| * | Avoid cloning `Arc<[T]>` into a vec if possible | Shotaro Yamada | 2019-10-14 | 5 | -31/+55 |
| | | |||||
* | | remove one more dependency on source roots | Aleksey Kladov | 2019-10-14 | 1 | -5/+3 |
|/ | |||||
* | 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` | ||||
* | Merge #1989 | bors[bot] | 2019-10-11 | 1 | -24/+34 |
|\ | | | | | | | | | | | | | | | 1989: Chalk update to simplified IR r=flodiebold a=kjeremy Co-authored-by: kjeremy <[email protected]> | ||||
| * | Chalk update to simplified IR | kjeremy | 2019-10-10 | 1 | -24/+34 |
| | | |||||
* | | Merge #1994 | bors[bot] | 2019-10-11 | 3 | -45/+37 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 1994: remove last traces of source roots from hir r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | | remove last traces of source roots from hir | Aleksey Kladov | 2019-10-11 | 3 | -45/+37 |
| |/ | |||||
* / | Remove `as_original_file` | Shotaro Yamada | 2019-10-10 | 1 | -10/+0 |
|/ | |||||
* | don't special case macro_use | Aleksey Kladov | 2019-10-10 | 3 | -23/+13 |
| | |||||
* | don't special case path attr | Aleksey Kladov | 2019-10-10 | 3 | -34/+31 |
| | |||||
* | simplify a bit | Aleksey Kladov | 2019-10-10 | 2 | -10/+13 |
| | |||||
* | simplify some tests | Aleksey Kladov | 2019-10-10 | 1 | -90/+24 |
| | |||||
* | Refactor and fix some more edge cases around name resolution | Aleksey Kladov | 2019-10-10 | 4 | -192/+209 |
| | |||||
* | add `module` methods | Ekaterina Babshukova | 2019-10-09 | 2 | -2/+42 |
| | |||||
* | add <> for type aliases as well | Aleksey Kladov | 2019-10-09 | 1 | -1/+1 |
| | |||||
* | refactor | Aleksey Kladov | 2019-10-08 | 1 | -11/+9 |
| | |||||
* | Merge #1969 | bors[bot] | 2019-10-08 | 3 | -11/+24 |
|\ | | | | | | | | | | | | | | | 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 | 3 | -16/+23 |
| | | |||||
| * | use slightly more idiomatic api for cfg | Aleksey Kladov | 2019-10-08 | 2 | -7/+13 |
| | | |||||
* | | Address comments: fix docs, add completion test for `Self`. | ice1000 | 2019-10-08 | 3 | -5/+3 |
| | | |||||
* | | Support inferring `Self` type in enum definitions | ice1000 | 2019-10-08 | 6 | -8/+53 |
|/ | | | | Signed-off-by: ice1000 <[email protected]> | ||||
* | Merge #1928 | bors[bot] | 2019-10-05 | 9 | -38/+323 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]> | ||||
| * | Add docs | uHOOCCOOHu | 2019-10-02 | 1 | -0/+2 |
| | | |||||
| * | Optimize | uHOOCCOOHu | 2019-10-02 | 4 | -12/+27 |
| | | |||||
| * | Refactor CfgOptions inside | uHOOCCOOHu | 2019-10-02 | 1 | -3/+3 |
| | | |||||
| * | Support cfg attribute on impl blocks | uHOOCCOOHu | 2019-10-02 | 5 | -13/+90 |
| | | |||||
| * | Enable CfgOptions `test` for workspace crates | uHOOCCOOHu | 2019-10-02 | 2 | -7/+86 |
| | | |||||
| * | Introduce ra_cfg to parse and evaluate CfgExpr | uHOOCCOOHu | 2019-10-02 | 5 | -26/+107 |
| | | |||||
| * | Pass attributes as token tree to DefCollector | uHOOCCOOHu | 2019-10-02 | 2 | -20/+51 |
| | | |||||
* | | 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 | 3 | -7/+12 |
|\ | | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs | ||||
| * | Fix API of Attr | uHOOCCOOHu | 2019-09-30 | 2 | -4/+3 |
| | | |||||
| * | 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 | 27 | -9/+59 |
|/ | | | | #1856 | ||||
* | Merge #1815 | bors[bot] | 2019-09-27 | 17 | -124/+361 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]> | ||||
| * | Fix | uHOOCCOOHu | 2019-09-27 | 2 | -2/+2 |
| | | |||||
| * | Support `$crate` in item and expr place. | uHOOCCOOHu | 2019-09-26 | 12 | -35/+266 |
| | | |||||
| * | Store crate info in `MacroDefId` | uHOOCCOOHu | 2019-09-26 | 3 | -5/+11 |
| | | |||||
| * | Refactor `Name` ready for hygienic macro | uHOOCCOOHu | 2019-09-26 | 3 | -84/+84 |
| | | |||||
* | | Add SubstsBuilder | Florian Diebold | 2019-09-26 | 11 | -126/+212 |
|/ | | | | + 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 |