Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use shrink_to_fit to reduce DefMap sizes | Jonas Schievink | 2021-04-03 | 3 | -1/+25 |
| | |||||
* | Use bitflags to compress function properties | Jonas Schievink | 2021-04-03 | 4 | -53/+102 |
| | | | | Very minor savings, only 1 MB or so | ||||
* | Intern `ModPath` in `Import` | Jonas Schievink | 2021-04-03 | 3 | -4/+8 |
| | | | | Minor savings only | ||||
* | Allow include! an empty content file | Edwin Cheng | 2021-04-03 | 2 | -0/+33 |
| | |||||
* | Support `#[rustc_builtin_macro = "builtin_name"]` | Jonas Schievink | 2021-04-03 | 1 | -1/+11 |
| | |||||
* | Allow interning strings | Jonas Schievink | 2021-04-03 | 1 | -9/+46 |
| | |||||
* | Stop using an upgradeable read lock in interning | Jonas Schievink | 2021-04-02 | 1 | -5/+2 |
| | | | | | | Only one upgradeable read lock can be handed out at the same time, and we never acquire a non-upgradeable read lock, so this has no benefit over just using a write lock in the first place. | ||||
* | Only populate prelude for crate-level DefMaps | Jonas Schievink | 2021-04-02 | 1 | -14/+16 |
| | |||||
* | Remove `?Sized` on `PartialEq`/`Eq` impls | Jonas Schievink | 2021-04-02 | 1 | -3/+5 |
| | |||||
* | Split `Intern::drop` into hot and cold path | Jonas Schievink | 2021-04-02 | 1 | -16/+23 |
| | |||||
* | Remove unnecessary region, relax `Sized` bounds | Jonas Schievink | 2021-04-01 | 1 | -16/+12 |
| | |||||
* | Intern Attr, MacroCall and Path components | Jonas Schievink | 2021-04-01 | 7 | -17/+21 |
| | |||||
* | Global TypeRef/TraitRef interning | Jonas Schievink | 2021-04-01 | 7 | -114/+198 |
| | |||||
* | Fix block inner item defined in macro | Edwin Cheng | 2021-03-31 | 1 | -0/+6 |
| | |||||
* | Merge #8266 | bors[bot] | 2021-03-31 | 1 | -1/+3 |
|\ | | | | | | | | | | | | | | | | | | | 8266: Fix generic arguments being incorrectly offset in qualified trait casts r=flodiebold a=Veykril We reverse the segments and generic args of the lowered path after building it, this wasn't accounted for when inserting the self parameter in `Type as Trait` segments. Fixes #5886 Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Fix generic arguments being incorrectly offset in qualified trait casts | Lukas Wirth | 2021-03-30 | 1 | -1/+3 |
| | | |||||
* | | Remove TraitRef::Error | Lukas Wirth | 2021-03-29 | 2 | -13/+14 |
| | | |||||
* | | Rename target_ty to self_ty | Lukas Wirth | 2021-03-29 | 3 | -6/+6 |
| | | |||||
* | | Lower traits to TraitRef instead of TypeRef | Lukas Wirth | 2021-03-29 | 4 | -6/+68 |
|/ | |||||
* | Remove unused test fixtures | Edwin Cheng | 2021-03-28 | 1 | -4/+0 |
| | |||||
* | Basic Support Macro 2.0 | Edwin Cheng | 2021-03-27 | 2 | -39/+85 |
| | |||||
* | Fix recursive macro statement expansion | Edwin Cheng | 2021-03-25 | 4 | -52/+37 |
| | |||||
* | Merge #7907 | bors[bot] | 2021-03-24 | 2 | -1/+38 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7907: Autoderef with visibility r=cynecx a=cynecx Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7841. I am not sure about the general approach here. Right now this simply tries to check whether the autoderef candidate is reachable from the current module. ~~However this doesn't exactly work with traits (see the `tests::macros::infer_derive_clone_in_core` test, which fails right now).~~ see comment below Refs: - `rustc_typeck` checking fields: https://github.com/rust-lang/rust/blob/66ec64ccf31883cd2c28d045912a76179c0c6ed2/compiler/rustc_typeck/src/check/expr.rs#L1610 r? @flodiebold Co-authored-by: cynecx <[email protected]> | ||||
| * | hir_def: move visibility queries from hir_ty to hir_def | cynecx | 2021-03-24 | 2 | -1/+38 |
| | | |||||
* | | Merge bang-macros and derives in name resolution | Jonas Schievink | 2021-03-23 | 1 | -86/+79 |
| | | |||||
* | | resolver: manually traverse nested block scopes | Jonas Schievink | 2021-03-22 | 3 | -5/+32 |
| | | |||||
* | | Code review fixes | Kirill Bulatov | 2021-03-22 | 1 | -0/+2 |
| | | |||||
* | | Do not revisit recursively imported modules | Kirill Bulatov | 2021-03-21 | 1 | -7/+47 |
| | | |||||
* | | Merge #8134 | bors[bot] | 2021-03-21 | 1 | -4/+9 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8134: Correct the paths of submodules from the include! macro r=edwin0cheng a=sticnarf This PR should fix #7846. It mostly follows the instructions from @edwin0cheng in that issue. Co-authored-by: Yilin Chen <[email protected]> | ||||
| * | | check is_include_macro only when attr_path is not specified | Yilin Chen | 2021-03-21 | 1 | -4/+3 |
| | | | | | | | | | | | | Signed-off-by: Yilin Chen <[email protected]> | ||||
| * | | use the included file as the source of expanded include macro | Yilin Chen | 2021-03-21 | 1 | -2/+8 |
| | | | | | | | | | | | | Signed-off-by: Yilin Chen <[email protected]> | ||||
* | | | Merge #8135 | bors[bot] | 2021-03-21 | 2 | -2/+2 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8135: more clippy::{perf, complexity, style} fixes r=Veykril a=matthiaskrgr Co-authored-by: Matthias Krüger <[email protected]> | ||||
| * | | | clippy::complexity simplifications related to Iterators | Matthias Krüger | 2021-03-21 | 1 | -1/+1 |
| | | | | |||||
| * | | | remove more redundant clones (clippy::redundant_clone()) | Matthias Krüger | 2021-03-21 | 1 | -1/+1 |
| |/ / | |||||
* | | | Merge #8128 | bors[bot] | 2021-03-21 | 2 | -6/+28 |
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | 8128: Expand legacy-scoped macro during collection r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8120 Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | | Expand legacy-scoped macro during collection | Jonas Schievink | 2021-03-21 | 2 | -6/+28 |
| |/ | |||||
* | | Fix incorrect scoping in while expressions | Lukas Wirth | 2021-03-21 | 1 | -1/+1 |
| | | |||||
* | | Track labels in scopes | Lukas Wirth | 2021-03-21 | 2 | -11/+52 |
|/ | |||||
* | Add `AttrsWithOwner` and clean up `source_map` | Jonas Schievink | 2021-03-19 | 2 | -126/+192 |
| | |||||
* | Return `Either` from `MacroDefId::ast_id` | Jonas Schievink | 2021-03-19 | 1 | -3/+4 |
| | |||||
* | Fix handling of `#![cfg]` in outline module file | Jonas Schievink | 2021-03-19 | 2 | -21/+48 |
| | |||||
* | Add builtin macro-like attributes | Jonas Schievink | 2021-03-19 | 1 | -2/+5 |
| | |||||
* | Rename derive-specific APIs | Jonas Schievink | 2021-03-19 | 3 | -8/+8 |
| | |||||
* | Merge #8097 | bors[bot] | 2021-03-19 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | 8097: Parse extended_key_value_attributes r=jonas-schievink a=Veykril Companion PR https://github.com/rust-analyzer/ungrammar/pull/31 Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Parse extended_key_value_attributes | Lukas Wirth | 2021-03-19 | 1 | -1/+1 |
| | | |||||
* | | Document fields of `ModuleId` | Jonas Schievink | 2021-03-18 | 1 | -1/+5 |
| | | |||||
* | | Merge #8083 | bors[bot] | 2021-03-18 | 1 | -16/+48 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8083: Track source file IDs in source mapping of Attrs r=jonas-schievink a=Veykril Fixes the panics/incorrect injection highlighting of outline module declarations until we figure out a nicer source mapping strategy for attributes. Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | | Track source file IDs in source mapping of Attrs | Lukas Wirth | 2021-03-18 | 1 | -16/+48 |
| | | | |||||
* | | | Add test | Jonas Schievink | 2021-03-18 | 1 | -0/+26 |
| | | | |||||
* | | | Record custom derive helpers in `DefMap` | Jonas Schievink | 2021-03-18 | 3 | -25/+91 |
| | | | | | | | | | | | | Also clean up proc macro attribute parsing a bit |