]> git.lizzy.rs Git - rust.git/commit
Rename fail! to panic!
authorSteve Klabnik <steve@steveklabnik.com>
Thu, 9 Oct 2014 19:17:22 +0000 (15:17 -0400)
committerSteve Klabnik <steve@steveklabnik.com>
Wed, 29 Oct 2014 15:43:07 +0000 (11:43 -0400)
commit7828c3dd2858d8f3a0448484d8093e22719dbda0
tree2d2b106b02526219463d877d480782027ffe1f3f
parent3bc545373df4c81ba223a8bece14cbc27eb85a4d
Rename fail! to panic!

https://github.com/rust-lang/rfcs/pull/221

The current terminology of "task failure" often causes problems when
writing or speaking about code. You often want to talk about the
possibility of an operation that returns a Result "failing", but cannot
because of the ambiguity with task failure. Instead, you have to speak
of "the failing case" or "when the operation does not succeed" or other
circumlocutions.

Likewise, we use a "Failure" header in rustdoc to describe when
operations may fail the task, but it would often be helpful to separate
out a section describing the "Err-producing" case.

We have been steadily moving away from task failure and toward Result as
an error-handling mechanism, so we should optimize our terminology
accordingly: Result-producing functions should be easy to describe.

To update your code, rename any call to `fail!` to `panic!` instead.
Assuming you have not created your own macro named `panic!`, this
will work on UNIX based systems:

    grep -lZR 'fail!' . | xargs -0 -l sed -i -e 's/fail!/panic!/g'

You can of course also do this by hand.

[breaking-change]
506 files changed:
src/compiletest/compiletest.rs
src/compiletest/header.rs
src/compiletest/runtest.rs
src/compiletest/util.rs
src/doc/complement-design-faq.md
src/doc/complement-lang-faq.md
src/doc/guide-ffi.md
src/doc/guide-macros.md
src/doc/guide-tasks.md
src/doc/guide-testing.md
src/doc/guide-unsafe.md
src/doc/guide.md
src/doc/reference.md
src/doc/rustdoc.md
src/grammar/verify.rs
src/liballoc/arc.rs
src/liballoc/boxed.rs
src/libarena/lib.rs
src/libcollections/btree/node.rs
src/libcollections/dlist.rs
src/libcollections/lib.rs
src/libcollections/ringbuf.rs
src/libcollections/slice.rs
src/libcollections/smallintmap.rs
src/libcollections/str.rs
src/libcollections/string.rs
src/libcollections/treemap.rs
src/libcollections/trie.rs
src/libcollections/vec.rs
src/libcore/atomic.rs
src/libcore/cell.rs
src/libcore/char.rs
src/libcore/failure.rs [deleted file]
src/libcore/finally.rs
src/libcore/fmt/float.rs
src/libcore/fmt/num.rs
src/libcore/lib.rs
src/libcore/macros.rs
src/libcore/num/mod.rs
src/libcore/option.rs
src/libcore/panicking.rs [new file with mode: 0644]
src/libcore/ptr.rs
src/libcore/result.rs
src/libcore/str.rs
src/libcoretest/any.rs
src/libcoretest/finally.rs
src/libcoretest/iter.rs
src/libcoretest/option.rs
src/libcoretest/result.rs
src/libgetopts/lib.rs
src/libgreen/basic.rs
src/libgreen/context.rs
src/libgreen/lib.rs
src/libgreen/sched.rs
src/libgreen/simple.rs
src/libgreen/stack.rs
src/libgreen/task.rs
src/liblog/lib.rs
src/libnative/io/file_unix.rs
src/libnative/io/pipe_windows.rs
src/libnative/io/process.rs
src/libnative/io/timer_unix.rs
src/libnative/lib.rs
src/libnative/task.rs
src/librand/distributions/mod.rs
src/librand/lib.rs
src/librbml/lib.rs
src/libregex/compile.rs
src/libregex/lib.rs
src/libregex/parse.rs
src/libregex/re.rs
src/libregex/test/bench.rs
src/libregex/test/mod.rs
src/libregex/test/tests.rs
src/librustc/back/write.rs
src/librustc/driver/config.rs
src/librustc/driver/mod.rs
src/librustc/driver/pretty.rs
src/librustc/lint/builtin.rs
src/librustc/lint/context.rs
src/librustc/metadata/creader.rs
src/librustc/metadata/decoder.rs
src/librustc/metadata/filesearch.rs
src/librustc/metadata/tydecode.rs
src/librustc/middle/astencode.rs
src/librustc/middle/borrowck/gather_loans/move_error.rs
src/librustc/middle/borrowck/mod.rs
src/librustc/middle/dataflow.rs
src/librustc/middle/def.rs
src/librustc/middle/lang_items.rs
src/librustc/middle/liveness.rs
src/librustc/middle/region.rs
src/librustc/middle/resolve.rs
src/librustc/middle/subst.rs
src/librustc/middle/trans/_match.rs
src/librustc/middle/trans/adt.rs
src/librustc/middle/trans/base.rs
src/librustc/middle/trans/build.rs
src/librustc/middle/trans/cabi_arm.rs
src/librustc/middle/trans/cabi_mips.rs
src/librustc/middle/trans/cabi_x86_64.rs
src/librustc/middle/trans/callee.rs
src/librustc/middle/trans/cleanup.rs
src/librustc/middle/trans/common.rs
src/librustc/middle/trans/context.rs
src/librustc/middle/trans/doc.rs
src/librustc/middle/trans/expr.rs
src/librustc/middle/trans/foreign.rs
src/librustc/middle/trans/glue.rs
src/librustc/middle/trans/intrinsic.rs
src/librustc/middle/trans/meth.rs
src/librustc/middle/trans/tvec.rs
src/librustc/middle/trans/type_.rs
src/librustc/middle/trans/type_of.rs
src/librustc/middle/ty.rs
src/librustc/middle/typeck/astconv.rs
src/librustc/middle/typeck/check/_match.rs
src/librustc/middle/typeck/check/method.rs
src/librustc/middle/typeck/check/vtable.rs
src/librustc/middle/typeck/coherence/mod.rs
src/librustc/middle/typeck/collect.rs
src/librustc/middle/typeck/infer/glb.rs
src/librustc/middle/typeck/infer/mod.rs
src/librustc/middle/typeck/infer/region_inference/mod.rs
src/librustc/middle/typeck/infer/test.rs
src/librustc/middle/typeck/infer/type_variable.rs
src/librustc/middle/typeck/infer/unify.rs
src/librustc/middle/typeck/variance.rs
src/librustc/middle/weak_lang_items.rs
src/librustc/plugin/registry.rs
src/librustc/util/snapshot_vec.rs
src/librustc_back/archive.rs
src/librustc_back/rpath.rs
src/librustc_back/sha2.rs
src/librustc_back/svh.rs
src/librustdoc/clean/inline.rs
src/librustdoc/clean/mod.rs
src/librustdoc/flock.rs
src/librustdoc/html/format.rs
src/librustdoc/html/render.rs
src/librustdoc/lib.rs
src/librustdoc/test.rs
src/librustdoc/visit_ast.rs
src/librustrt/args.rs
src/librustrt/c_str.rs
src/librustrt/lib.rs
src/librustrt/local_data.rs
src/librustrt/mutex.rs
src/librustrt/stack_overflow.rs
src/librustrt/task.rs
src/librustrt/thread.rs
src/librustrt/unwind.rs
src/libserialize/base64.rs
src/libserialize/json.rs
src/libstd/ascii.rs
src/libstd/c_vec.rs
src/libstd/collections/hashmap/map.rs
src/libstd/collections/hashmap/table.rs
src/libstd/dynamic_lib.rs
src/libstd/failure.rs
src/libstd/io/buffered.rs
src/libstd/io/comm_adapters.rs
src/libstd/io/extensions.rs
src/libstd/io/fs.rs
src/libstd/io/mem.rs
src/libstd/io/mod.rs
src/libstd/io/net/pipe.rs
src/libstd/io/net/tcp.rs
src/libstd/io/net/udp.rs
src/libstd/io/process.rs
src/libstd/io/result.rs
src/libstd/io/stdio.rs
src/libstd/io/test.rs
src/libstd/io/timer.rs
src/libstd/lib.rs
src/libstd/macros.rs
src/libstd/num/strconv.rs
src/libstd/os.rs
src/libstd/path/windows.rs
src/libstd/rand/mod.rs
src/libstd/rand/os.rs
src/libstd/rand/reader.rs
src/libstd/rt/backtrace.rs
src/libstd/rt/mod.rs
src/libstd/rt/util.rs
src/libstd/sync/future.rs
src/libstd/sync/task_pool.rs
src/libstd/task.rs
src/libstd/time/duration.rs
src/libsync/comm/mod.rs
src/libsync/comm/oneshot.rs
src/libsync/comm/select.rs
src/libsync/comm/shared.rs
src/libsync/comm/sync.rs
src/libsync/deque.rs
src/libsync/lock.rs
src/libsync/mpsc_queue.rs
src/libsync/raw.rs
src/libsync/spsc_queue.rs
src/libsyntax/ast.rs
src/libsyntax/ast_map/blocks.rs
src/libsyntax/ast_map/mod.rs
src/libsyntax/ast_util.rs
src/libsyntax/codemap.rs
src/libsyntax/diagnostic.rs
src/libsyntax/ext/expand.rs
src/libsyntax/ext/mtwt.rs
src/libsyntax/ext/quote.rs
src/libsyntax/ext/tt/macro_parser.rs
src/libsyntax/ext/tt/macro_rules.rs
src/libsyntax/fold.rs
src/libsyntax/parse/lexer/comments.rs
src/libsyntax/parse/lexer/mod.rs
src/libsyntax/parse/mod.rs
src/libsyntax/parse/parser.rs
src/libsyntax/print/pp.rs
src/libsyntax/print/pprust.rs
src/libsyntax/util/small_vector.rs
src/libsyntax/visit.rs
src/libterm/terminfo/parm.rs
src/libtest/lib.rs
src/libtime/lib.rs
src/test/auxiliary/cci_nested_lib.rs
src/test/auxiliary/issue_2723_a.rs
src/test/auxiliary/logging_right_crate.rs
src/test/auxiliary/regions-bounded-method-type-parameters-cross-crate-lib.rs
src/test/auxiliary/static-methods-crate.rs
src/test/auxiliary/weak-lang-items.rs
src/test/bench/core-std.rs
src/test/bench/shootout-chameneos-redux.rs
src/test/bench/shootout-k-nucleotide.rs
src/test/bench/shootout-meteor.rs
src/test/bench/shootout-pfib.rs
src/test/bench/sudoku.rs
src/test/bench/task-perf-alloc-unwind.rs
src/test/bench/task-perf-jargon-metal-smoke.rs
src/test/compile-fail/bad-bang-ann.rs
src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs
src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs
src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs
src/test/compile-fail/bind-by-move-no-guards.rs
src/test/compile-fail/borrowck-anon-fields-variant.rs
src/test/compile-fail/borrowck-autoref-3261.rs
src/test/compile-fail/borrowck-borrow-from-owned-ptr.rs
src/test/compile-fail/borrowck-borrow-from-stack-variable.rs
src/test/compile-fail/borrowck-closures-unique.rs
src/test/compile-fail/borrowck-lend-flow-if.rs
src/test/compile-fail/borrowck-lend-flow-loop.rs
src/test/compile-fail/borrowck-lend-flow.rs
src/test/compile-fail/borrowck-loan-local-as-both-mut-and-imm.rs
src/test/compile-fail/borrowck-ref-into-rvalue.rs
src/test/compile-fail/borrowck-vec-pattern-element-loan.rs
src/test/compile-fail/borrowck-vec-pattern-tail-element-loan.rs
src/test/compile-fail/closure-that-fails.rs
src/test/compile-fail/coherence-blanket-conflicts-with-specific-multidispatch.rs
src/test/compile-fail/dead-code-closure-bang.rs
src/test/compile-fail/deref-non-pointer.rs
src/test/compile-fail/fail-no-dead-code-core.rs
src/test/compile-fail/fail-no-dead-code.rs
src/test/compile-fail/fail-simple.rs
src/test/compile-fail/generic-lifetime-trait-impl.rs
src/test/compile-fail/issue-10392-2.rs
src/test/compile-fail/issue-10392.rs
src/test/compile-fail/issue-11844.rs
src/test/compile-fail/issue-12116.rs
src/test/compile-fail/issue-12187-1.rs
src/test/compile-fail/issue-12187-2.rs
src/test/compile-fail/issue-13466.rs
src/test/compile-fail/issue-2149.rs
src/test/compile-fail/issue-2150.rs
src/test/compile-fail/issue-2151.rs
src/test/compile-fail/issue-2330.rs
src/test/compile-fail/issue-2354.rs
src/test/compile-fail/issue-2611-4.rs
src/test/compile-fail/issue-2611-5.rs
src/test/compile-fail/issue-3021.rs
src/test/compile-fail/issue-3601.rs
src/test/compile-fail/issue-3668.rs
src/test/compile-fail/issue-5500-1.rs
src/test/compile-fail/issue-6458-1.rs
src/test/compile-fail/issue-897-2.rs
src/test/compile-fail/issue-897.rs
src/test/compile-fail/lifetime-elision-return-type-requires-explicit-lifetime.rs
src/test/compile-fail/lint-unused-unsafe.rs
src/test/compile-fail/lint-visible-private-types.rs
src/test/compile-fail/liveness-use-after-send.rs
src/test/compile-fail/match-join.rs
src/test/compile-fail/moves-based-on-type-exprs.rs
src/test/compile-fail/moves-based-on-type-match-bindings.rs
src/test/compile-fail/moves-based-on-type-no-recursive-stack-closure.rs
src/test/compile-fail/non-exhaustive-match-nested.rs
src/test/compile-fail/not-enough-arguments.rs
src/test/compile-fail/pattern-tyvar-2.rs
src/test/compile-fail/pattern-tyvar.rs
src/test/compile-fail/qquote-1.rs
src/test/compile-fail/qquote-2.rs
src/test/compile-fail/regions-fn-bound.rs
src/test/compile-fail/regions-fn-subtyping-return-static.rs
src/test/compile-fail/regions-fn-subtyping.rs
src/test/compile-fail/regions-free-region-ordering-callee.rs
src/test/compile-fail/tag-that-dare-not-speak-its-name.rs
src/test/compile-fail/tag-type-args.rs
src/test/compile-fail/trait-bounds-on-structs-and-enums-locals.rs
src/test/compile-fail/unused-result.rs
src/test/debuginfo/basic-types-metadata.rs
src/test/pretty/issue-929.rs
src/test/run-fail/args-fail.rs
src/test/run-fail/binop-fail.rs
src/test/run-fail/bug-2470-bounds-check-overflow-2.rs
src/test/run-fail/bug-2470-bounds-check-overflow-3.rs
src/test/run-fail/bug-2470-bounds-check-overflow.rs
src/test/run-fail/bug-811.rs
src/test/run-fail/by-value-self-objects-fail.rs
src/test/run-fail/die-macro-expr.rs
src/test/run-fail/die-macro-pure.rs
src/test/run-fail/die-macro.rs
src/test/run-fail/doublefail.rs
src/test/run-fail/explicit-fail-msg.rs
src/test/run-fail/explicit-fail.rs
src/test/run-fail/expr-fn-fail.rs
src/test/run-fail/expr-if-fail-fn.rs
src/test/run-fail/expr-if-fail.rs
src/test/run-fail/expr-match-fail-fn.rs
src/test/run-fail/expr-match-fail.rs
src/test/run-fail/extern-fail.rs
src/test/run-fail/fail-arg.rs
src/test/run-fail/fail-macro-any-wrapped.rs
src/test/run-fail/fail-macro-any.rs
src/test/run-fail/fail-macro-explicit.rs
src/test/run-fail/fail-macro-fmt.rs
src/test/run-fail/fail-macro-owned.rs
src/test/run-fail/fail-macro-static.rs
src/test/run-fail/fail-main.rs
src/test/run-fail/fail-non-utf8.rs
src/test/run-fail/fail-parens.rs
src/test/run-fail/fail-task-name-none.rs
src/test/run-fail/fail-task-name-owned.rs
src/test/run-fail/fail-task-name-send-str.rs
src/test/run-fail/fail-task-name-static.rs
src/test/run-fail/fmt-fail.rs
src/test/run-fail/for-each-loop-fail.rs
src/test/run-fail/glob-use-std.rs
src/test/run-fail/if-check-fail.rs
src/test/run-fail/if-cond-bot.rs
src/test/run-fail/issue-12920.rs
src/test/run-fail/issue-13202.rs
src/test/run-fail/issue-2444.rs
src/test/run-fail/issue-3029.rs
src/test/run-fail/issue-948.rs
src/test/run-fail/main-fail.rs
src/test/run-fail/match-bot-fail.rs
src/test/run-fail/match-disc-bot.rs
src/test/run-fail/match-wildcards.rs
src/test/run-fail/native-failure.rs
src/test/run-fail/rhs-type.rs
src/test/run-fail/rt-set-exit-status-fail.rs
src/test/run-fail/rt-set-exit-status-fail2.rs
src/test/run-fail/rt-set-exit-status.rs
src/test/run-fail/run-unexported-tests.rs
src/test/run-fail/str-overrun.rs
src/test/run-fail/task-spawn-barefn.rs
src/test/run-fail/test-fail.rs
src/test/run-fail/tls-exit-status.rs
src/test/run-fail/too-much-recursion-unwinding.rs
src/test/run-fail/unique-fail.rs
src/test/run-fail/unwind-interleaved.rs
src/test/run-fail/unwind-rec.rs
src/test/run-fail/unwind-rec2.rs
src/test/run-fail/unwind-unique.rs
src/test/run-fail/vec-overrun.rs
src/test/run-fail/while-body-fails.rs
src/test/run-fail/while-fail.rs
src/test/run-make/static-unwinding/main.rs
src/test/run-pass/attr-main-2.rs
src/test/run-pass/backtrace.rs
src/test/run-pass/binary-minus-without-space.rs
src/test/run-pass/bind-by-move.rs
src/test/run-pass/borrowck-macro-interaction-issue-6304.rs
src/test/run-pass/byte-literals.rs
src/test/run-pass/cell-does-not-clone.rs
src/test/run-pass/class-impl-very-parameterized-trait.rs
src/test/run-pass/cleanup-rvalue-temp-during-incomplete-alloc.rs
src/test/run-pass/closure-return-bang.rs
src/test/run-pass/conditional-compile.rs
src/test/run-pass/conditional-debug-macro-off.rs
src/test/run-pass/conditional-debug-macro-on.rs
src/test/run-pass/const-big-enum.rs
src/test/run-pass/const-enum-byref-self.rs
src/test/run-pass/const-enum-byref.rs
src/test/run-pass/const-enum-ptr.rs
src/test/run-pass/const-enum-structlike.rs
src/test/run-pass/const-enum-vec-index.rs
src/test/run-pass/const-enum-vec-ptr.rs
src/test/run-pass/const-enum-vector.rs
src/test/run-pass/const-nullary-enum.rs
src/test/run-pass/core-run-destroy.rs
src/test/run-pass/deriving-cmp-shortcircuit.rs
src/test/run-pass/die-macro.rs
src/test/run-pass/drop-trait-enum.rs
src/test/run-pass/dst-deref-mut.rs
src/test/run-pass/enum-alignment.rs
src/test/run-pass/enum-nullable-simplifycfg-misopt.rs
src/test/run-pass/expr-if-fail-all.rs
src/test/run-pass/expr-if-fail.rs
src/test/run-pass/expr-match-fail-all.rs
src/test/run-pass/expr-match-fail.rs
src/test/run-pass/expr-match-generic-unique1.rs
src/test/run-pass/expr-match-generic-unique2.rs
src/test/run-pass/expr-match-generic.rs
src/test/run-pass/expr-match-struct.rs
src/test/run-pass/expr-match-unique.rs
src/test/run-pass/fail-during-tld-destroy.rs
src/test/run-pass/fail-in-dtor-drops-fields.rs
src/test/run-pass/for-loop-fail.rs
src/test/run-pass/getopts_ref.rs
src/test/run-pass/hygienic-labels.rs
src/test/run-pass/if-bot.rs
src/test/run-pass/if-check.rs
src/test/run-pass/if-let.rs
src/test/run-pass/inherent-trait-method-order.rs
src/test/run-pass/issue-10392.rs
src/test/run-pass/issue-10734.rs
src/test/run-pass/issue-11552.rs
src/test/run-pass/issue-11709.rs
src/test/run-pass/issue-13259-windows-tcb-trash.rs
src/test/run-pass/issue-14865.rs
src/test/run-pass/issue-1516.rs
src/test/run-pass/issue-2311-2.rs
src/test/run-pass/issue-2312.rs
src/test/run-pass/issue-2611-3.rs
src/test/run-pass/issue-2718.rs
src/test/run-pass/issue-2904.rs
src/test/run-pass/issue-3895.rs
src/test/run-pass/issue-4016.rs
src/test/run-pass/issue-4241.rs
src/test/run-pass/issue-5521.rs
src/test/run-pass/issue-6128.rs
src/test/run-pass/issue-6449.rs
src/test/run-pass/issue-8351-1.rs
src/test/run-pass/issue-8351-2.rs
src/test/run-pass/last-use-in-block.rs
src/test/run-pass/logging-enabled-debug.rs
src/test/run-pass/logging-enabled.rs
src/test/run-pass/logging-right-crate.rs
src/test/run-pass/loop-no-reinit-needed-post-bot.rs
src/test/run-pass/macro-interpolation.rs
src/test/run-pass/match-bot-2.rs
src/test/run-pass/match-bot.rs
src/test/run-pass/match-enum-struct-0.rs
src/test/run-pass/match-enum-struct-1.rs
src/test/run-pass/match-pattern-lit.rs
src/test/run-pass/match-pipe-binding.rs
src/test/run-pass/match-range.rs
src/test/run-pass/match-ref-binding-in-guard-3256.rs
src/test/run-pass/match-str.rs
src/test/run-pass/match-struct-0.rs
src/test/run-pass/negative.rs
src/test/run-pass/nested-block-comment.rs
src/test/run-pass/nested-class.rs
src/test/run-pass/nested-matchs.rs
src/test/run-pass/nested-pattern.rs
src/test/run-pass/no-landing-pads.rs
src/test/run-pass/nullable-pointer-iotareduction.rs
src/test/run-pass/option-unwrap.rs
src/test/run-pass/overload-index-operator.rs
src/test/run-pass/overloaded-autoderef.rs
src/test/run-pass/overloaded-deref.rs
src/test/run-pass/parse-fail.rs
src/test/run-pass/process-detach.rs
src/test/run-pass/regions-bot.rs
src/test/run-pass/regions-dependent-addr-of.rs
src/test/run-pass/regions-early-bound-trait-param.rs
src/test/run-pass/regions-return-interior-of-option.rs
src/test/run-pass/ret-bang.rs
src/test/run-pass/return-from-closure.rs
src/test/run-pass/running-with-no-runtime.rs
src/test/run-pass/sepcomp-unwind.rs
src/test/run-pass/signal-exit-status.rs
src/test/run-pass/size-and-align.rs
src/test/run-pass/slice-fail-2.rs
src/test/run-pass/syntax-extension-cfg.rs
src/test/run-pass/task-stderr.rs
src/test/run-pass/tcp-accept-stress.rs
src/test/run-pass/tcp-connect-timeouts.rs
src/test/run-pass/tcp-stress.rs
src/test/run-pass/tempfile.rs
src/test/run-pass/terminate-in-initializer.rs
src/test/run-pass/test-runner-hides-main.rs
src/test/run-pass/trans-tag-static-padding.rs
src/test/run-pass/typeck-macro-interaction-issue-8852.rs
src/test/run-pass/unique-containing-tag.rs
src/test/run-pass/unique-decl.rs
src/test/run-pass/unique-pat.rs
src/test/run-pass/unit-like-struct-drop-run.rs
src/test/run-pass/unix-process-spawn-errno.rs
src/test/run-pass/unreachable-code-1.rs
src/test/run-pass/unreachable-code.rs
src/test/run-pass/unwind-resource.rs
src/test/run-pass/unwind-unique.rs
src/test/run-pass/use-uninit-match2.rs
src/test/run-pass/vec-matching-autoslice.rs
src/test/run-pass/vec-matching.rs
src/test/run-pass/vector-sort-failure-safe.rs
src/test/run-pass/weird-exprs.rs
src/test/run-pass/while-label.rs
src/test/run-pass/writealias.rs