diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2022-06-21 11:57:45 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2022-07-07 12:25:55 -0700 |
| commit | 29e2aa12ffbaa316ac533460e9253c888400f44b (patch) | |
| tree | 920ef833d9e2a9a7ad26337ad8c13b998aab5abb /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp | |
| parent | 3e51277fe638dc0c8ceb6d1d3acc5aa247277c29 (diff) | |
| download | rust-29e2aa12ffbaa316ac533460e9253c888400f44b.tar.gz rust-29e2aa12ffbaa316ac533460e9253c888400f44b.zip | |
On partial uninit error point at where we need init
When a binding is declared without a value, borrowck verifies that all codepaths have *one* assignment to them to initialize them fully. If there are any cases where a condition can be met that leaves the binding uninitialized or we attempt to initialize a field of an unitialized binding, we emit E0381. We now look at all the statements that initialize the binding, and use them to explore branching code paths that *don't* and point at them. If we find *no* potential places where an assignment to the binding might be missing, we display the spans of all the existing initializers to provide some context.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
