Skip to content

std: Destabilize the internals of panic! #24212

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 9, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions src/libstd/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
/// ```
#[macro_export]
#[stable(feature = "rust1", since = "1.0.0")]
#[allow_internal_unstable]
macro_rules! panic {
() => ({
panic!("explicit panic")
Expand Down
3 changes: 0 additions & 3 deletions src/libstd/rt/unwind.rs
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,6 @@ pub extern fn rust_begin_unwind(msg: fmt::Arguments,
/// on (e.g.) the inlining of other functions as possible), by moving
/// the actual formatting into this shared place.
#[inline(never)] #[cold]
#[stable(since = "1.0.0", feature = "rust1")]
pub fn begin_unwind_fmt(msg: fmt::Arguments, file_line: &(&'static str, usize)) -> ! {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do these need explicit #[unstable] annotations?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unstable inherits (in this case from std::rt).

use fmt::Write;

Expand All @@ -511,7 +510,6 @@ pub fn begin_unwind_fmt(msg: fmt::Arguments, file_line: &(&'static str, usize))

/// This is the entry point of unwinding for panic!() and assert!().
#[inline(never)] #[cold] // avoid code bloat at the call sites as much as possible
#[stable(since = "1.0.0", feature = "rust1")]
pub fn begin_unwind<M: Any + Send>(msg: M, file_line: &(&'static str, usize)) -> ! {
// Note that this should be the only allocation performed in this code path.
// Currently this means that panic!() on OOM will invoke this code path,
Expand Down Expand Up @@ -598,7 +596,6 @@ fn begin_unwind_inner(msg: Box<Any + Send>,
/// Only a limited number of callbacks can be registered, and this function
/// returns whether the callback was successfully registered or not. It is not
/// currently possible to unregister a callback once it has been registered.
#[unstable(feature = "std_misc")]
pub unsafe fn register(f: Callback) -> bool {
match CALLBACK_CNT.fetch_add(1, Ordering::SeqCst) {
// The invocation code has knowledge of this window where the count has
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass-fulldeps/rename-directory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
// because it needs TempDir, which is in extra

// ignore-android
// pretty-expanded FIXME #23616

#![feature(rustc_private, path_ext)]

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/argument-passing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
// except according to those terms.


// pretty-expanded FIXME #23616

struct X {
x: isize
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/arith-2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@



// pretty-expanded FIXME #23616

pub fn main() {
let i32_c: isize = 0x10101010;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/arith-unsigned.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![allow(type_limits)]

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/artificial-block.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

fn f() -> isize { { return 3; } }

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/as-precedence.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

fn main() {
assert_eq!(3 as usize * 3, 9);
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/asm-in-out-operand.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![feature(asm)]

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/asm-out-assign.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![feature(asm)]

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/assign-assign.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
// except according to those terms.

// Issue 483 - Assignment expressions result in nil
// pretty-expanded FIXME #23616

fn test_assign() {
let mut x: isize;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/assignability-trait.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
// making method calls, but only if there aren't any matches without
// it.

// pretty-expanded FIXME #23616

#![feature(unboxed_closures)]

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![feature(core)]

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-binding-in-trait.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
// Test a case where the associated type binding (to `bool`, in this
// case) is derived from the trait definition. Issue #21636.

// pretty-expanded FIXME #23616

use std::vec;

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-bound.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test equality constrai32s on associated types in a where clause.

// pretty-expanded FIXME #23616

pub trait ToI32 {
fn to_i32(&self) -> i32;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-constant-type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

trait SignedUnsigned {
type Opposite;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![allow(unknown_features)]
#![feature(box_syntax)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-enum-field-named.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test associated types appearing in struct-like enum variants.

// pretty-expanded FIXME #23616

use self::VarValue::*;

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-enum-field-numbered.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test associated types appearing in tuple-like enum variants.

// pretty-expanded FIXME #23616

use self::VarValue::*;

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-in-default-method.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

trait Get {
type Value;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-in-fn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

trait Get {
type Value;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-in-impl-generics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

trait Get {
type Value;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-in-inherent-method.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

trait Get {
type Value;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-issue-20220.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test references to `Self::Item` in the trait. Issue #20220.

// pretty-expanded FIXME #23616

use std::vec;

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-issue-21212.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
// where clauses in the environment which in turn required normalizing
// `Self::Input`.

// pretty-expanded FIXME #23616

pub trait Parser {
type Input;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-iterator-binding.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

fn pairwise_sub<T:DoubleEndedIterator<Item=isize>>(mut t: T) -> isize {
let mut result = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
// `Item` originates in a where-clause, not the declaration of
// `T`. Issue #20300.

// pretty-expanded FIXME #23616

#![feature(core)]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test where the impl self type uses a projection from a constant type.

// pretty-expanded FIXME #23616

trait Int
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
// Test that we are handle to correctly handle a projection type
// that appears in a supertrait bound. Issue #20559.

// pretty-expanded FIXME #23616

trait A
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test associated type references in a struct literal. Issue #20535.

// pretty-expanded FIXME #23616

pub trait Foo {
type Bar;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-return.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test equality constraints on associated types in a where clause.

// pretty-expanded FIXME #23616

pub trait Foo {
type A;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-simple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

trait Get {
type Value;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-stream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
// Test references to the trait `Stream` in the bounds for associated
// types defined on `Stream`. Issue #20551.

// pretty-expanded FIXME #23616

trait Stream {
type Car;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-struct-field-named.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
// Test that we correctly normalize the type of a struct field
// which has an associated type.

// pretty-expanded FIXME #23616

pub trait UnifyKey {
type Value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
// Test that we correctly normalize the type of a struct field
// which has an associated type.

// pretty-expanded FIXME #23616

pub trait UnifyKey {
type Value;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/associated-types-sugar-path.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Test paths to associated types using the type-parameter-only sugar.

// pretty-expanded FIXME #23616

pub trait Foo {
type A;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/attr-main-2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![feature(main)]

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/attr-no-drop-flag-size.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![feature(unsafe_destructor)]
#![feature(unsafe_no_drop_flag)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/auto-loop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

pub fn main() {
let mut sum = 0;
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/auto-ref-sliceable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
// except according to those terms.


// pretty-expanded FIXME #23616

trait Pushable<T> {
fn push_val(&mut self, t: T);
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/autobind.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
// except according to those terms.


// pretty-expanded FIXME #23616

fn f<T>(x: Vec<T>) -> T { return x.into_iter().next().unwrap(); }

Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/autoderef-method-on-trait.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![allow(unknown_features)]
#![feature(box_syntax)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/autoderef-method-priority.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![allow(unknown_features)]
#![feature(box_syntax)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/autoderef-method-twice-but-not-thrice.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![allow(unknown_features)]
#![feature(box_syntax)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/autoderef-method-twice.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![allow(unknown_features)]
#![feature(box_syntax)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/autoderef-method.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![allow(unknown_features)]
#![feature(box_syntax)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/autoref-intermediate-types-issue-3585.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
// except according to those terms.


// pretty-expanded FIXME #23616

#![allow(unknown_features)]
#![feature(box_syntax)]
Expand Down
1 change: 0 additions & 1 deletion src/test/run-pass/big-literals.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// pretty-expanded FIXME #23616

#![feature(core)]

Expand Down
Loading