mirror of https://github.com/rust-lang/rust
27 lines
464 B
Rust
27 lines
464 B
Rust
// Test that `rustc_specialization_trait` requires always applicable impls.
|
|
|
|
#![feature(min_specialization)]
|
|
#![feature(rustc_attrs)]
|
|
|
|
#[rustc_specialization_trait]
|
|
trait SpecMarker {
|
|
fn f();
|
|
}
|
|
|
|
impl SpecMarker for &'static u8 {
|
|
//~^ ERROR cannot specialize
|
|
fn f() {}
|
|
}
|
|
|
|
impl<T> SpecMarker for (T, T) {
|
|
//~^ ERROR specializing impl
|
|
fn f() {}
|
|
}
|
|
|
|
impl<T: Clone> SpecMarker for [T] {
|
|
//~^ ERROR cannot specialize
|
|
fn f() {}
|
|
}
|
|
|
|
fn main() {}
|