mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-16 16:01:26 -07:00
Best viable overloading procedure algorithm; no_alias; call expr style casts
This commit is contained in:
+21
-4
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user