Files
rust/tests/ui/generics/generic-extern.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

16 lines
552 B
Rust
Raw Normal View History

2025-08-06 01:26:26 +02:00
// Ensure that we reject generic parameters on foreign items.
2020-09-01 17:12:52 -04:00
extern "C" {
fn foo<T>(); //~ ERROR foreign items may not have type parameters
2025-08-06 01:26:26 +02:00
// 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() {
2025-08-06 01:26:26 +02:00
unsafe { foo::<i32>() };
}