Rollup merge of #47344 - topecongiro:fixed-ices, r=alexcrichton
Add tests to fixed issues. Closes #36792. Closes #38091. Closes #39687. Closes #42148. Closes #42956.
This commit is contained in:
commit
f589482c57
16
src/test/compile-fail/issue-39687.rs
Normal file
16
src/test/compile-fail/issue-39687.rs
Normal file
@ -0,0 +1,16 @@
|
||||
// Copyright 2018 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(fn_traits)]
|
||||
|
||||
fn main() {
|
||||
<fn() as Fn()>::call;
|
||||
//~^ ERROR associated type bindings are not allowed here [E0229]
|
||||
}
|
17
src/test/run-pass/issue-36792.rs
Normal file
17
src/test/run-pass/issue-36792.rs
Normal file
@ -0,0 +1,17 @@
|
||||
// Copyright 2018 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(conservative_impl_trait)]
|
||||
fn foo() -> impl Copy {
|
||||
foo
|
||||
}
|
||||
fn main() {
|
||||
foo();
|
||||
}
|
29
src/test/run-pass/issue-38091.rs
Normal file
29
src/test/run-pass/issue-38091.rs
Normal file
@ -0,0 +1,29 @@
|
||||
// Copyright 2018 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(specialization)]
|
||||
|
||||
trait Iterate<'a> {
|
||||
type Ty: Valid;
|
||||
fn iterate(self);
|
||||
}
|
||||
impl<'a, T> Iterate<'a> for T where T: Check {
|
||||
default type Ty = ();
|
||||
default fn iterate(self) {}
|
||||
}
|
||||
|
||||
trait Check {}
|
||||
impl<'a, T> Check for T where <T as Iterate<'a>>::Ty: Valid {}
|
||||
|
||||
trait Valid {}
|
||||
|
||||
fn main() {
|
||||
Iterate::iterate(0);
|
||||
}
|
15
src/test/run-pass/issue-42148.rs
Normal file
15
src/test/run-pass/issue-42148.rs
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright 2018 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.
|
||||
|
||||
struct Zst;
|
||||
|
||||
fn main() {
|
||||
unsafe { ::std::ptr::write_volatile(1 as *mut Zst, Zst) }
|
||||
}
|
33
src/test/run-pass/issue-42956.rs
Normal file
33
src/test/run-pass/issue-42956.rs
Normal file
@ -0,0 +1,33 @@
|
||||
// Copyright 2018 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(associated_consts)]
|
||||
|
||||
impl A for i32 {
|
||||
type Foo = u32;
|
||||
}
|
||||
impl B for u32 {
|
||||
const BAR: i32 = 0;
|
||||
}
|
||||
|
||||
trait A {
|
||||
type Foo: B;
|
||||
}
|
||||
|
||||
trait B {
|
||||
const BAR: i32;
|
||||
}
|
||||
|
||||
fn generic<T: A>() {
|
||||
// This panics if the universal function call syntax is used as well
|
||||
println!("{}", T::Foo::BAR);
|
||||
}
|
||||
|
||||
fn main() {}
|
Loading…
Reference in New Issue
Block a user