Skip to content

Commit 39014f3

Browse files
committed
Remove #[inline] from azul-dll functions (see rust-lang/rust#72944)
1 parent 75c1316 commit 39014f3

File tree

7 files changed

+440
-397
lines changed

7 files changed

+440
-397
lines changed

Cargo.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,9 @@ members = [
1212
# "azul-widgets",
1313
"azul-css-parser",
1414
"azul-native-style",
15-
]
15+
]
16+
17+
[profile.release]
18+
lto = true
19+
panic = "abort"
20+
codegen-units = 1

api/gen-api.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,7 @@ def generate_rust_dll(apiData):
520520
fn_args = fn_args_c_api(const, class_name, class_ptr_name, False, apiData)
521521

522522
functions_map[str(fn_prefix + to_snake_case(class_name) + "_" + fn_name)] = [fn_args, class_ptr_name];
523-
code += "#[no_mangle] #[inline] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_" + fn_name + "(" + fn_args + ") -> " + class_ptr_name + " { "
523+
code += "#[no_mangle] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_" + fn_name + "(" + fn_args + ") -> " + class_ptr_name + " { "
524524
code += fn_body
525525
code += " }\r\n"
526526

@@ -560,7 +560,7 @@ def generate_rust_dll(apiData):
560560

561561
functions_map[str(fn_prefix + to_snake_case(class_name) + "_" + fn_name)] = [fn_args, returns];
562562
return_arrow = "" if returns == "" else " -> "
563-
code += "#[no_mangle] #[inline] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_" + fn_name + "(" + fn_args + ")" + return_arrow + returns + " { "
563+
code += "#[no_mangle] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_" + fn_name + "(" + fn_args + ")" + return_arrow + returns + " { "
564564
code += fn_body
565565
code += " }\r\n"
566566

@@ -588,26 +588,26 @@ def generate_rust_dll(apiData):
588588
# az_item_delete()
589589
code += "/// Destructor: Takes ownership of the `" + class_name + "` pointer and deletes it.\r\n"
590590
functions_map[str(fn_prefix + to_snake_case(class_name) + "_delete")] = ["object: &mut " + class_ptr_name, ""];
591-
code += "#[no_mangle] #[inline] #[allow(unused_variables)] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_delete" + lifetime + "(object: &mut " + class_ptr_name + ") { " + stack_delete_body + "}\r\n"
591+
code += "#[no_mangle] #[allow(unused_variables)] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_delete" + lifetime + "(object: &mut " + class_ptr_name + ") { " + stack_delete_body + "}\r\n"
592592

593593
# az_item_deep_copy()
594594
code += "/// Copies the object\r\n"
595595
functions_map[str(fn_prefix + to_snake_case(class_name) + "_deep_copy")] = ["object: &" + class_ptr_name, class_ptr_name];
596-
code += "#[no_mangle] #[inline] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_deep_copy" + lifetime + "(object: &" + class_ptr_name + ") -> " + class_ptr_name + " { "
596+
code += "#[no_mangle] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_deep_copy" + lifetime + "(object: &" + class_ptr_name + ") -> " + class_ptr_name + " { "
597597
code += "object.clone()"
598598
code += " }\r\n"
599599
else:
600600
# az_item_delete()
601601
code += "/// Destructor: Takes ownership of the `" + class_name + "` pointer and deletes it.\r\n"
602602
functions_map[str(fn_prefix + to_snake_case(class_name) + "_delete")] = ["ptr: &mut " + class_ptr_name, ""];
603-
code += "#[no_mangle] #[inline] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_delete" + lifetime + "(ptr: &mut " + class_ptr_name + ") { "
603+
code += "#[no_mangle] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_delete" + lifetime + "(ptr: &mut " + class_ptr_name + ") { "
604604
code += "let _ = unsafe { Box::<" + rust_class_name + ">::from_raw(ptr.ptr as *mut " + rust_class_name + ") };"
605605
code += " }\r\n"
606606

607607
# az_item_shallow_copy()
608608
code += "/// Copies the pointer: WARNING: After calling this function you'll have two pointers to the same Box<`" + class_name + "`>!.\r\n"
609609
functions_map[str(fn_prefix + to_snake_case(class_name) + "_shallow_copy")] = ["ptr: &" + class_ptr_name, class_ptr_name];
610-
code += "#[no_mangle] #[inline] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_shallow_copy" + lifetime + "(ptr: &" + class_ptr_name + ") -> " + class_ptr_name + " { "
610+
code += "#[no_mangle] pub extern \"C\" fn " + fn_prefix + to_snake_case(class_name) + "_shallow_copy" + lifetime + "(ptr: &" + class_ptr_name + ") -> " + class_ptr_name + " { "
611611
code += class_ptr_name + " { ptr: ptr.ptr }"
612612
code += " }\r\n"
613613

azul-dll/Cargo.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@ categories = ["gui"]
1010
repository = "https://github.com/maps4print/azul"
1111
edition = "2018"
1212

13+
[lib]
14+
name = "azul"
15+
crate-type = ["rlib", "cdylib"]
16+
17+
[profile.release]
18+
lto = true
19+
panic = "abort"
20+
codegen-units = 1
21+
1322
[dependencies]
1423
azul-core = { path = "../azul-core", version = "0.0.2", default-features = false, features = ["opengl"] }
1524

0 commit comments

Comments
 (0)