7

I wrote a maximum() generic function in Vala. However, it does not compile. Here it is:

T maximum<T>(T a, T b) {
    return a > b ? a : b;
}

void main() {
    stdout.printf("%d\n", maximum(10, 2));
}

I got the following error:

generics.vala:2.12-2.16: error: Relational operation not supported for types `T' and `T'

Do you know how I can fix this function to be able to compile it? Thanks.

antoyo
  • 11,097
  • 7
  • 51
  • 82

1 Answers1

5

Generic direct comparison and various other operations aren't supported by current Vala. You may want to use and implement Gee.Comparable interface to use a compare_to() method instead.

elmarco
  • 31,633
  • 21
  • 64
  • 68