GCC Rust frontend registers `needs_allocator` attribute stub
GCC Rust frontend registers `needs_allocator` attribute as a stub, emitting a warning.
GCC’s Rust frontend has registered the needs_allocator attribute as a stub. This attribute is required for compiling the alloc crate, but its full implementation is deferred due to dependencies on global_allocator infrastructure and the core::alloc::GlobalAlloc trait, which are not yet fully supported in GCC Rust. The stub emits a compiler warning when the attribute is encountered.
In Details
The needs_allocator attribute is registered as a stub in gcc/rust/checks/errors/rust-builtin-attribute-checker.cc and its definition added to gcc/rust/util/rust-attributes.cc. Full support for this attribute requires global_allocator and core::alloc::GlobalAlloc trait integration, which is deferred. It currently emits a warning.
- attribute
- A form of metadata that can be attached to code elements (like functions or types) to provide additional information to the compiler or runtime, influencing behavior or enabling specific features.
- alloc crate
- A standard Rust library crate providing memory allocation functionality, crucial for many Rust programs.
- stub implementation
- A placeholder implementation of a function or feature that provides basic functionality or a defined behavior (like emitting a warning) without the full logic, often used when a feature is not yet complete.
- GlobalAlloc trait
- A Rust trait that defines the interface for global memory allocators.