aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/expr.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-05-08 19:09:25 +0100
committerGitHub <[email protected]>2020-05-08 19:09:25 +0100
commitf9ec7cebef732fbc9d4849d87d325efef5faadea (patch)
tree4a40dbed04c432dee54f8a8d016c89c7411b1e6d /crates/ra_hir_ty/src/expr.rs
parentf1fa9aa4c4d4fcfe7d6e90ba9cefca90bc7c4998 (diff)
parentd0129c4ddba3b72e7b26e94e9c25546d37dbf166 (diff)
Merge #4377
4377: Implement better handling of divergence r=matklad a=flodiebold Divergence here means that for some reason, the end of a block will not be reached. We tried to model this just using the never type, but that doesn't work fully (e.g. in `let x = { loop {}; "foo" };` x should still have type `&str`); so this introduces a `diverges` flag that the type checker keeps track of, like rustc does. We also add some checking for `break`, but no support for break-with-value or labeled breaks yet. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_hir_ty/src/expr.rs')
0 files changed, 0 insertions, 0 deletions