Best viable overloading procedure algorithm; no_alias; call expr style casts

This commit is contained in:
Ginger Bill
2017-01-17 15:20:11 +00:00
parent 6dc6b6f8aa
commit 383f5b55ad
14 changed files with 366 additions and 222 deletions
+21 -4
View File
@@ -2,9 +2,23 @@
#import "fmt.odin";
#import "math.odin";
#import "mem.odin";
#import "opengl.odin";
main :: proc() {
foo :: proc(x: ^int) {
fmt.println("^int");
}
foo :: proc(x: rawptr) {
fmt.println("rawptr");
}
a: ^int;
b: ^f32;
c: rawptr;
foo(a);
foo(b);
foo(c);
// foo(nil);
foo :: proc() {
fmt.printf("Zero args\n");
}
@@ -18,13 +32,16 @@ main :: proc() {
THINGI :: 14451;
THINGF :: 14451.1;
foo();
foo(THINGI as int);
foo(int(THINGI));
// foo(THINGI);
foo(THINGF);
fmt.println(THINGI);
fmt.println(THINGF);
x: proc();
x = foo;
x();
f: proc();
f = foo;
f();
}