aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Handle generic args for method callsFlorian Diebold2019-02-166-11/+50
|
* Handle impl generics in method callsFlorian Diebold2019-02-167-77/+122
|
* Resolve impl generic paramsFlorian Diebold2019-02-161-1/+3
|
* Add generic params to impl blocksFlorian Diebold2019-02-164-9/+16
|
* Add a test for impl genericsFlorian Diebold2019-02-162-0/+71
|
* Merge #842bors[bot]2019-02-169-77/+65
|\ | | | | | | | | | | | | | | | | | | | | 842: Turn ImplBlock into a copy type just containing IDs r=matklad a=flodiebold This makes it more like the other code model types. Also make Module::definition_source/declaration_source return HirFileIds, to make them more like the other source functions. Co-authored-by: Florian Diebold <[email protected]>
| * Turn ImplBlock into a copy type just containing IDsFlorian Diebold2019-02-169-77/+65
|/ | | | | | | This makes it more like the other code model types. Also make Module::definition_source/declaration_source return HirFileIds, to make them more like the other source functions.
* Merge #841bors[bot]2019-02-161-0/+139
|\ | | | | | | | | | | | | | | | | 841: Add my emacs configuration r=matklad a=flodiebold I cleaned up and extended my custom emacs code for RA a bit. This relies on emacs-lsp instead of eglot, so I didn't want to just add it to the other one. It supports some more things, though. Co-authored-by: Florian Diebold <[email protected]>
| * Add my emacs configurationFlorian Diebold2019-02-161-0/+139
|/ | | | | This relies on emacs-lsp instead of eglot, so I didn't want to just add it to the other one.
* document design guidelineAleksey Kladov2019-02-161-0/+6
|
* Merge #836bors[bot]2019-02-161-18/+67
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836: auto_import: fix bug when the common path was shorter than both the c… r=matklad a=eulerdisk Fix bug when the common path was shorter than both the current use and target path. Wrong 1 (unnecessary self) ``` use std::fmt::nested::Debug; std::fmt::Display<|> ``` ---> ``` use std::fmt::{ self, Display, nested::Debug}; Display<|> ``` Wrong 2 (unnecessary, Debug disappear!!) ``` use std::fmt::Debug; std::fmt::nested::Display ``` --> ``` use std::fmt::Debug::{ self, nested::Display, }; Display<|> ``` Co-authored-by: Andrea Pretto <[email protected]>
| * auto_import: fix bug when the common path was shorter than both the current ↵Andrea Pretto2019-02-141-18/+67
| | | | | | | | | | | | use and target path. Shorter test names.
* | Merge #838bors[bot]2019-02-151-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 838: Dont slow down everyone else's testing (especially the CI) just for Mac OS X r=matklad a=pnkfelix The allowance for up to 7 events, and thus requiring anyone with fewer than 7 events to wait for the 3 second timeout, is only relevant to fsevents (i.e. Mac OS X) Co-authored-by: Felix S. Klock II <[email protected]>
| * | Dont slow down everyone else's testing (especially the CI's Linux) just for ↵Felix S. Klock II2019-02-151-1/+1
|/ / | | | | | | | | | | | | | | OS X. Namely, the allowance for up to 7 events, and thus requiring anyone with fewer than 7 events to wait for the 3 second timeout, is only relevant to fsevents (i.e. Mac OS X)
* | Merge #837bors[bot]2019-02-151-9/+67
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 837: Generalize vfs.rs test to address fsevents timing-dependent behavior. r=matklad a=pnkfelix Generalize `tests/vfs.rs` processing to address wildly-varying timing-dependent behavior from fsevents (i.e. on Mac OS X). Fix #734 Co-authored-by: Felix S. Klock II <[email protected]>
| * | Generalize `tests/vfs.rs` processing to address wildly-varying ↵Felix S. Klock II2019-02-151-9/+67
|/ / | | | | | | time-dependent behavior on Mac OS X.
* | Merge #830bors[bot]2019-02-141-1/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 830: Fix test_vfs_works failing on Windows due to extra Write events r=pnkfelix a=vipentti On Windows `notify` generates extra `Write` events for folders, which caused `process_tasks` to not handle all tasks generated on Windows. This fixes #827 Co-authored-by: Ville Penttinen <[email protected]>
| * Fix test_vfs_works failing on Windows due to extra Write eventsVille Penttinen2019-02-141-1/+3
| | | | | | | | | | | | | | On Windows `notify` generates extra `Write` events for folders, which caused `process_tasks` to not handle all tasks generated on Windows. This fixes #827
* | Merge #834bors[bot]2019-02-142-11/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | 834: use better label for &mut ref completion r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | use better label for &mut ref completionAleksey Kladov2019-02-142-11/+11
| | |
* | | Merge #833bors[bot]2019-02-1410-153/+119
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 833: automatically wait for worker threads r=matklad a=matklad closes #817 Co-authored-by: Aleksey Kladov <[email protected]>
| * | simplifyAleksey Kladov2019-02-142-86/+71
| | |
| * | automatically wait for worker threadsAleksey Kladov2019-02-1410-152/+133
|/ / | | | | | | closes #817
* | Merge #831bors[bot]2019-02-142-13/+84
|\ \ | | | | | | | | | | | | | | | | | | | | | 831: tweak postfix completions r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | tweak postfix completionsAleksey Kladov2019-02-142-13/+60
| | | | | | | | | | | | | | | * better label * add refm for &mut
| * | add ref postfix templateAleksey Kladov2019-02-142-3/+27
| |/
* | Merge #829bors[bot]2019-02-141-15/+7
|\ \ | |/ |/| | | | | | | | | | | 829: Be precise about the argument list r=matklad a=kjeremy Fixes #812 Co-authored-by: Jeremy Kolb <[email protected]>
| * Be precise about the argument listJeremy Kolb2019-02-141-15/+7
|/ | | | Fixes #812
* Merge #825bors[bot]2019-02-141-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 825: Remove call to canonicalize in BatchDatabase::load_cargo r=matklad a=vipentti Instead of using canonicalize, we now join the given path to `std::env::current_dir()`, which either replaces the path, if the given path is absolute, or joins the paths. This fixes #821. Co-authored-by: Ville Penttinen <[email protected]>
| * Remove call to canonicalize in BatchDatabase::load_cargoVille Penttinen2019-02-141-1/+1
|/ | | | | | | | Instead of using canonicalize, we now join the given path to `std::env::current_dir()`, which either replaces the path, if the given path is absolute, or joins the paths. This fixes #821.
* Merge #818bors[bot]2019-02-131-2/+15
|\ | | | | | | | | | | | | | | | | | | 818: In `RootConfig::contains`, check against canonicalized version of root path r=matklad a=pnkfelix In `RootConfig::contains`, check against canonicalized version of root path since OS may hand us data that uses the canonical form rather than the root as specified by the user. This is a step towards a resolution of issue #734 but does not completely fix the problem there. Co-authored-by: Felix S. Klock II <[email protected]>
| * rustfmtFelix S. Klock II2019-02-131-3/+3
| |
| * In `RootConfig::contains`, check against canonicalized version of rootFelix S. Klock II2019-02-131-2/+15
| | | | | | | | | | path since OS may hand us data that uses that rather than the root as specified by the user.
* | Merge #816bors[bot]2019-02-1318-60/+399
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 816: Prelude & Edition 2015 import resolution r=matklad a=flodiebold I implemented the prelude import, but it turned out to be useless without being able to resolve any of the imports in the prelude :sweat_smile: So I had to add some edition handling and handle 2015-style imports (at least the simplified scheme proposed in rust-lang/rust#57745). So now finally `Option` resolves :smile: One remaining problem is that we don't actually know the edition for sysroot crates. They're currently hardcoded to 2015, but there's already a bunch of PRs upgrading the editions of various rustc crates, so we'll have to detect the edition somehow, or just change the hardcoding to 2018 later, I guess... ~Also currently missing is completion for prelude names, though that shouldn't be hard to add. And `Vec` still doesn't resolve, so I need to look into that.~ Co-authored-by: Florian Diebold <[email protected]>
| * | Complete names from preludeFlorian Diebold2019-02-134-5/+84
| | |
| * | Handle extern crates better, so they work correctly in 2015 editionFlorian Diebold2019-02-133-15/+55
| | | | | | | | | | | | (see the removed comment.)
| * | Make edition handling a bit nicer and allow specifying edition in ↵Florian Diebold2019-02-135-25/+28
| | | | | | | | | | | | crate_graph macro
| * | Resolve 2015 style importsFlorian Diebold2019-02-134-8/+118
| | |
| * | Keep track of crate editionFlorian Diebold2019-02-138-24/+44
| | |
| * | Import the preludeFlorian Diebold2019-02-137-12/+99
|/ /
* | Merge #813bors[bot]2019-02-134-17/+100
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 813: Add support for container_name in workspace/symbol query r=matklad a=vipentti Currently this does not fill in the container_info if a type is defined on the top level in a file. e.g. `foo.rs` ```rust enum Foo { } ``` `Foo` will have None as the container_name, however ```rust mod foo_mod { enum Foo { } } ``` `Foo` has `foo_mod` as the container_name. This closes #559 Co-authored-by: Ville Penttinen <[email protected]>
| * | Fix possible issue where unnamed is_symbol_def would pop stack wronglyVille Penttinen2019-02-131-11/+1
| | | | | | | | | | | | This removes is_symbol_def as unnecessary.
| * | Use cloned over map + cloneVille Penttinen2019-02-131-1/+1
| | |
| * | Use clone directly rather than map + cloneVille Penttinen2019-02-131-1/+1
| | |
| * | Remove unnecessary bracesVille Penttinen2019-02-131-31/+25
| | |
| * | Add support for container_name in workspace/symbol queryVille Penttinen2019-02-124-17/+116
| | |
* | | Merge #814bors[bot]2019-02-131-14/+82
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 814: auto_import: import in enclosing module by default r=matklad a=eulerdisk Simpler version of #795 Co-authored-by: Andrea Pretto <[email protected]>
| * | | auto_import: import in enclosing module instead of fileAndrea Pretto2019-02-121-4/+38
| | | |
| * | | auto_import: more tests and some refactoringsAndrea Pretto2019-02-121-12/+46
| |/ /
* | | Merge #815bors[bot]2019-02-123-2/+33
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 815: Fix another crash r=matklad a=flodiebold Found while typechecking rustc with better name resolution... `walk_mut` doing a preorder walk can lead to an infinite recursion when substituting type parameters; postorder is actually what we want. Co-authored-by: Florian Diebold <[email protected]>