mirror of https://github.com/rust-lang/rust.git
Adding tests for closed issues
Closes #5806 Closes #5950 Closes #7178 Closes #8259 Closes #8578 Closes #8851 Closes #9129 Closes #10412
This commit is contained in:
parent
000cda611f
commit
3e04d2e3db
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
pub struct Foo<'a, A>(&'a A);
|
||||||
|
|
||||||
|
impl<'a, A> Foo<'a, A> {
|
||||||
|
pub fn new(a: &'a A) -> Foo<'a, A> {
|
||||||
|
Foo(a)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
|
||||||
|
pub enum Foo<'a> {
|
||||||
|
A,
|
||||||
|
B(&'a str),
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
|
||||||
|
trait Serializable<'self, T> { //~ ERROR: no longer a special lifetime
|
||||||
|
fn serialize(val : &'self T) -> ~[u8];
|
||||||
|
fn deserialize(repr : &[u8]) -> &'self T;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'self> Serializable<str> for &'self str {
|
||||||
|
fn serialize(val : &'self str) -> ~[u8] {
|
||||||
|
~[1]
|
||||||
|
}
|
||||||
|
fn deserialize(repr: &[u8]) -> &'self str {
|
||||||
|
"hi"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println("hello");
|
||||||
|
let x = ~"foo";
|
||||||
|
let y = x;
|
||||||
|
println(y);
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
// opyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
#[path = "../compile-fail"]
|
||||||
|
mod foo; //~ ERROR: illegal operation on a directory
|
||||||
|
|
||||||
|
fn main() {}
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
// xfail-fast
|
||||||
|
|
||||||
|
pub use local_alias = local;
|
||||||
|
|
||||||
|
mod local { }
|
||||||
|
|
||||||
|
fn main() {}
|
|
@ -0,0 +1,18 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
// xfail-fast
|
||||||
|
// aux-build:issue-7178.rs
|
||||||
|
|
||||||
|
extern mod cross_crate_self = "issue-7178";
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let _ = cross_crate_self::Foo::new(&1i);
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
// xfail-fast
|
||||||
|
// aux-build:issue-8259.rs
|
||||||
|
|
||||||
|
extern mod other = "issue-8259";
|
||||||
|
static a: other::Foo<'static> = other::A;
|
||||||
|
|
||||||
|
fn main() {}
|
|
@ -0,0 +1,24 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
pub struct UninterpretedOption_NamePart {
|
||||||
|
name_part: Option<~str>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a> UninterpretedOption_NamePart {
|
||||||
|
pub fn default_instance() -> &'static UninterpretedOption_NamePart {
|
||||||
|
static instance: UninterpretedOption_NamePart = UninterpretedOption_NamePart {
|
||||||
|
name_part: None,
|
||||||
|
};
|
||||||
|
&'static instance
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main() {}
|
|
@ -0,0 +1,33 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
#[feature(macro_rules)];
|
||||||
|
|
||||||
|
enum T {
|
||||||
|
A(int),
|
||||||
|
B(uint)
|
||||||
|
}
|
||||||
|
|
||||||
|
macro_rules! test(
|
||||||
|
($e:expr) => (
|
||||||
|
fn foo(t: T) -> int {
|
||||||
|
match t {
|
||||||
|
A(y) => $e,
|
||||||
|
B(y) => $e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
test!(10 + (y as int))
|
||||||
|
|
||||||
|
pub fn main() {
|
||||||
|
foo(A(20));
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
// xfail-pretty
|
||||||
|
|
||||||
|
#[feature(managed_boxes, macro_rules)];
|
||||||
|
|
||||||
|
pub trait bomb { fn boom(@self, Ident); }
|
||||||
|
pub struct S;
|
||||||
|
impl bomb for S { fn boom(@self, _: Ident) { } }
|
||||||
|
|
||||||
|
pub struct Ident { name: uint }
|
||||||
|
|
||||||
|
// macro_rules! int3( () => ( unsafe { asm!( "int3" ); } ) )
|
||||||
|
macro_rules! int3( () => ( { } ) )
|
||||||
|
|
||||||
|
fn Ident_new() -> Ident {
|
||||||
|
int3!();
|
||||||
|
Ident {name: 0x6789ABCD }
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn light_fuse(fld: @bomb) {
|
||||||
|
int3!();
|
||||||
|
let f = || {
|
||||||
|
int3!();
|
||||||
|
fld.boom(Ident_new()); // *** 1
|
||||||
|
};
|
||||||
|
f();
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main() {
|
||||||
|
let b = @S as @bomb;
|
||||||
|
light_fuse(b);
|
||||||
|
}
|
Loading…
Reference in New Issue