Content-Length: 24740 | pFad | https://doc.rust-lang.org/std/string/../error/../string/../thread/../../../error_codes/./E0791.html

E0791 - Error codes index

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 T or *const T, where T may 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;
}
}








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://doc.rust-lang.org/std/string/../error/../string/../thread/../../../error_codes/./E0791.html

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy