rust/src/test/ui/reachable
Joshua Nelson 0ac13bd430 Don't abort compilation after giving a lint error
The only reason to use `abort_if_errors` is when the program is so broken that either:
1. later passes get confused and ICE
2. any diagnostics from later passes would be noise

This is never the case for lints, because the compiler has to be able to deal with `allow`-ed lints.
So it can continue to lint and compile even if there are lint errors.
2021-11-08 01:22:28 +00:00
..
auxiliary
expr_add.rs
expr_add.stderr
expr_again.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
expr_again.stderr Bless tests 2021-10-15 02:36:58 -05:00
expr_andand.rs
expr_array.rs
expr_array.stderr
expr_assign.rs
expr_assign.stderr
expr_block.rs
expr_block.stderr Bless tests 2021-10-15 02:36:58 -05:00
expr_box.rs
expr_box.stderr
expr_call.rs
expr_call.stderr
expr_cast.rs Don't abort compilation after giving a lint error 2021-11-08 01:22:28 +00:00
expr_cast.stderr Don't abort compilation after giving a lint error 2021-11-08 01:22:28 +00:00
expr_if.rs Introduce hir::ExprKind::Let - Take 2 2021-08-15 16:18:26 -03:00
expr_if.stderr Bless tests 2021-10-15 02:36:58 -05:00
expr_loop.rs
expr_loop.stderr Bless tests 2021-10-15 02:36:58 -05:00
expr_match.rs
expr_match.stderr Bless tests 2021-10-15 02:36:58 -05:00
expr_method.rs
expr_method.stderr
expr_oror.rs
expr_repeat.rs
expr_repeat.stderr
expr_return.rs
expr_return.stderr
expr_return_in_macro.rs
expr_return_in_macro.stderr
expr_struct.rs
expr_struct.stderr
expr_tup.rs
expr_tup.stderr
expr_type.rs
expr_type.stderr
expr_unary.rs
expr_unary.stderr
expr_while.rs Introduce hir::ExprKind::Let - Take 2 2021-08-15 16:18:26 -03:00
expr_while.stderr Introduce hir::ExprKind::Let - Take 2 2021-08-15 16:18:26 -03:00
README.md
unreachable-arm.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
unreachable-arm.stderr
unreachable-code-ret.rs
unreachable-code-ret.stderr Bless tests 2021-10-15 02:36:58 -05:00
unreachable-code.rs
unreachable-code.stderr
unreachable-in-call.rs
unreachable-in-call.stderr
unreachable-loop-patterns.rs
unreachable-loop-patterns.stderr
unreachable-try-pattern.rs
unreachable-try-pattern.stderr
unreachable-variant.rs
unreachable-variant.stderr
unwarned-match-on-never.rs
unwarned-match-on-never.stderr

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.