summaryrefslogtreecommitdiffstats
path: root/tests/run-make/symbol-visibility/a_rust_dylib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/symbol-visibility/a_rust_dylib.rs')
-rw-r--r--tests/run-make/symbol-visibility/a_rust_dylib.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/run-make/symbol-visibility/a_rust_dylib.rs b/tests/run-make/symbol-visibility/a_rust_dylib.rs
new file mode 100644
index 000000000..a47df0ab7
--- /dev/null
+++ b/tests/run-make/symbol-visibility/a_rust_dylib.rs
@@ -0,0 +1,15 @@
+#![crate_type="dylib"]
+
+extern crate an_rlib;
+
+// This should be exported
+pub fn public_rust_function_from_rust_dylib() {}
+
+// This should be exported
+#[no_mangle]
+pub extern "C" fn public_c_function_from_rust_dylib() {
+ let _ = public_generic_function_from_rust_dylib(1u16);
+}
+
+// This should be exported if -Zshare-generics=yes
+pub fn public_generic_function_from_rust_dylib<T>(x: T) -> T { x }