about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2022-06-21 11:57:45 -0700
committerEsteban Küber <esteban@kuber.com.ar>2022-07-07 12:25:55 -0700
commit29e2aa12ffbaa316ac533460e9253c888400f44b (patch)
tree920ef833d9e2a9a7ad26337ad8c13b998aab5abb /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
parent3e51277fe638dc0c8ceb6d1d3acc5aa247277c29 (diff)
downloadrust-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