edafbaffb2
- Either explicitly annotate `let x: () = expr;` where `x` has unit type, or remove the unit binding to leave only `expr;` instead. - Fix disjoint-capture-in-same-closure test
A variety of tests around reachability. These tests in general check two things:
- that we get unreachable code warnings in reasonable locations;
- that we permit coercions into
!
from expressions which diverge, where an expression "diverges" if it must execute some subexpression of type!
, or it has type!
itself.