//@ check-pass | |
//@ aux-build:option_future.rs | |
// | |
// Check that if we promise to not impl what would overlap it doesn't actually overlap | |
#![feature(rustc_attrs)] | |
#![feature(with_negative_coherence)] | |
extern crate option_future as lib; | |
use lib::Future; | |
trait Termination {} | |
impl<E> Termination for Option<E> where E: Sized {} | |
impl<F> Termination for F where F: Future + Sized {} | |
fn main() {} |