Lukas Wirth
798990bf33
fix: Add missing autoborrow adjustment for index expressions
2023-03-29 16:11:48 +02:00
Lukas Wirth
bea1c71f83
Use struct_tail_without_normalization in Expectation::rvalue_hint
2023-03-29 14:49:06 +02:00
bors
7a98e24777
Auto merge of #14431 - Veykril:simplify, r=Veykril
...
minor: Simplify
2023-03-29 07:28:42 +00:00
Lukas Wirth
8ea1afce28
Simplify
2023-03-28 16:32:26 +02:00
hkalbasi
d0d4245a74
use FxHashSet
instead of FxHashMap
2023-03-28 15:59:16 +03:30
hkalbasi
d5c7ec499a
fix stack overflow in is_ty_uninhabited_from
2023-03-28 15:45:35 +03:30
Lukas Wirth
342fd2b9f3
fix: Properly handle local trait impls
2023-03-28 08:34:29 +02:00
bors
3321799e8f
Auto merge of #14368 - HKalbasi:mir, r=HKalbasi
...
MIR episode 3
This PR adds lowering for try operator and overloaded dereference, and adds evaluating support for function pointers and trait objects. It also adds a flag to `analysis-stats` to show percentage of functions that it fails to emit mir for them, which is currently `20%` (which is somehow lying, as most of the supported `80%` are tests). The most offenders are closure (1975 items) and overloaded index (415 items). I will try to add overloaded index before monday to have it in this PR, and tackle the closure in the next episode.
2023-03-21 19:57:27 +00:00
hkalbasi
8a3ad7c3d5
Support evaluating inherent associated constants with generics
2023-03-21 02:20:30 +03:30
hkalbasi
3303a6eff5
Implement some intrinsics
2023-03-20 21:48:01 +03:30
hkalbasi
8e73ea5253
Desugar try blocks
2023-03-19 13:02:51 +03:30
Ryo Yoshida
e12460bbca
Add regression test
...
so that we can catch regressions when we move away from chalk.
2023-03-19 16:58:10 +09:00
Ryo Yoshida
1d1a86f350
Bump chalk to 0.89
2023-03-19 16:45:26 +09:00
hkalbasi
453ae2e00e
Support range MIR lowering
2023-03-18 02:06:36 +03:30
hkalbasi
9ad83deecc
Support overloaded index MIR lowering
2023-03-17 19:10:25 +03:30
hkalbasi
eb4939e217
Support overloaded deref MIR lowering
2023-03-17 14:02:55 +03:30
hkalbasi
9564773d5e
Improve pattern matching MIR lowering
2023-03-17 13:08:36 +03:30
hkalbasi
051dae2221
Support record pattern MIR lowering
2023-03-17 13:08:36 +03:30
hkalbasi
513e340bd3
implement transmute intrinsic
2023-03-17 13:08:36 +03:30
hkalbasi
7525a38af5
Support evaluating dyn Trait
methods
2023-03-17 13:08:35 +03:30
hkalbasi
a063f000ff
Support function pointer MIR lowering
2023-03-17 13:08:35 +03:30
hkalbasi
b7b9ae59a0
desugar ? operator
2023-03-17 13:08:35 +03:30
Lukas Wirth
3bf07a5f04
Simplify
2023-03-15 13:54:06 +01:00
Zachary S
af175ddcdc
Add test for async closure types.
...
(rebased onto 6dfd8ae
)
2023-03-15 13:10:35 +01:00
Zachary S
6746a08b44
fix: Fix return type of async closures.
...
(rebased onto 6dfd8ae
)
2023-03-15 13:10:00 +01:00
Lukas Wirth
510e4b4029
Simplify
2023-03-14 20:22:11 +01:00
Lukas Wirth
f34b2469bd
lint incoherent inherent impls
2023-03-14 19:20:44 +01:00
bors
6a98e961f8
Auto merge of #14340 - Veykril:expand, r=lnicola
...
internal: Rename AstDatabase to ExpandDatabase
2023-03-14 09:37:54 +00:00
hkalbasi
d7da9e64d1
Add storage dead for let bindings without initializer
2023-03-14 12:15:16 +03:30
Lukas Wirth
9fb9ee3b6a
internal: Rename AstDatabase to ExpandDatabase
2023-03-13 16:35:41 +01:00
Laurențiu Nicola
bdbd2a59b0
Merge branch 'master' into sync-from-rust
2023-03-13 10:21:53 +02:00
bors
70e10deee8
Auto merge of #14326 - iDawer:refactor, r=Veykril
...
internal: Rename `hir::diagnostics::MissingMatchArms.match_expr` field
`hir::diagnostics::MissingMatchArms.match_expr` had confusing name: it is pointing to scrutinee expression. Renamed to `scrutinee_expr` and used better fitting type for it.
Also small refactorings/cleanup.
2023-03-11 07:36:00 +00:00
iDawer
17b9d35b31
Refactor: Distinguish scrutinee expression from match expression
2023-03-10 18:43:50 +05:00
iDawer
8f189f62c6
Remove unnecessary argument
2023-03-10 16:35:04 +05:00
iDawer
c38aa5f4f0
Use anonymous lifetimes
2023-03-10 16:16:28 +05:00
hkalbasi
a980b562a7
Fix stack overflow when derefrencing &!
2023-03-10 13:44:34 +03:30
hkalbasi
71e1c025f8
Revert #14285
2023-03-10 11:57:30 +03:30
hkalbasi
8593132a43
fix block with no termination in or patterns
2023-03-09 22:32:12 +03:30
hkalbasi
cf47c15821
Evaluate consts in path_to_const
2023-03-08 16:42:20 +03:30
bors
ecc32c2f85
Auto merge of #14271 - Veykril:ty-diag-err, r=Veykril
...
Don't trigger unresolved method/field diagnostics on types containing errors
2023-03-07 14:25:20 +00:00
Lukas Wirth
d45708fabe
Don't trigger unresolved method/field diagnostics on types containing errors
2023-03-07 15:24:43 +01:00
hkalbasi
bcd7ecb242
Add profiling to mir lower and borrowck query
2023-03-07 12:42:52 +03:30
hkalbasi
af90ec8096
Partially support "overloaded deref" MIR lowering
2023-03-06 21:09:09 +03:30
hkalbasi
bf0f99f15d
Fix overloaded deref unused mut false positive
2023-03-06 21:09:09 +03:30
hkalbasi
6377d50bd1
Support "for loop" MIR lowering
2023-03-06 21:09:09 +03:30
hkalbasi
ac04bfd7a7
Add View Mir
command and fix some bugs
2023-03-06 21:09:09 +03:30
hkalbasi
a25710b0c0
Add need-mut
and unused-mut
diagnostics
2023-03-06 21:09:08 +03:30
hkalbasi
c0a0664d12
Support "or patterns" MIR lowering
2023-03-06 21:09:08 +03:30
hkalbasi
61ad6a96ad
Add BindingId
2023-03-06 21:09:08 +03:30
bors
a360fab9a3
Auto merge of #14261 - Veykril:ty-perf, r=Veykril
...
internal: Re-use the resolver in `InferenceContext` instead of rebuilding it whenever needed
This reduced inference time on my local build by roughly ~1 sec (out of like 60)
2023-03-06 10:54:27 +00:00