Re: [Vala] State of the Vala union
- From: "Dr. Michael Lauer" <mickey vanille de>
- To: Matthias Berndt <Matthias_Berndt gmx de>
- Cc: Ulink <ulink gmx at>, vala-list <vala-list gnome org>
- Subject: Re: [Vala] State of the Vala union
- Date: Thu, 13 Apr 2017 10:42:45 +0200
Hi Matthias,
Well, apparently storing objects in a List is esoteric,
because the compiler will let obvious type errors pass:
var l1 = new ArrayList<Foo>();
ArrayList<Object> l2 = l1;
l2.add(new Object());
Foo f = l1[0]; // f has type Foo but points to an Object, no cast is needed.
And apparently creating a delegate that takes a generic type as an argument is
also esoteric, because that makes the compiler crash:
class Foo<T> {
public delegate void del(T t);
public del bla() {
return y => {};
}
}
Bindings to C functions with a generic type are obviously something only a
poser would do. Surely that's the only reason why simple_generics was added:
[CCode(simple_generics = true)]
extern GLib.HashTable<K, V> g_hash_table_ref<K, V>(GLib.HashTable<K, V> ht);
Calls to a function defined like this will lead to broken C code being generated.
Thanks – these look like valid issues to me.
Could we burden you with opening bugs for those issues or did you already?
Cheers,
:M:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]