52 lines
905 B
Plaintext
52 lines
905 B
Plaintext
import io:*
|
|
import mem:*
|
|
import vector:*
|
|
|
|
fun retMessage(): *char {
|
|
return "I do like type inference"
|
|
}
|
|
fun id<T>(in: T): T { return in; }
|
|
|
|
obj CustomObj {
|
|
var data: int;
|
|
}
|
|
|
|
obj CustomObjTmplt<T> {
|
|
var data: T;
|
|
}
|
|
fun inFun<T>(in: T):T {
|
|
var src: CustomObjTmplt<T>
|
|
src.data = in
|
|
var dst = src
|
|
return dst.data
|
|
}
|
|
|
|
fun main():int {
|
|
var str = "hello"
|
|
var avar = 9
|
|
var mul = 9 * 3
|
|
var add = 9 + 3
|
|
var flt = 9.3
|
|
var msg = retMessage()
|
|
var fromTemplateFun = id(11);
|
|
var vec = new<vector<int>>()->construct()
|
|
vec->addEnd(avar)
|
|
|
|
var src: CustomObj
|
|
src.data = 80
|
|
var dst = src
|
|
var throughTemp = inFun("complicated");
|
|
|
|
println(str)
|
|
println(avar)
|
|
println(mul)
|
|
println(add)
|
|
println(flt)
|
|
println(msg)
|
|
println(fromTemplateFun)
|
|
println(vec->at(0))
|
|
println(dst.data)
|
|
println(throughTemp)
|
|
return 0
|
|
}
|