Skip to content

Commit d3c88df

Browse files
committed
Inline extern function calls in impl_interface
1 parent c999c6f commit d3c88df

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,10 @@ struct HelloIfImpl;
6161

6262
// #[impl_interface]
6363
impl HelloIf for HelloIfImpl {
64+
#[inline]
6465
fn hello(&self, name: &str, id: usize) -> String {
6566
{
67+
#[inline]
6668
#[export_name = "__HelloIf_hello"]
6769
extern "Rust" fn __HelloIf_hello(name: &str, id: usize) -> String {
6870
let _impl: HelloIfImpl = HelloIfImpl;

src/lib.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pub fn def_interface(attr: TokenStream, item: TokenStream) -> TokenStream {
2929
if !attr.is_empty() {
3030
return compiler_error(Error::new(
3131
Span::call_site(),
32-
"expect an empty attribute: `#[crate_interface_def]`",
32+
"expect an empty attribute: `#[def_interface]`",
3333
));
3434
}
3535

@@ -89,7 +89,7 @@ pub fn impl_interface(attr: TokenStream, item: TokenStream) -> TokenStream {
8989
if !attr.is_empty() {
9090
return compiler_error(Error::new(
9191
Span::call_site(),
92-
"expect an empty attribute: `#[crate_interface_impl]`",
92+
"expect an empty attribute: `#[impl_interface]`",
9393
));
9494
}
9595

@@ -138,11 +138,13 @@ pub fn impl_interface(attr: TokenStream, item: TokenStream) -> TokenStream {
138138
};
139139

140140
let item = quote! {
141+
#[inline]
141142
#(#attrs)*
142143
#vis
143144
#sig
144145
{
145146
{
147+
#[inline]
146148
#[export_name = #extern_fn_name]
147149
extern "Rust" #new_sig {
148150
#call_impl

0 commit comments

Comments
 (0)