// run-pass
// Test that unsafe impl for Sync/Send can be provided for extern types.

#![feature(extern_types)]

extern {
    type A;
}

unsafe impl Sync for A { }
unsafe impl Send for A { }

fn assert_sync<T: ?Sized + Sync>() { }
fn assert_send<T: ?Sized + Send>() { }

fn main() {
    assert_sync::<A>();
    assert_send::<A>();
}
