Auto merge of #27309 - eddyb:snapshot-infdef, r=alexcrichton

FreeBSD i386 snapshot is missing, failed tests (possibly spurious).
r? @alexcrichton
This commit is contained in:
bors 2015-07-28 08:51:21 +00:00
commit 5b72fa42d4
17 changed files with 34 additions and 35 deletions

View file

@ -300,7 +300,7 @@ impl<T: Clone> Clone for Box<T> {
/// let y = x.clone();
/// ```
#[inline]
fn clone(&self) -> Box<T> { box (HEAP) {(**self).clone()} }
fn clone(&self) -> Box<T> { box {(**self).clone()} }
/// Copies `source`'s contents into `self` without creating a new allocation.
///
/// # Examples

View file

@ -70,8 +70,6 @@
test(no_crate_inject))]
#![no_std]
// SNAP d4432b3
#![allow(unused_features)] // until feature(placement_in_syntax) is in snap
#![feature(allocator)]
#![feature(box_syntax)]
#![feature(coerce_unsized)]

View file

@ -184,19 +184,11 @@ extern "rust-intrinsic" {
/// elements.
pub fn size_of<T>() -> usize;
#[cfg(not(stage0))]
/// Moves a value to an uninitialized memory location.
///
/// Drop glue is not run on the destination.
pub fn move_val_init<T>(dst: *mut T, src: T);
// SNAP d4432b3
#[cfg(stage0)]
/// Moves a value to an uninitialized memory location.
///
/// Drop glue is not run on the destination.
pub fn move_val_init<T>(dst: &mut T, src: T);
pub fn min_align_of<T>() -> usize;
pub fn pref_align_of<T>() -> usize;
@ -614,6 +606,5 @@ extern "rust-intrinsic" {
/// Rust's "try catch" construct which invokes the function pointer `f` with
/// the data pointer `data`, returning the exception payload if an exception
/// is thrown (aka the thread panics).
#[cfg(not(stage0))]
pub fn try(f: fn(*mut u8), data: *mut u8) -> *mut u8;
}

View file

@ -203,7 +203,6 @@
test(no_crate_inject, attr(deny(warnings))),
test(attr(allow(dead_code, deprecated, unused_variables, unused_mut))))]
#![cfg_attr(stage0, allow(unused_features))]
#![feature(alloc)]
#![feature(allow_internal_unstable)]
#![feature(associated_consts)]

View file

@ -115,7 +115,7 @@ pub mod eabi {
}
}
#[cfg_attr(not(stage0), lang = "eh_personality_catch")]
#[lang = "eh_personality_catch"]
#[no_mangle]
pub extern fn rust_eh_personality_catch(
_version: c_int,
@ -168,7 +168,7 @@ pub mod eabi {
}
}
#[cfg_attr(not(stage0), lang = "eh_personality_catch")]
#[lang = "eh_personality_catch"]
#[no_mangle]
pub extern fn rust_eh_personality_catch(
_version: c_int,
@ -218,7 +218,7 @@ pub mod eabi {
}
}
#[cfg_attr(not(stage0), lang = "eh_personality_catch")]
#[lang = "eh_personality_catch"]
#[no_mangle]
pub extern fn rust_eh_personality_catch(
state: uw::_Unwind_State,
@ -307,7 +307,7 @@ pub mod eabi {
}
}
#[cfg_attr(not(stage0), lang = "eh_personality_catch")]
#[lang = "eh_personality_catch"]
#[no_mangle]
pub extern fn rust_eh_personality_catch(
exceptionRecord: *mut EXCEPTION_RECORD,

View file

@ -139,7 +139,6 @@ pub unsafe fn try<F: FnOnce()>(f: F) -> Result<(), Box<Any + Send>> {
// `dllexport`, but it's easier to not have conditional `src/rt/rust_try.ll`
// files and instead just have this non-generic shim the compiler can take
// care of exposing correctly.
#[cfg(not(stage0))]
unsafe fn inner_try(f: fn(*mut u8), data: *mut u8)
-> Result<(), Box<Any + Send>> {
let prev = PANICKING.with(|s| s.get());
@ -152,11 +151,6 @@ pub unsafe fn try<F: FnOnce()>(f: F) -> Result<(), Box<Any + Send>> {
Err(imp::cleanup(ep))
}
}
#[cfg(stage0)]
unsafe fn inner_try(f: fn(*mut u8), data: *mut u8)
-> Result<(), Box<Any + Send>> {
Ok(f(data))
}
fn try_fn<F: FnOnce()>(opt_closure: *mut u8) {
let opt_closure = opt_closure as *mut Option<F>;

View file

@ -2637,19 +2637,15 @@ impl<'a> Parser<'a> {
//
// ... but for now: check for a place: `box(PLACE) EXPR`.
if try!(self.eat(&token::OpenDelim(token::Paren)) ){
// SNAP d4432b3
// Enable this warning after snapshot ...
//
// let box_span = mk_sp(lo, self.last_span.hi);
// self.span_warn(
// box_span,
// "deprecated syntax; use the `in` keyword now \
// (e.g. change `box (<expr>) <expr>` to \
// `in <expr> { <expr> }`)");
if try!(self.eat(&token::OpenDelim(token::Paren))) {
let box_span = mk_sp(lo, self.last_span.hi);
self.span_warn(box_span,
"deprecated syntax; use the `in` keyword now \
(e.g. change `box (<expr>) <expr>` to \
`in <expr> { <expr> }`)");
// Continue supporting `box () EXPR` (temporarily)
if !try!(self.eat(&token::CloseDelim(token::Paren)) ){
if !try!(self.eat(&token::CloseDelim(token::Paren))) {
let place = try!(self.parse_expr_nopanic());
try!(self.expect(&token::CloseDelim(token::Paren)));
// Give a suggestion to use `box()` when a parenthesised expression is used

View file

@ -1,3 +1,13 @@
S 2015-07-26 a5c12f4
bitrig-x86_64 8734eb41ffbe6ddc1120aa2910db4162ec9cf270
freebsd-x86_64 bc50b0f8d7f6d62f4f5ffa136f5387f5bf6524fd
linux-i386 3459275cdf3896f678e225843fa56f0d9fdbabe8
linux-x86_64 e451e3bd6e5fcef71e41ae6f3da9fb1cf0e13a0c
macos-i386 428944a7984c0988e77909d82ca2ef77d96a1fbd
macos-x86_64 b0515bb7d2892b9a58282fc865fee11a885406d6
winnt-i386 22286e815372c3e03729853af48a2f6d538ed086
winnt-x86_64 f13aa3c02a15f8e794b9e180487bdf04378f8f04
S 2015-07-17 d4432b3
bitrig-x86_64 af77768e0eb0f4c7ec5a8e36047a08053b54b230
freebsd-i386 b049325e5b2efe5f4884f3dafda448c1dac49b4f

View file

@ -24,6 +24,7 @@ fn produce<T>() -> T { panic!(); }
fn inc(v: &mut Box<isize>) {
*v = box() (**v + 1);
//~^ WARN deprecated syntax
}
fn pre_freeze_cond() {

View file

@ -23,6 +23,7 @@ fn produce<T>() -> T { panic!(); }
fn inc(v: &mut Box<isize>) {
*v = box() (**v + 1);
//~^ WARN deprecated syntax
}
fn loop_overarching_alias_mut() {

View file

@ -24,6 +24,7 @@ fn produce<T>() -> T { panic!(); }
fn inc(v: &mut Box<isize>) {
*v = box() (**v + 1);
//~^ WARN deprecated syntax
}
fn pre_freeze() {

View file

@ -23,6 +23,7 @@ impl Add for foo {
let foo(box i) = self;
let foo(box j) = f;
foo(box() (i + j))
//~^ WARN deprecated syntax
}
}

View file

@ -21,5 +21,6 @@ fn main() {
println!("x: {}", x);
let x = box () 'c'; //~ ERROR box expression syntax is experimental
//~^ WARN deprecated syntax
println!("x: {}", x);
}

View file

@ -20,6 +20,7 @@ fn main() {
use std::boxed::HEAP;
let x = box (HEAP) 'c'; //~ ERROR placement-in expression syntax is experimental
//~^ WARN deprecated syntax
println!("x: {}", x);
let x = in HEAP { 'c' }; //~ ERROR placement-in expression syntax is experimental

View file

@ -15,4 +15,5 @@ fn main() {
box ( () ) 0;
//~^ ERROR: the trait `core::ops::Placer<_>` is not implemented
//~| ERROR: the trait `core::ops::Placer<_>` is not implemented
//~| WARN deprecated syntax
}

View file

@ -10,7 +10,10 @@
#![feature(box_syntax)]
fn dup(x: Box<isize>) -> Box<(Box<isize>,Box<isize>)> { box() (x, x) } //~ ERROR use of moved value
fn dup(x: Box<isize>) -> Box<(Box<isize>,Box<isize>)> {
box() (x, x) //~ ERROR use of moved value
//~^ WARN deprecated syntax
}
fn main() {
dup(box 3);
}

View file

@ -14,5 +14,6 @@ fn main() {
box (1 + 1)
//~^ HELP try using `box ()` instead:
//~| SUGGESTION box () (1 + 1)
//~| WARN deprecated syntax
; //~ ERROR expected expression, found `;`
}