Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | introduce hir debugging infra | Aleksey Kladov | 2019-09-09 | 4 | -3/+90 | |
|/ | | | | | | | | | | | | This is to make debugging rust-analyzer easier. The idea is that `dbg!(krate.debug(db))` will print the actual, fuzzy crate name, instead of precise ID. Debug printing infra is a separate thing, to make sure that the actual hir doesn't have access to global information. Do not use `.debug` for `log::` logging: debugging executes queries, and might introduce unneded dependencies to the crate graph | |||||
* | Fix test | uHOOCCOOHu | 2019-09-08 | 1 | -3/+0 | |
| | ||||||
* | Rename `textual_macro` -> `legacy_macro` | uHOOCCOOHu | 2019-09-08 | 4 | -29/+39 | |
| | | | | Add comments | |||||
* | Revert "Replace with immutable map to avoid heavy cloning" | uHOOCCOOHu | 2019-09-08 | 2 | -8/+2 | |
| | | | | | | This reverts commit 2c494eb803c88ef5d23607c3b156fce60c2b8076. See: https://github.com/rust-analyzer/rust-analyzer/pull/1784#issuecomment-529119924 | |||||
* | Replace with immutable map to avoid heavy cloning | uHOOCCOOHu | 2019-09-08 | 2 | -2/+8 | |
| | ||||||
* | Resolve textual scoped macros inside item | uHOOCCOOHu | 2019-09-08 | 4 | -9/+65 | |
| | ||||||
* | Support textual scoped macros | uHOOCCOOHu | 2019-09-08 | 4 | -34/+158 | |
| | ||||||
* | cleanup hir db imports | Aleksey Kladov | 2019-09-08 | 24 | -43/+65 | |
| | ||||||
* | don't cycle when processing macros from prelude in prelude | Aleksey Kladov | 2019-09-07 | 2 | -2/+33 | |
| | ||||||
* | Fix crash for super trait cycles | Florian Diebold | 2019-09-07 | 2 | -18/+39 | |
| | ||||||
* | Fix Chalk environments | Florian Diebold | 2019-09-07 | 2 | -3/+4 | |
| | | | | | The clauses need to be wrapped in `FromEnv` clauses for elaboration (i.e. things like inferring `T: Clone` from `T: Copy`) to work correctly. | |||||
* | Use traits from where clauses for method resolution | Florian Diebold | 2019-09-07 | 4 | -21/+44 | |
| | | | | | E.g. if we have `T: some::Trait`, we can call methods from that trait without it needing to be in scope. | |||||
* | Lower `Fn(X, Y) -> Z` paths | Florian Diebold | 2019-09-07 | 2 | -12/+48 | |
| | ||||||
* | Lower bounds on trait definition, and resolve assoc types from super traits | Florian Diebold | 2019-09-07 | 9 | -38/+100 | |
| | ||||||
* | Add some more tests | Florian Diebold | 2019-09-07 | 1 | -0/+205 | |
| | ||||||
* | Merge #1779 | bors[bot] | 2019-09-06 | 2 | -49/+51 | |
|\ | | | | | | | | | | | | | | | 1779: minor r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | |||||
| * | minor | Aleksey Kladov | 2019-09-06 | 2 | -49/+51 | |
| | | ||||||
* | | make source_root API more abstract | Aleksey Kladov | 2019-09-06 | 2 | -7/+9 | |
|/ | ||||||
* | Merge #1771 | bors[bot] | 2019-09-05 | 3 | -18/+91 | |
|\ | | | | | | | | | | | | | | | | | | | | | 1771: Further tweak for macro_use on extern crate r=matklad a=uHOOCCOOHu Some more tweaks to #1743 to behave more like `rustc` 1. Hoist macros from `#[macro_use] extern crate`, so that they can be used before `extern crate`. 2. Implicit `#[macro_use]` for `prelude` if exists Co-authored-by: uHOOCCOOHu <[email protected]> | |||||
| * | Hoist macros from extern crate with macro_use | uHOOCCOOHu | 2019-09-05 | 2 | -14/+20 | |
| | | ||||||
| * | Consider prelude to be `macro_use` | uHOOCCOOHu | 2019-09-05 | 3 | -4/+71 | |
| | | ||||||
* | | rename test file to match impl file | Aleksey Kladov | 2019-09-05 | 2 | -1/+1 | |
| | | ||||||
* | | move mod resolution to a separate file | Aleksey Kladov | 2019-09-05 | 3 | -183/+190 | |
|/ | ||||||
* | Merge #1743 | bors[bot] | 2019-09-05 | 5 | -12/+117 | |
|\ | | | | | | | | | | | | | | | 1743: Support `#[macro_use]` on `extern crate` r=matklad a=uHOOCCOOHu Unfortunately, #1688 is still an issue. My guess is wrong :( Co-authored-by: uHOOCCOOHu <[email protected]> | |||||
| * | Fix typo | uHOOCCOOHu | 2019-09-05 | 1 | -2/+2 | |
| | | ||||||
| * | Let `macro_use` bypass module scope | uHOOCCOOHu | 2019-09-05 | 2 | -35/+52 | |
| | | ||||||
| * | Fix import strategy of `macro_use` and its test | uHOOCCOOHu | 2019-09-02 | 4 | -9/+26 | |
| | | ||||||
| * | Add test | uHOOCCOOHu | 2019-08-31 | 1 | -5/+50 | |
| | | ||||||
| * | Support resolution of `#[macro_use] extern crate` | uHOOCCOOHu | 2019-08-31 | 2 | -2/+28 | |
| | | ||||||
* | | Make type walking infrastructure a bit nicer | Florian Diebold | 2019-09-03 | 8 | -133/+132 | |
| | | | | | | | | | | If/when we switch to using Chalk's Ty, we'll need to replace this by its `Fold` trait, but I didn't want to import the whole thing just yet. | |||||
* | | Properly format `impl Trait<Type = Foo>` types | Florian Diebold | 2019-09-03 | 2 | -23/+97 | |
| | | | | | | | | | | | | It's a bit complicated because we basically have to 'undo' the desugaring, and the result is very dependent on the specifics of the desugaring and will probably produce weird results otherwise. | |||||
* | | Add support for associated type bindings (`where Trait<Type = X>`) | Florian Diebold | 2019-09-03 | 6 | -52/+183 | |
| | | ||||||
* | | Add test for assoc type bindings | Florian Diebold | 2019-09-03 | 1 | -0/+65 | |
| | | ||||||
* | | Correctly build BodySourceMap for macro-expanded expressions | Aleksey Kladov | 2019-09-03 | 6 | -66/+119 | |
| | | ||||||
* | | slightly simplify expr lowering flow | Aleksey Kladov | 2019-09-03 | 3 | -129/+136 | |
| | | ||||||
* | | clearer ignore | Aleksey Kladov | 2019-09-03 | 1 | -1/+1 | |
| | | ||||||
* | | remove needless refs | Aleksey Kladov | 2019-09-03 | 1 | -2/+2 | |
| | | ||||||
* | | use recrod terminology for hir::Pat | Aleksey Kladov | 2019-09-03 | 3 | -8/+7 | |
| | | ||||||
* | | move expr lowering to lower | Aleksey Kladov | 2019-09-03 | 3 | -653/+667 | |
| | | ||||||
* | | fix hir for new block syntax | Aleksey Kladov | 2019-09-02 | 6 | -42/+50 | |
| | | ||||||
* | | remove useless trait | Aleksey Kladov | 2019-09-02 | 1 | -2/+2 | |
| | | ||||||
* | | Add an expr_source method analogous to the source methods in the code model | Florian Diebold | 2019-09-02 | 6 | -30/+79 | |
| | | | | | | | | ... and use that instead of exposing the source map. | |||||
* | | Report type mismatches in analysis-stats | Florian Diebold | 2019-09-02 | 2 | -7/+7 | |
|/ | | | | Only the number usually; each one individually when running with -v. | |||||
* | :arrow_up: insta | Aleksey Kladov | 2019-08-29 | 7 | -1221/+1319 | |
| | ||||||
* | Small fixes | Kirill Bulatov | 2019-08-26 | 2 | -13/+15 | |
| | ||||||
* | Remove redundant tests | Kirill Bulatov | 2019-08-26 | 1 | -63/+5 | |
| | ||||||
* | Fix 'missing Ok in tail expr' validation | Florian Diebold | 2019-08-26 | 1 | -3/+4 | |
| | | | | | Because of the coercion change, the type mismatch now only happens on the block expression. | |||||
* | Make infer_block not unify; add back calculate_least_upper_bound | Florian Diebold | 2019-08-26 | 2 | -30/+66 | |
| | ||||||
* | An attempt to add the coercion logic for Never | Kirill Bulatov | 2019-08-26 | 2 | -51/+98 | |
| | ||||||
* | Properly coerce never types | Kirill Bulatov | 2019-08-26 | 3 | -57/+46 | |
| |