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:
commit
5b72fa42d4
@ -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
|
||||
|
@ -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)]
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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)]
|
||||
|
@ -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,
|
||||
|
@ -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>;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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 `;`
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user