lib.rs

 1use plugin::prelude::*;
 2
 3#[export]
 4pub fn noop() {}
 5
 6#[export]
 7pub fn constant() -> u32 {
 8    27
 9}
10
11#[export]
12pub fn identity(i: u32) -> u32 {
13    i
14}
15
16#[export]
17pub fn add(a: u32, b: u32) -> u32 {
18    a + b
19}
20
21#[export]
22pub fn swap(a: u32, b: u32) -> (u32, u32) {
23    (b, a)
24}
25
26#[export]
27pub fn sort(mut list: Vec<u32>) -> Vec<u32> {
28    list.sort();
29    list
30}
31
32#[export]
33pub fn print(string: String) {
34    println!("to stdout: {}", string);
35    eprintln!("to stderr: {}", string);
36}
37
38// #[import]
39// fn mystery_number(input: u32) -> u32;
40
41// #[export]
42// pub fn and_back(secret: u32) -> u32 {
43//     mystery_number(secret)
44// }