diff options
Diffstat (limited to 'tests/ui/generics/generic-extern.rs')
| -rw-r--r-- | tests/ui/generics/generic-extern.rs | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/tests/ui/generics/generic-extern.rs b/tests/ui/generics/generic-extern.rs index 36fa5eaafd6..b4f00fc1187 100644 --- a/tests/ui/generics/generic-extern.rs +++ b/tests/ui/generics/generic-extern.rs @@ -1,7 +1,15 @@ +// Ensure that we reject generic parameters on foreign items. + extern "C" { fn foo<T>(); //~ ERROR foreign items may not have type parameters + + // Furthermore, check that type parameter defaults lead to a *hard* error, + // not just a lint error, for maximum forward compatibility. + #[allow(invalid_type_param_default)] // Should have no effect here. + fn bar<T = ()>(); //~ ERROR foreign items may not have type parameters + //~^ ERROR defaults for generic parameters are not allowed here } fn main() { - foo::<i32>(); //~ ERROR requires unsafe + unsafe { foo::<i32>() }; } | 
