about summary refs log tree commit diff
path: root/src/libcore/panicking.rs
AgeCommit message (Collapse)AuthorLines
2020-04-25Bump bootstrap compilerMark Rousskov-27/+2
2020-04-24Document unsafety in `core::{panicking, alloc::layout, hint, ↵LeSeulArtichaut-2/+5
iter::adapters::zip}`
2020-03-10also make panic_fmt track_callerRalf Jung-7/+15
2020-03-09panic_bounds_check: use caller_location, like PanicFnLangItemRalf Jung-0/+18
2020-01-04core and std macros and panic internals use panic::Location::caller.Adam Perry-2/+3
2019-12-21Require issue = "none" over issue = "0" in unstable attributesRoss MacArthur-1/+1
2019-12-06Format libcore with rustfmt (including tests and benches)David Tolnay-9/+11
2019-11-25more panicking commentsRalf Jung-4/+5
2019-11-24make comment compileRalf Jung-2/+1
2019-11-24panicking commentsRalf Jung-3/+3
2019-11-12Snap cfgsMark Rousskov-59/+0
2019-11-06Have tidy ensure that we document all `unsafe` blocks in libcoreOliver Scherer-0/+2
2019-10-27Panicking infra uses &core::panic::Location.Adam Perry-4/+59
This allows us to remove `static_panic_msg` from the SSA<->LLVM boundary, along with its fat pointer representation for &str. Also changes the signature of PanicInfo::internal_contructor to avoid copying. Closes #65856.
2019-09-25Snap cfgs to new betaMark Rousskov-1/+0
2019-09-23Fix rebase conflictsAlex Crichton-1/+1
2019-09-20Exempt extern "Rust" from improper_ctypesJosh Stone-1/+1
It should be fine for Rust ABIs to involve any Rust type.
2019-04-19libcore: deny more...Mazdak Farrokhzad-2/+2
2019-04-18libcore => 2018Taiki Endo-2/+2
2018-12-25Remove licensesMark Rousskov-10/+0
2018-11-30Fix exceeding line width limitVitaly _Vi Shukela-1/+2
2018-11-30panic_immediate_abort: Fix issues from reviewVitaly _Vi Shukela-7/+6
2018-11-30Add libstd and libcore Cargo features "panic_immediate_abort"Vitaly _Vi Shukela-3/+21
It stop asserts and panics from libstd to automatically include string output and formatting code. Use case: developing static executables smaller than 50 kilobytes, where usual formatting code is excessive while keeping debuggability in debug mode. May resolve #54981.
2018-06-30Bootstrap from 1.28.0-beta.3Mark Simulacrum-15/+0
2018-06-03undo payload in core::panic! changesJorge Aparicio-25/+7
2018-06-03document that `panic_impl` never passes the FFI boundaryJorge Aparicio-1/+2
2018-06-03remove unused `struct NoPayload`Jorge Aparicio-2/+0
2018-06-03implement #[panic_implementation]Jorge Aparicio-0/+40
2018-04-05Bump the bootstrap compiler to 1.26.0 betaAlex Crichton-2/+1
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language features!
2018-02-20make `#[unwind]` attribute specify expectations more clearlyNiko Matsakis-1/+2
You can now choose between the following: - `#[unwind(allowed)]` - `#[unwind(aborts)]` Per rust-lang/rust#48251, the default is `#[unwind(allowed)]`, though I think we should change this eventually.
2017-07-25Bump master to 1.21.0Alex Crichton-23/+2
This commit bumps the master branch's version to 1.21.0 and also updates the bootstrap compiler from the freshly minted beta release.
2017-07-02Style fixest31-1/+1
2017-07-02Fix the test failure, add comment, and refactor a little bitest31-9/+20
2017-07-02Output line column info when panickingest31-10/+20
2017-06-23Removed as many "```ignore" as possible.kennytm-2/+4
Replaced by adding extra imports, adding hidden code (`# ...`), modifying examples to be runnable (sorry Homura), specifying non-Rust code, and converting to should_panic, no_run, or compile_fail. Remaining "```ignore"s received an explanation why they are being ignored.
2015-09-14Mark all extern functions as nounwindBjörn Steinbrink-0/+1
Unwinding across an FFI boundary is undefined behaviour, so we can mark all external function as nounwind. The obvious exception are those functions that actually perform the unwinding.
2015-08-15core: Fill out issues for unstable featuresAlex Crichton-1/+2
2015-06-17core: Split apart the global `core` featureAlex Crichton-0/+3
This commit shards the broad `core` feature of the libcore library into finer grained features. This split groups together similar APIs and enables tracking each API separately, giving a better sense of where each feature is within the stabilization process. A few minor APIs were deprecated along the way: * Iterator::reverse_in_place * marker::NoCopy
2015-05-09Convert #[lang="..."] to #[lang = "..."]Nick Hamann-2/+2
In my opinion this looks nicer, but also it matches the whitespace generally used for stability markers more closely.
2015-04-11Change the rt::unwind line argument type from usize to u32.Ryan Prichard-3/+3
2015-03-26Mass rename uint/int to usize/isizeAlex Crichton-3/+3
Now that support has been removed, all lingering use cases are renamed.
2015-03-10Remove core::panicking::panic's dependence on str's Display::fmt implRyan Prichard-1/+7
Display::fmt for str calls into Formatter::pad, which is modest in size and also pulls in string-related functions for its truncation and padding abilities. For size-critical programs (e.g. embedded), this call site may be the only reason Formatter::pad is linked into the output.
2015-02-27register snapshot 880fb89Flavio Percoco-29/+0
2015-02-21Resolve barriers to changing column!() / line!() return type to u32 in ↵Brian Brooks-5/+34
#19284 . Address review comments in #21769 .
2014-12-30Register new snapshotsAlex Crichton-49/+0
2014-12-27Fallout of changing format_args!(f, args) to f(format_args!(args)).Eduard Burtescu-2/+41
2014-11-05Register snapshots.Eduard Burtescu-47/+0
2014-10-30Test fixes and rebase conflictsAlex Crichton-3/+3
2014-10-29Update infrastructure for fail -> panicSteve Klabnik-0/+47
This includes updating the language items and marking what needs to change after a snapshot. If you do not use the standard library, the language items you need to implement have changed. For example: ```rust #[lang = "fail_fmt"] fn fail_fmt() -> ! { loop {} } ``` is now ```rust #[lang = "panic_fmt"] fn panic_fmt() -> ! { loop {} } ``` Related, lesser-implemented language items `fail` and `fail_bounds_check` have become `panic` and `panic_bounds_check`, as well. These are implemented by `libcore`, so it is unlikely (though possible!) that these two renamings will affect you. [breaking-change] Fix test suite
2014-10-29Rename fail! to panic!Steve Klabnik-0/+69
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]