Error code E0791
Static variables with the #[linkage] attribute within external blocks
must have one of the following types, which are equivalent to a nullable
pointer in C:
- 
*mut Tor*const T, whereTmay be any type.
- 
An enumerator type with no #[repr]attribute and with two variants, where one of the variants has no fields, and the other has a single field of one of the following non-nullable types:- Reference type
- Function pointer type
 The variants can appear in either order. 
For example, the following declaration is invalid:
#![allow(unused)] #![feature(linkage)] fn main() { extern "C" { #[linkage = "extern_weak"] static foo: i8; } }
The following declarations are valid:
#![allow(unused)] #![feature(linkage)] fn main() { extern "C" { #[linkage = "extern_weak"] static foo: Option<unsafe extern "C" fn()>; #[linkage = "extern_weak"] static bar: Option<&'static i8>; #[linkage = "extern_weak"] static baz: *mut i8; } }