finished basic traits

This commit is contained in:
Andrew Segavac
2021-09-25 11:45:31 -06:00
parent 223b36080b
commit 44df5f1980
12 changed files with 1116 additions and 1208 deletions

View File

@@ -81,19 +81,19 @@ fn main(): i64 {
}
}
// type TestTrait trait {
// fn class_method(id: i64): Self;
// fn instance_method(self: Self): i64;
// fn default_impl(self: Self): i64 {
// return self.instance_method();
// }
// }
//
// impl TestTrait for User {
// fn class_method(id: i64): Self {
// return User{id: id,};
// }
// fn instance_method(self: Self): i64 {
// return self.get_id();
// }
// }
type TestTrait trait {
fn class_method(id: i64): Self;
fn instance_method(self: Self): i64;
fn default_impl(self: Self): i64 {
return self.instance_method();
}
}
impl TestTrait for User {
fn class_method(id: i64): Self {
return User{id: id,};
}
fn instance_method(self: Self): i64 {
return self.get_id();
}
}