Daniel McNab
ebbcf9f458
Fix inference with conditionally compiled tails
...
Fixes #8378
2021-05-03 14:13:05 +01:00
Jonas Schievink
e9752308bb
infer: remove record_field_resolutions
field
...
It stores no useful data, since we can derive all fields from
`variant_resolutions`
2021-04-06 17:59:18 +02:00
Lukas Wirth
96756f1b1d
Add Lifetime to TyKind::Ref
2021-04-06 10:45:30 +02:00
Florian Diebold
69714d36e6
Hide Binders internals more
2021-04-05 19:19:18 +02:00
Florian Diebold
b0fe3d929f
Add TyBuilder::unit() and TyExt::is_unit()
2021-04-04 13:16:38 +02:00
Florian Diebold
c551604b5a
Rename Ty::interned to Ty::kind
...
... since that's the actual method on Chalk side that matches the signature.
2021-04-03 13:08:29 +02:00
Florian Diebold
e480d81988
Introduce GenericArg
like in Chalk
...
Plus some more adaptations to Substitution.
Lots of `assert_ty_ref` that we should revisit when introducing
lifetime/const parameters.
2021-04-03 11:17:13 +02:00
Jonas Schievink
9436436d20
Improve test
2021-03-17 18:35:17 +01:00
Jonas Schievink
6356ea24dd
Add test for #[cfg]
on function params
2021-03-17 18:28:27 +01:00
Jonas Schievink
cb530e7c97
Handle #[cfg]
on call arguments
2021-03-17 15:10:46 +01:00
Matthias Krüger
966c23f529
avoid converting types into themselves via .into() (clippy::useless-conversion)
...
example: let x: String = String::from("hello world").into();
2021-03-17 01:27:56 +01:00
Florian Diebold
6c32bbf3ca
Separate Ty
and TyKind
like in Chalk
...
Currently `Ty` just wraps `TyKind`, but this allows us to change most
places to already use `intern` / `interned`.
2021-03-13 16:17:15 +01:00
Lukas Wirth
50e01d2bc7
Use chalk_ir::AdtId
2021-03-04 19:38:02 +01:00
Lukas Wirth
a3f5491a1a
Inline TypeCtor into Ty
2021-02-28 19:13:37 +01:00
Phil Ellison
65a5ea581d
Update tests to register the required standard library types
2021-01-23 07:40:25 +00:00
Phil Ellison
8c7ccdc29d
Identify methods using functions ids rather than string names
2021-01-23 07:40:25 +00:00
Phil Ellison
1ff860b93c
Implement fix, add tests
2021-01-23 07:40:25 +00:00
Phil Ellison
1316422a7c
Add diagnostic for filter_map followed by next
2021-01-23 07:40:24 +00:00
Vincent Esche
c8c2bd097a
Fixed typos in local bindings
2021-01-09 15:41:29 +01:00
Phil Ellison
554ee6ea02
cargo fmt
2021-01-07 19:01:33 +00:00
Phil Ellison
b2dbe6e43a
Add fix to wrap return expression in Some
2021-01-07 19:01:33 +00:00
Florian Diebold
29acd39800
Don't emit arg count diagnostics for method calls with unknown receiver
...
Fixes #7098 .
2021-01-01 20:49:18 +01:00
ivan770
bbb0bc7b04
Cast to ExprStmt, style fixes
2020-12-10 18:10:39 +02:00
ivan770
35006eba79
Apply rustfmt changes
2020-12-09 08:22:13 +00:00
ivan770
86c183716c
Apply suggestions from code review
...
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-09 10:17:28 +02:00
ivan770
7738467e0a
Format code
2020-12-08 19:25:21 +00:00
ivan770
581567a4c8
Remove use via super
2020-12-08 20:50:13 +02:00
ivan770
cb66bb8ff9
Remove this semicolon
2020-12-08 20:47:20 +02:00
Aleksey Kladov
b610118453
Deny unreachable-pub
...
It's very useful when `pub` is equivalent to "this is crate's public
API", let's enforce this!
Ideally, we should enforce it for local `cargo test`, and only during
CI, but that needs https://github.com/rust-lang/cargo/issues/5034 .
2020-11-02 14:07:08 +01:00
CAD97
c822bb68ce
Fix missing match arm false error on unknown type
2020-08-17 13:27:12 -04:00
Aleksey Kladov
6a77ec7bbe
Rename ra_hir_ty -> hir_ty
2020-08-13 16:35:29 +02:00