aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Attempt to implement typed accessorsGeoffry Song2019-11-154-8/+50
|
* Move inclusive range check to validationGeoffry Song2019-11-155-11/+33
|
* Fix parsing of "postfix" range expressions.Geoffry Song2019-11-157-30/+142
| | | | | | | | | | Right now they are handled in `postfix_dot_expr`, but that doesn't allow it to correctly handle precedence. Integrate it more tightly with the Pratt parser instead. Also includes a drive-by fix for parsing `match .. {}`. Fixes #2242.
* Merge #2165bors[bot]2019-11-154-0/+424
|\ | | | | | | | | | | | | | | | | | | 2165: ra_assists: Add add_new assist r=matklad a=rep-nop Adds a new assist to autogenerate a new fn based on the selected struct, excluding tuple structs and unions. The fn will inherit the same visibility as the struct and the assist will attempt to reuse any existing impl blocks that exist at the same level of struct. Not marking this as closing #1644 since there's a part 2 of adding autocompletion for when someone starts typing `[pub ]fn new(...` Co-authored-by: Wesley Norris <[email protected]>
| * Add add_new assistWesley Norris2019-11-094-0/+424
| | | | | | | | | | | | | | Adds a new assist to autogenerate a new fn based on the selected struct, excluding tuple structs and unions. The fn will inherit the same visibility as the struct and the assist will attempt to reuse any existing impl blocks that exist at the same level of struct.
* | Merge #2249bors[bot]2019-11-151-111/+93
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2249: Cleanup hover r=matklad a=kjeremy Take advantage of classify_name to consolidate multiple hover paths. This isn't quite as clean as I want it to be (`no_fallback` bool is wonky). There's a relationship between `HoverResult` being empty and the range that is a little warty. Also I noticed that HoverResults are always marked as exact and have been for quite a while... maybe that should be removed in another PR. Co-authored-by: Jeremy Kolb <[email protected]>
| * | Cleanup hoverJeremy Kolb2019-11-151-111/+93
| | | | | | | | | | | | Take advantage of classify_name
* | | Merge #2246bors[bot]2019-11-152-20/+20
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 2246: Normalize Line Endings r=matklad a=kjeremy Line endings with git always confuse me so let's be explicit. In doing this I ran `git add --renormalize .` on my repo per https://help.github.com/en/github/using-git/configuring-git-to-handle-line-endings and it converted a bunch of files. I then backed it all out and ran it again and only this one `Cargo.toml` file changed so I suspect line endings are just weird. Co-authored-by: kjeremy <[email protected]>
| * | Renormalize line endingskjeremy2019-11-151-19/+19
| | |
| * | Set text to autodetect and use LFkjeremy2019-11-151-0/+1
| | |
| * | Remove snapshots since we no long commit themkjeremy2019-11-151-1/+0
|/ /
* | Merge #2245bors[bot]2019-11-143-20/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | 2245: Even if jemalloc feature is used do not use it on msvc r=matklad a=kjeremy Fixes #2233 Co-authored-by: kjeremy <[email protected]>
| * | Even if jemalloc feature is used do not use it on msvckjeremy2019-11-143-20/+22
|/ / | | | | | | Fixes #2233
* | Merge #2243bors[bot]2019-11-1414-94/+129
|\ \ | | | | | | | | | | | | | | | | | | | | | 2243: Move body queries to hir_def r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Move body queries to hir_defAleksey Kladov2019-11-1412-75/+110
| | |
| * | Simplify parsingAleksey Kladov2019-11-142-19/+19
|/ /
* | Merge #2240bors[bot]2019-11-147-368/+360
|\ \ | | | | | | | | | | | | | | | | | | | | | 2240: Move scopes to hir_def r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Move scopes to hir_defAleksey Kladov2019-11-147-368/+360
| | |
* | | Merge #2238bors[bot]2019-11-142-10/+7
|\| | | | | | | | | | | | | | | | | | | | | | | 2238: Slightly better naming r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Slightly better namingAleksey Kladov2019-11-142-10/+7
|/ /
* | Merge #2237bors[bot]2019-11-143-13/+25
|\ \ | | | | | | | | | | | | | | | | | | | | | 2237: Revert #2230 r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Revert #2230Aleksey Kladov2019-11-143-13/+25
|/ / | | | | | | | | Looks like autocfg tries to do slightly more than we need (see #2231), so let's stick with minimal home-grown solution.
* | Merge #2235bors[bot]2019-11-147-100/+156
|\ \ | | | | | | | | | | | | | | | | | | | | | 2235: Handle macro-generated expressions slightly less wrong r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Handle macro-generated expressions slightly less wrongAleksey Kladov2019-11-146-48/+62
| | |
| * | Move expansion to ExpanderAleksey Kladov2019-11-142-27/+41
| | |
| * | Move parse_path to ExpanderAleksey Kladov2019-11-142-10/+10
| | |
| * | Expansion stack scaffoldAleksey Kladov2019-11-142-8/+38
| | |
| * | Add Expader::to_sourceAleksey Kladov2019-11-142-10/+8
| | |
| * | Move original_file to ExpanderAleksey Kladov2019-11-142-9/+11
| | |
| * | Rename MacroResolver -> ExpanderAleksey Kladov2019-11-143-29/+25
| | |
| * | Move current file to MacroResolverAleksey Kladov2019-11-143-21/+27
| | |
| * | Reduce visibilityAleksey Kladov2019-11-141-5/+1
| | |
* | | Merge #2234bors[bot]2019-11-141-14/+9
|\| | | | | | | | | | | | | | | | | | | | | | | 2234: Normalize data r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Normalize dataAleksey Kladov2019-11-141-14/+9
|/ / | | | | | | No need to store derivable info
* | Merge #2232bors[bot]2019-11-137-29/+36
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2232: Use anyhow::Result in xtask, add contexts r=matklad a=killercup This builds on #2231 but was actually done before that. You see, the cause for #2231 was that I got this error message: Error: Error { kind: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }) } Just switching to `anyhow::Result` got me stack traces (when setting `RUST_LIB_BACKTRACE=1`) that at least showed stack backtrace: 0: std::backtrace::Backtrace::create 1: std::backtrace::Backtrace::capture 2: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from 3: xtask::install_server 4: xtask::install 5: xtask::main 6: std::rt::lang_start::{{closure}} 7: std::panicking::try::do_call 8: __rust_maybe_catch_panic 9: std::rt::lang_start_internal 10: std::rt::lang_start 11: main With the added contexts (not at all exhaustive), the error became Error: install server Caused by: 0: build AutoCfg with target directory 1: No such file or directory (os error 2) Since anyhow is such a small thing (no new transitive dependencies!), and in general gives you `Result<T, Box<dyn Error>>` on steroids, I think this a nice small change. The only slightly annoying thing was to replace all the `Err(format!(…))?` calls (haven't even looked at whether we can make it support wrapping strings though), but the `bail!` macro is shorter anyway :) Co-authored-by: Pascal Hertleif <[email protected]>
| * | Use anyhow::Result in xtask, add contextsPascal Hertleif2019-11-137-29/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This builds on #2231 but was actually done before that. You see, the cause for #2231 was that I got this error message: Error: Error { kind: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }) } Just switching to `anyhow::Result` got me stack traces (when setting `RUST_LIB_BACKTRACE=1`) that at least showed stack backtrace: 0: std::backtrace::Backtrace::create 1: std::backtrace::Backtrace::capture 2: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from 3: xtask::install_server 4: xtask::install 5: xtask::main 6: std::rt::lang_start::{{closure}} 7: std::panicking::try::do_call 8: __rust_maybe_catch_panic 9: std::rt::lang_start_internal 10: std::rt::lang_start 11: main With the added contexts (not at all exhaustive), the error became Error: install server Caused by: 0: build AutoCfg with target directory 1: No such file or directory (os error 2) Since anyhow is such a small thing (no new transitive dependencies!), and in general gives you `Result<T, Box<dyn Error>>` on steroids, I think this a nice small change. The only slightly annoying thing was to replace all the `Err(format!(…))?` calls (haven't even looked at whether we can make it support wrapping strings though), but the `bail!` macro is shorter anyway :)
* | | Merge #2231bors[bot]2019-11-131-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | 2231: Allow usage of CARGO_TARGET_DIR env var r=matklad a=killercup Co-authored-by: Pascal Hertleif <[email protected]>
| * | Allow usage of CARGO_TARGET_DIR env varPascal Hertleif2019-11-131-1/+2
|/ /
* | Merge #2230bors[bot]2019-11-133-25/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | 2230: Use autocfg to determine rust version r=matklad a=kjeremy Fixes #2229 Co-authored-by: kjeremy <[email protected]>
| * | Use autocfg to determine rust versionkjeremy2019-11-133-25/+12
|/ /
* | Merge #2228bors[bot]2019-11-131-30/+30
|\ \ | | | | | | | | | | | | | | | | | | | | | 2228: Update Crates r=matklad a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | Update CratesJeremy Kolb2019-11-131-30/+30
|/ /
* | Merge #2226bors[bot]2019-11-134-71/+132
|\ \ | | | | | | | | | | | | | | | | | | | | | 2226: Use strongly-typed ast building for early-return assist r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Make make:: builders slightly more convenientAleksey Kladov2019-11-132-9/+12
| | |
| * | Use strongly-typed ast building for early-return assistAleksey Kladov2019-11-132-45/+102
| | |
| * | Add a bit of typesAleksey Kladov2019-11-131-5/+5
| | |
| * | Minor cleanupAleksey Kladov2019-11-132-20/+21
| | |
* | | Merge #2225bors[bot]2019-11-137-70/+55
|\| | | | | | | | | | | | | | | | | | | | | | | 2225: Reduce duplication between uncertain floats & ints r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Reduce duplication between uncertain floats & intsAleksey Kladov2019-11-137-70/+55
|/ /
* | Merge #2223bors[bot]2019-11-128-732/+765
|\ \ | | | | | | | | | | | | | | | | | | | | | 2223: Move expression lowering to hir_def r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>