Open
Description
Note: This may be a feature, not a bug. But I wanted to make the point explicit.
If I make a crate named defs
with this:
#![feature(unboxed_closures)]
pub extern "rust-call" fn foo(_: (), _: ()) { println!("defs::foo"); }
and then a bin crate uses
with a dependency on defs
and this for its main.rs
:
extern crate defs;
fn main() {
println!("Hello");
defs::foo((), ());
println!("world!");
}
Compiling the former obviously provides the feature gate it needs to define something with the rust-call
ABI.
But compiling the latter does not require any feature gate, even though it is calling something via the rust-call
ABI which is not stable.
This may be fine, since the point of origin is gated (apart from problems like #34900). But it seems worth discussion.