Commit Graph

3880 Commits

Author SHA1 Message Date
Florian Diebold
ced971ee9f Fix crash with int vars in canonicalization 2019-05-21 20:40:29 +02:00
Florian Diebold
f613c48d2e Use fuel branch for Chalk
This makes sure we don't take too long in trait solving.
2019-05-21 20:40:29 +02:00
Aleksey Kladov
ed943adb29 re-enable chalk 2019-05-21 20:57:36 +03:00
Aleksey Kladov
26463f189f publish gen_lsp_server 0.2 2019-05-21 18:57:33 +03:00
Aleksey Kladov
9f03c07812 fix logo 2019-05-21 17:43:24 +03:00
Unreal Hoang
079ed6011a
add feature doc 2019-05-21 23:31:57 +09:00
Unreal Hoang
08e954f0fd
add assist to move arm condition to match guard 2019-05-21 23:31:51 +09:00
bors[bot]
51e82fe6d2 Merge #1299
1299: Use ThemeColor and add support for light themes r=matklad a=lnicola

Part of #1294.

- switch to `ThemeColor`
- add light and high contrast theme definitions
- highlight control flow keywords and `unsafe`


Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2019-05-21 13:58:42 +00:00
bors[bot]
c6a5d871d7 Merge #1302
1302: profile type inference r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-21 13:49:18 +00:00
Laurențiu Nicola
b08362f6d2 Address feedback 2019-05-21 16:28:10 +03:00
Aleksey Kladov
f63be06002 profile type inference 2019-05-21 16:26:13 +03:00
Aleksey Kladov
0f3e85002b profile implements query 2019-05-21 16:04:17 +03:00
bors[bot]
9fe8e56177 Merge #1301
1301: fix odrer-of-iteration bug in tests r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-21 11:53:27 +00:00
Aleksey Kladov
908c9589a8 fix odrer-of-iteration bug in tests 2019-05-21 14:51:52 +03:00
Laurențiu Nicola
9ade271a67 Use ThemeColor and add support for light themes 2019-05-21 14:19:08 +03:00
bors[bot]
772311392f Merge #1300
1300: sort hash maps for tests r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-21 11:14:54 +00:00
Aleksey Kladov
0efb5364c3 sort hash maps for tests 2019-05-21 14:14:31 +03:00
bors[bot]
8b6f02d0d6 Merge #1297
1297: mozilla is sponsoring as well r=matklad a=nikomatsakis



Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2019-05-21 10:40:33 +00:00
bors[bot]
c59a3cdb03 Merge #1296
1296: ⬆️ insta r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-21 10:28:55 +00:00
Niko Matsakis
02ecd6727a
mozilla is sponsoring as well 2019-05-21 06:27:07 -04:00
Aleksey Kladov
507c97a18c ⬆️ insta 2019-05-21 13:21:54 +03:00
bors[bot]
3db7bdb6b7 Merge #1295
1295: add _query to query functions r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-21 10:19:20 +00:00
Aleksey Kladov
69341a0bbe add _query to query functions 2019-05-21 12:44:08 +03:00
bors[bot]
eabfe3902f Merge #1293
1293: Pass `--all-targets` to `cargo watch` r=matklad a=aleksijuvani

A trivial change, but passes the `--all-targets` flag to `cargo watch`. This enables inline diagnostics for the example, bin and test targets. Previously, modifying an example would trigger a change notification for `cargo watch`, but `cargo check` does not actually check these unless either `--all-targets` or `--examples` is specified.

Co-authored-by: Aleksi Juvani <aleksi@aleksijuvani.com>
2019-05-21 07:23:21 +00:00
Aleksi Juvani
854dac335d Pass --all-targets to cargo watch 2019-05-21 09:44:28 +03:00
bors[bot]
4369c1c4a1 Merge #1291
1291: add is_union to structs AST r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-20 22:16:21 +00:00
Aleksey Kladov
765f93b8d8 add is_union to structs AST 2019-05-21 01:15:56 +03:00
Aleksey Kladov
4ca8331933 remove minor code duplication 2019-05-21 01:02:29 +03:00
bors[bot]
9383ae720b Merge #1289
1289: simplify r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-20 20:02:18 +00:00
Aleksey Kladov
9680ae865e simplify 2019-05-20 23:01:49 +03:00
bors[bot]
11742e3371 Merge #1287
1287: Add support of matching literal in mbe r=matklad a=edwin0cheng

This PR adds support of matching literal in mbe , which used in our `T` macro :

```rust
macro_rules! foo {
    ('(') => {
        fn foo() {}
    }
}
```

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-05-20 19:27:05 +00:00
bors[bot]
c8f93ff58c Merge #1288
1288: output the progress for real r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-20 18:21:18 +00:00
Aleksey Kladov
87316db0b1 output the progress for real 2019-05-20 21:20:52 +03:00
Edwin Cheng
ad9d2012de Fix match literal 2019-05-20 18:29:02 +08:00
bors[bot]
3894eb77d8 Merge #1286
1286: Add infer for generic default type r=flodiebold a=edwin0cheng

This PR add infer support for generic default type:

```
struct Gen<T=u32> {
    val: T
}
```

* add the (unresolved) defaults from the definition to GenericParams
* add a query generic_defaults that resolves those defaults to types and returns a Substs
* add the missing type in `substs_from_path_segment`
* add tests

based on the idea in this [comment](https://github.com/rust-analyzer/rust-analyzer/issues/1099#issuecomment-484206279)

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-05-20 09:52:15 +00:00
Edwin Cheng
3fc344b9f1 Use normal iteration instead of walk_mut 2019-05-20 17:48:58 +08:00
Edwin Cheng
d4dc879415 Add infer for generic default type 2019-05-19 21:08:16 +08:00
Edwin Cheng
e74d8f148b Add default type to GenericParam 2019-05-19 17:44:29 +08:00
bors[bot]
5edddae523 Merge #1284
1284: Assert that DB is unwind-safe, instead of proving r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-18 10:06:21 +00:00
Aleksey Kladov
fcffa6ba6b Assert that DB is unwind-safe, instead of proving
Unfortunately, that `: RefUnwindSafe` bound gives rustc a hard time,
so let's remove it for know.

See

* https://github.com/rust-analyzer/rust-analyzer/issues/1283
* https://github.com/rust-lang/rust/pull/60444
* https://github.com/rust-lang/rust/issues/58291

closes #1283
2019-05-18 13:05:42 +03:00
Unreal Hoang
99ad6143cd
rename 2019-05-16 12:53:52 +09:00
bors[bot]
f7112371ee Merge #1280
1280: ⬆️ text_unit r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-15 16:21:45 +00:00
Aleksey Kladov
e29a58995b ⬆️ text_unit 2019-05-15 19:19:05 +03:00
bors[bot]
ec7d2f64ad Merge #1278
1278: Apply T! macro where posible r=matklad a=pasa

apply T! macro implemented in #1248

Co-authored-by: Sergey Parilin <sergey.parilin@fxdd.com>
2019-05-15 12:45:58 +00:00
Sergey Parilin
993abedd77 apply T! macro where it is possible 2019-05-15 15:35:47 +03:00
Sergey Parilin
d77175ce28 fixed macro for brackets 2019-05-15 12:34:48 +03:00
bors[bot]
64ab5ab10d Merge #1273
1273: show current function in analysis-stats progress bar r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-14 06:59:09 +00:00
Aleksey Kladov
d4b1e958c5 show current function in analysis-stats progress bar 2019-05-14 09:58:41 +03:00
bors[bot]
c417c77b68 Merge #1267
1267: Macro expand to r=edwin0cheng a=matklad

closes #1264 

The core problem this PR is trying to wrangle is that macros can expand to different stuffs, depending on context. 

That is, `foo!()` on the top-level expands to a list of items, but the same `foo!()` in expression position expands to expression.

Our current `hir_parse(HirFileId) -> TreeArc<SourceFile>` does not really support this. 

So, the plan is to change `hir_parse` to untyped inreface (`TreeArc<Syntaxnode>`), and add `expands_to` field to `MacroCallLoc`, such that the *target* of macro expansion is selected by the calling code and is part of macro id. 

This unfortunately looses some type-safety :( 


Moreover, this doesn't really fix #1264 by itself, because we die due to some other error inside macro expansion: expander fails to produce a tree with a single root, which trips assert inside rowan.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-14 06:12:09 +00:00
Aleksey Kladov
caa8663c08 allow expanding expressions 2019-05-14 09:03:43 +03:00