Change description
Remove the #[no_link] attribute
Area
linkage
Category
Other
FLS Paragraph ID
fls_ch9nkxkloozv
Change description (extended)
This is a pre-1.0 attribute that accidentally got stabilized. It was meant for compiler plugins, not regular crates. rust-lang/rust#152854 (comment) It is also rather fragile. If you use any function defined inside a crate you import using #[no_link] it might or might not work depending on if another crate has a normal dependency on it, if the function is codegened cross-crate and if the call site is optimized out or not. As such I think it should be deprecated and eventually removed. Even if we chose not to remove it from Rust, I do think it should not be documented in the FLS to avoid this fragile behavior in safety critical systems.
Change description
Remove the #[no_link] attribute
Area
linkage
Category
Other
FLS Paragraph ID
fls_ch9nkxkloozv
Change description (extended)
This is a pre-1.0 attribute that accidentally got stabilized. It was meant for compiler plugins, not regular crates. rust-lang/rust#152854 (comment) It is also rather fragile. If you use any function defined inside a crate you import using
#[no_link]it might or might not work depending on if another crate has a normal dependency on it, if the function is codegened cross-crate and if the call site is optimized out or not. As such I think it should be deprecated and eventually removed. Even if we chose not to remove it from Rust, I do think it should not be documented in the FLS to avoid this fragile behavior in safety critical systems.