Changed from typedef to obj and def
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
import io:*;
|
||||
|
||||
typedef NoTraits {};
|
||||
obj NoTraits {};
|
||||
|
||||
typedef Trait1 (FirstTrait) {};
|
||||
typedef Trait2 (SecondTrait) {};
|
||||
typedef TwoTrait (FirstTrait, SecondTrait) {};
|
||||
typedef AlreadySpecilized (FirstTrait, SecondTrait) {};
|
||||
obj Trait1 (FirstTrait) {};
|
||||
obj Trait2 (SecondTrait) {};
|
||||
obj TwoTrait (FirstTrait, SecondTrait) {};
|
||||
obj AlreadySpecilized (FirstTrait, SecondTrait) {};
|
||||
|
||||
fun OneTwoFunc<T>(obj: T): void {
|
||||
println("No Traits");
|
||||
@@ -30,12 +30,12 @@ template <AlreadySpecilized> |void| OneTwoFunc(|AlreadySpecilized| obj) {
|
||||
//This should work for objects too!
|
||||
//To test, we cycle the mapping of traits
|
||||
|
||||
typedef OneTwoObj<T> (FirstTrait) {};
|
||||
typedef OneTwoObj<T(FirstTrait)> (SecondTrait) {};
|
||||
typedef OneTwoObj<T(SecondTrait)> (FirstTrait, SecondTrait) {};
|
||||
typedef OneTwoObj<T(FirstTrait, SecondTrait)> {};
|
||||
obj OneTwoObj<T> (FirstTrait) {};
|
||||
obj OneTwoObj<T(FirstTrait)> (SecondTrait) {};
|
||||
obj OneTwoObj<T(SecondTrait)> (FirstTrait, SecondTrait) {};
|
||||
obj OneTwoObj<T(FirstTrait, SecondTrait)> {};
|
||||
/*
|
||||
*typedef template<AlreadySpecilized> OneTwoObj {
|
||||
*obj template<AlreadySpecilized> OneTwoObj {
|
||||
* void proveSpecilized() {
|
||||
* println("I'm specilized!");
|
||||
* }
|
||||
|
||||
Reference in New Issue
Block a user