aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/tests/macros.rs
Commit message (Collapse)AuthorAgeFilesLines
* Implement better handling of divergenceFlorian Diebold2020-05-081-1/+1
| | | | | | | | Divergence here means that for some reason, the end of a block will not be reached. We tried to model this just using the never type, but that doesn't work fully (e.g. in `let x = { loop {}; "foo" };` x should still have type `&str`); so this introduces a `diverges` flag that the type checker keeps track of, like rustc does.
* Rename ImplItem to AssocItemEdwin Cheng2020-05-051-2/+2
|
* Merge #4234bors[bot]2020-05-021-0/+26
|\ | | | | | | | | | | | | | | | | | | | | | | 4234: Support local_inner_macros r=jonas-schievink a=edwin0cheng This PR implements `#[macro_export(local_inner_macros)]` support. Note that the rustc implementation is quite [hacky][1] too. :) [1]: https://github.com/rust-lang/rust/blob/614f273e9388ddd7804d5cbc80b8865068a3744e/src/librustc_resolve/macros.rs#L456 Co-authored-by: Edwin Cheng <[email protected]>
| * Support local_inner_macrosEdwin Cheng2020-05-011-0/+26
| |
* | Add testEdwin Cheng2020-05-011-0/+40
|/
* Use empty-deps tricks to detect it is coreEdwin Cheng2020-04-271-6/+5
|
* Add testEdwin Cheng2020-04-271-0/+26
|
* Use core instead of std for builtin derive macrosEdwin Cheng2020-04-271-4/+4
|
* Convert tests to text-sizeAleksey Kladov2020-04-251-101/+101
|
* Add failing testAleksey Kladov2020-04-101-2/+29
|
* Macro patterns are not confused with expressions.Aleksey Kladov2020-04-031-2/+29
| | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`.
* Remove collect proc_macro definitionsEdwin Cheng2020-03-251-6/+2
|
* Fix trailling whitespaceEdwin Cheng2020-03-251-1/+1
|
* Add basic custom derive loweringEdwin Cheng2020-03-251-0/+23
|
* Make MBE expansion more resilient (WIP)Florian Diebold2020-03-161-4/+4
|
* Support local macro_rulesEdwin Cheng2020-03-141-0/+20
|
* Add and fix testsEdwin Cheng2020-03-101-0/+20
|
* Prevent include! macro include itselfEdwin Cheng2020-03-071-0/+18
|
* Use a not so dummy implementation of env macroEdwin Cheng2020-03-071-0/+27
|
* Implment include macroEdwin Cheng2020-03-061-0/+45
|
* Fix panic on eager expansionEdwin Cheng2020-03-031-0/+21
|
* Add testEdwin Cheng2020-03-031-0/+19
|
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-291-6/+6
|
* Use dummy value for line! and column! macroEdwin Cheng2020-01-141-2/+2
|
* Add test for macro expansion in various expressionsFlorian Diebold2020-01-101-0/+81
|
* Recursive collect macros in impl itemsEdwin Cheng2019-12-201-0/+23
|
* Add support macros in impl blocksEdwin Cheng2019-12-201-0/+19
|
* Add testsEdwin Cheng2019-12-061-0/+29
|
* Implement derive(Copy, Clone) properly (well, kind of)Florian Diebold2019-12-051-0/+51
|
* Split up ty tests a bitFlorian Diebold2019-12-031-0/+268