mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-14 23:41:30 +00:00
Generic function type aliases
This commit is contained in:
@ -11,27 +11,3 @@ assert(f2(2) == 2);
|
||||
var f3 = function someName(): void {
|
||||
};
|
||||
f3();
|
||||
|
||||
function makeAdder<T>(): (a: T, b: T) => T {
|
||||
return function theAdder(a: T, b: T): T {
|
||||
return a + b;
|
||||
};
|
||||
}
|
||||
|
||||
var i32Adder = makeAdder<i32>();
|
||||
assert(i32Adder(4, 2) == 6);
|
||||
|
||||
var f32Adder = makeAdder<f32>();
|
||||
assert(f32Adder(1.5, 2.5) == 4.0);
|
||||
|
||||
function makeAdderArrow<T>(): (a: T, b: T) => T {
|
||||
return (a: T, b: T): T => {
|
||||
return a + b;
|
||||
};
|
||||
}
|
||||
|
||||
var i8Adder = makeAdderArrow<i8>();
|
||||
assert(i8Adder(127, 127) == -2);
|
||||
|
||||
f1 = f2;
|
||||
assert(f1(4) == 4);
|
||||
|
Reference in New Issue
Block a user