Files
boring-lang/examples/generics.bl

28 lines
391 B
Plaintext
Raw Permalink Normal View History

2022-03-12 04:35:48 -07:00
type MyTrait trait {}
type Pair[K, V: MyTrait] struct {
k: K,
2026-01-20 17:47:36 -07:00
v: V
2022-03-12 04:35:48 -07:00
}
type Value struct {
2026-01-20 17:47:36 -07:00
value: i64
2022-03-12 04:35:48 -07:00
}
impl MyTrait for Value {}
impl [K, V: MyTrait] Pair[K, V] {
fn get_value[T](self: Self, a: T): V {
return self.v;
}
}
fn main(): i64 {
2022-10-10 17:13:17 -06:00
let a = Pair[i64, Value]{
2022-03-12 04:35:48 -07:00
k: 4,
2026-01-20 17:47:36 -07:00
v: Value{value: 6}
2022-03-12 04:35:48 -07:00
};
2022-10-10 17:13:17 -06:00
return a.get_value[i64](999).value;
2022-03-12 04:35:48 -07:00
}