aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Refactor the import locationKirill Bulatov2021-03-083-162/+126
|
* Do not propose already imported importsKirill Bulatov2021-03-084-27/+45
|
* Properly handle turbofishes in qualifiersKirill Bulatov2021-03-085-8/+14
|
* Fix some testsKirill Bulatov2021-03-084-49/+143
|
* Return more data about located importsKirill Bulatov2021-03-089-125/+172
|
* Draft the qualifier import resolutionKirill Bulatov2021-03-084-43/+224
|
* Filter out path items by the qualifierKirill Bulatov2021-03-081-24/+15
|
* SimplifyKirill Bulatov2021-03-081-64/+37
|
* Find the code to changeKirill Bulatov2021-03-081-55/+130
|
* Test and initial refactoringKirill Bulatov2021-03-084-125/+101
|
* Use upstream cov-markLaurențiu Nicola2021-03-0899-513/+338
|
* Hygiene is an internal implementation detail of the compilerAleksey Kladov2021-03-083-6/+11
|
* Remove useless code_model indirectionAleksey Kladov2021-03-085-2132/+2120
|
* Cleanup the error messageAleksey Kladov2021-03-081-1/+1
|
* Make `code generation` just workAleksey Kladov2021-03-082-3/+6
| | | | | Contributors don't need to learn about `cargo xtask codegen` if `cargo test` just does the right thing.
* Use the same name in xtask and test utilsAleksey Kladov2021-03-084-12/+12
|
* Generalize file ensuring infrastructureAleksey Kladov2021-03-082-6/+38
|
* Don't punish every crate with serde-jsonAleksey Kladov2021-03-083-98/+96
|
* Merge #7891bors[bot]2021-03-083-52/+112
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7891: Improve handling of rustc_private r=matklad a=DJMcNab This PR changes how `rust-analyzer` handles `rustc_private`. In particular, packages now must opt-in to using `rustc_private` in `Cargo.toml`, by adding: ```toml [package.metadata.rust-analyzer] rustc_private=true ``` This means that depending on crates which also use `rustc_private` will be significantly improved, since their dependencies on the `rustc_private` crates will be resolved properly. A similar approach could be used in #6714 to allow annotating that your package uses the `test` crate, although I have not yet handled that in this PR. Additionally, we now only index the crates which are transitive dependencies of `rustc_driver` in the `rustcSource` directory. This should not cause any change in behaviour when using `rustcSource: "discover"`, as the source used then will only be a partial clone. However, if `rustcSource` pointing at a local checkout of rustc, this should significantly improve the memory usage and lower indexing time. This is because we avoids indexing all crates in `src/tools/`, which includes `rust-analyzer` itself. Furthermore, we also prefer named dependencies over dependencies from `rustcSource`. This ensures that feature resolution for crates which are depended on by both `rustc` and your crate uses the correct set for analysing your crate. See also [introductory zulip stream](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Fixed.20crate.20graphs.20and.20optional.20builtin.20crates/near/229086673) I have tested this in [priroda](https://github.com/oli-obk/priroda/), and it provides a significant improvement to the development experience (once I give `miri` the required data in `Cargo.toml`) Todo: - [ ] Documentation This is ready to review, and I will add documentation if this would be accepted (or if I get time to do so anyway) Co-authored-by: Daniel McNab <[email protected]>
| * Document rustc_private in metadataDaniel McNab2021-03-081-1/+2
| |
| * Never run cargo check on the rustc sourceDaniel McNab2021-03-081-4/+1
| |
| * Only show directory nameDaniel McNab2021-03-081-1/+1
| |
| * Revert "Support disabling rustc build scripts"Daniel McNab2021-03-088-53/+12
| | | | | | | | This reverts commit ddce6bb282764692d53b719bff4c37e3512d4556.
| * Support disabling rustc build scriptsDaniel McNab2021-03-088-12/+54
| |
| * Fix the commentDaniel McNab2021-03-071-4/+4
| | | | | | | | It's worse than I thought...
| * Extract the large nested block into a functionDaniel McNab2021-03-071-72/+98
| | | | | | | | | | Also add some more detailed comments Extract into function deleted the previous comments
| * Require opt in to rustc_privateDaniel McNab2021-03-072-70/+70
| | | | | | | | | | | | This gives the advantage that A future extension would be to check for `feature(rustc_private)` instead
| * Don't double analyse the same crateDaniel McNab2021-03-071-1/+6
| |
| * Update crate graph to only use subcrates of rustc_driverDaniel McNab2021-03-071-38/+38
| |
| * If a manual dependency exists, don't overwriteDaniel McNab2021-03-061-1/+8
| | | | | | | | | | | | | | | | This is a hack to work around miri being included in our analysis of rustc-dev Really, we should probably use an include set of the actual root libraries I'm not sure how those are determined however
| * Implement opt-in (and opt-out) rustc_privateDaniel McNab2021-03-062-3/+26
| |
* | Cargo updatekjeremy2021-03-081-3/+3
| | | | | | | | Chalk changes just a version # bump. There are no actual commits.
* | Make code completion "just work" in more casesAleksey Kladov2021-03-081-1/+1
| |
* | Do not process indexed values more than onceKirill Bulatov2021-03-081-29/+31
| |
* | Deduplicate search_dependencies resultsKirill Bulatov2021-03-081-18/+19
| |
* | Merge #7889bors[bot]2021-03-0712-23/+72
|\ \ | | | | | | | | | | | | | | | | | | | | | 7889: Make group imports configurable r=lnicola a=asv1 Co-authored-by: asv <[email protected]>
| * | Make group imports configurableasv2021-03-0712-23/+72
| |/
* | Merge #7895bors[bot]2021-03-072-8/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7895: :arrow_up: xflags r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: xflagsAleksey Kladov2021-03-072-8/+9
| | |
* | | Merge #7892bors[bot]2021-03-074-62/+89
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7892: Fix TokenStream::from_str for input consisting of a single group with delimiter r=edwin0cheng a=kevinmehall TokenStream holds a `tt::Subtree` but assumes its `delimiter` is always `None`. In particular, the iterator implementation iterates over the inner `token_trees` and ignores the `delimiter`. However, `TokenStream::from_str` violated this assumption when the input consists of a single group by producing a Subtree with an outer delimiter, which was ignored as seen by a procedural macro. `tt::Subtree` is just `pub delimiter: Option<Delimiter>, pub token_trees: Vec<TokenTree>`, so a Subtree that is statically guaranteed not to have a delimiter is just `Vec<TokenTree>`. Fixes #7810 Fixes #7875 Co-authored-by: Kevin Mehall <[email protected]>
| * | | Move TokenStream::to_string helpers inside the methodKevin Mehall2021-03-061-30/+34
| | | |
| * | | Make a placeholder panic message explain its purposeKevin Mehall2021-03-061-1/+1
| | | |
| * | | Refactor TokenStream to hold Vec<TokenTree> instead of tt::SubtreeKevin Mehall2021-03-063-65/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `TokenStream` assumes that its subtree's delimeter is `None`, and this should be encoded in the type system instead of having a delimiter field that is mostly ignored. `tt::Subtree` is just `pub delimiter: Option<Delimiter>, pub token_trees: Vec<TokenTree>`, so a Subtree that is statically guaranteed not to have a delimiter is just Vec<TokenTree>.
| * | | Fix TokenStream::from_str for input consisting of a single GroupKevin Mehall2021-03-061-2/+34
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TokenStream holds a `tt::Subtree` but assumes its `delimiter` is always `None`. In particular, the iterator implementation iterates over the inner `token_trees` and ignores the `delimiter`. However, `TokenStream::from_str` violated this assumption when the input consists of a single Group by producing a Subtree with an outer delimiter, which was ignored as seen by a procedural macro. In this case, wrap an extra level of Subtree around it. Fixes #7810 Fixes #7875
* | | Rename a few `crate_def_map`s to `def_map`Jonas Schievink2021-03-064-19/+19
| | | | | | | | | | | | These could all be block `DefMap`s instead of crate-level `DefMap`s
* | | Merge #7896bors[bot]2021-03-061-59/+77
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7896: Only replace quotes in replace_string_with_char assist r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Only replace quotes in replace_string_with_char assistLukas Wirth2021-03-061-59/+77
| | | |
* | | | Merge #7800bors[bot]2021-03-063-0/+407
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 7800: [WIP] 7708: Initial implementation of generate Default assist. r=Veykril a=chetankhilosiya The Generate Default impl from new function. Co-authored-by: Chetan Khilosiya <[email protected]>
| * | | 7708: rust ideomatic code fixes.Chetan Khilosiya2021-03-061-9/+11
| | | |
| * | | 7708: handle both FamousDefs fixture and plain code.Chetan Khilosiya2021-03-061-8/+18
| | | | | | | | | | | | | | | | Also fix typo in example.