diff options
Diffstat (limited to 'src/test/ui/extern/extern-with-type-bounds.rs')
-rw-r--r-- | src/test/ui/extern/extern-with-type-bounds.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/extern/extern-with-type-bounds.rs b/src/test/ui/extern/extern-with-type-bounds.rs new file mode 100644 index 000000000..8f9683e4a --- /dev/null +++ b/src/test/ui/extern/extern-with-type-bounds.rs @@ -0,0 +1,20 @@ +#![feature(intrinsics)] + +extern "rust-intrinsic" { + // Real example from libcore + fn type_id<T: ?Sized + 'static>() -> u64; + + // Silent bounds made explicit to make sure they are actually + // resolved. + fn transmute<T: Sized, U: Sized>(val: T) -> U; + + // Bounds aren't checked right now, so this should work + // even though it's incorrect. + fn size_of<T: Clone>() -> usize; + + // Unresolved bounds should still error. + fn align_of<T: NoSuchTrait>() -> usize; + //~^ ERROR cannot find trait `NoSuchTrait` in this scope +} + +fn main() {} |