{"size": 1061, "ext": "scrbl", "max_stars_repo_path": "share/pkgs/racket-doc/scribblings/reference/unreachable.scrbl", "max_stars_repo_name": "takikawa/racket-ppa", "max_stars_repo_stars_event_min_datetime": "2018-07-29T04:13:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-14T16:11:17.000Z", "max_issues_repo_path": "share/pkgs/racket-doc/scribblings/reference/unreachable.scrbl", "max_issues_repo_name": "takikawa/racket-ppa", "max_issues_repo_issues_event_min_datetime": "2017-08-25T20:26:37.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-26T17:48:40.000Z", "max_forks_repo_path": "share/pkgs/racket-doc/scribblings/reference/unreachable.scrbl", "max_forks_repo_name": "takikawa/racket-ppa", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 10, "max_issues_count": 15, "max_forks_count": null, "avg_line_length": 30.3142857143, "max_line_length": 70, "alphanum_fraction": 0.7332704995}
#lang scribble/doc
@(require "mz.rkt" (for-label racket/unreachable racket/unsafe/ops))

@title[#:tag "unreachable"]{Unreachable Expressions}

@defproc[(assert-unreachable) none/c]{

Reports an assertion failure by raising @racket[exn:fail:contract],
which is useful as a safe counterpart to
@racket[unsafe-assert-unreachable].

@history[#:added "8.0.0.11"]}


@section[#:tag "with-unreachable"]{Customized Unreachable Reporting}

@note-lib-only[racket/unreachable]

@history[#:added "8.0.0.11"]

@defform[(with-assert-unreachable
           body ...+)]{

Similar to @racket[(assert-unreachable)], asserts that the
@racket[body] forms should not be reached.

Unless the expression is part of a module that includes
@racket[(#%declare #:unsafe)], then it is equivalent to
@racket[(let-values () body ...+)]. The intent is that the
@racket[body] forms will raise @racket[exn:fail:contract].

When a @racket[with-assert-unreachable] expression is part of a module
with @racket[(#%declare #:unsafe)], then it is equivalent to
@racket[(unsafe-assert-unreachable)].}
