Hi, 2013/5/30 Huon Wilson <[email protected]>
> > Plain #[inline] has a declarative value, though. I haven't looked into >> what the compiler does, but I guess #[inline] can instruct it to emit >> metadata for inlining a public function at the call site, rather than just >> shipping a symbol in the crate. >> >> This is correct, as far as I understand; the AST of a function has to be > written to the crate for cross-crate inlining (so that it is accessible to > Rust/LLVM on the next compilations), and this is only written for > #[inline(always)] and #[inline]. I think the API impact of this should be documented. If you have a public #[inline] function, changing its body effectively changes the public API of your crate. Mikhail
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
