Vala programmandi compilator renovationis linguae 0.50.4

Nova versio compilatoris pro lingua programmandi Vala 0.50.4 dimissa est. Ramus longi-term Vala 0.48.14 (pro Ubuntu 18.04) et ramus experimentalis Vala 0.51.3 renovata sunt.

Lingua Vala objectum programmandi linguam habet quae syntaxin similem C# vel Javae praebet. Gobject (Glib Object System) ut obiectum exemplar. Memoria procuratio fit per nexus possessores (possessores/unessores) vel ARC (substitutio destructorum et decrementorum obiecti referentis calculis in scaena compilation).

Lingua subsidium habet ad introspectionem, functiones lambda, interfaces, delegatos et commissuras, signa et foramina, exceptiones, proprietates, genera non-nulla, genus consequentiae pro variabilibus localibus. Ornamentum cum magno numero ligamentorum ad bibliothecas in C venit (vala-girs, vala-extra-vapis). Programmata Vala in C repraesentationem translata sunt et deinde a signo C compilator exarata, programmata currere potest in modo scripto.

Index mutationum:

  • Foo publici (params string[] args){ foreach (var arg in args) print(arg); } }
  • codegen:
    • Improved support for SimpleType constructors constructors (exempli gratia ligandi typedef uint32_t people_inside; from C)
    • Melior tractatio attributorum "NoWrapper".
    • Ccode.type_cname and get_ccode_type_name() permittuntur pro classes.
    • G_TYPE_INSTANCE_GET_CLASS/INTERFACE semper pro symbolis externis adhibetur.
    • Usus est g_boxed_free in libero fasciculo ad GLib.Value in acervo collocant.
    • Leak memoriae fixa in capsula implicita GLib.Value (continens universalis cuiusvis generis pretii).
    • Fixum est memoriam effluo, cum acervum struc- tura ACERVUS movens.
    • Hereditas destruentis structurae parentis procuratur
    • Recta retrieval of symbol_reference expressions projectorum nidificatorum emendatus est.
    • CcodeCastExpressionis eventus removit omnes nested.
    • Male vocantem substitit tenens signum default.
    • Coniunctus "string.h" pro strcmp() (POSIX profile, modus quo Vala codicem generat utens modo bibliothecae C vexillum).
  • Vala:
    • Improved detection of duplicata sarcina source files.
    • GtkChild agros / possessiones esse unowned declaravit.
    • Resignato agro GtkChild / proprietas prohibita est.
    • Strictior conditio ad lambda delegantis assignationem applicata est.
    • Simpliciter uti structurae simplicia uti prohibetur.
    • GLib.Value unboxing efficit ut valorem inutile redditur.
    • GLib.Value ad nullabilem struct/simplicem genus projicere prohibetur.
    • Argumentum generis adiecit reprehendo in basi specierum / classium / interfaciendi condiciones.
    • Capere va_list parametri / variabiles prohibetur.
    • Generica, quae regulam structurae praebent, ad rectam rationem mittendam accesserunt ad vitandum C UB.
    • Impletur genus consequentiae pro "in" intra enum.
    • Melior contextus reprehendo pro assignationibus ad campum scribendum.
    • Comprehendo "stdlib.h" pro Enum.to_string() (POSIX).
    • Rectus fons_reference ponitur pro variabilibus implicitis "hoc" et "exitu".
    • Mandatum errori praebebat pro inrita operandi internae unary locutionum.
  • Π‘odewriter: Constitit addens retinacula ";" post corpus WithStatement.
  • Girparser:
    • Processus anonymi delegati virtuali methodo vel signo non subnixus providetur.
    • De metadata ad methodos et parametris applicata "delegate_target"
    • Applicare "destroy_notify_cname" metadata ad agros
    • Applicare "type_get_function" metadata pro generibus et interfaces
    • CCode.type_cname pro classes si non defalta pone.
  • giwriter: Ensures exempli gratia parametri elementa scribuntur.
  • giwriter: Implemented default signo tracto output.
  • libvaladoc/html: remota genus structurae agros excedere suum originale ordinem cum generans documenta HTML valadoc.org
  • libvaladoc: Perficite ut bona pro Api.Class.is_compact recepta recte
  • libvaladoc: added wrapper for "age" graphviz library
  • Obligationes:
    • Minor figit ligamenta generans: cairo, gobject-2.0, pango, goocanvas-2.0, maledictiones alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4; fuse, libxml-2.0
    • gdk-pixbuf-2.0: Fige Pixbuf.save_to_streamv_async()
    • gio-2.0: PollableOutputStream.write * _nonblocking () binding fix
    • gio-2.0, gtk+-3.0, gtk4: Explicit c-genus attributorum va_list parametri abiciuntur
    • gio-2.0: invocator aliquot AppInfo absentis Selectae / File. () Modi
    • glib-2.0: GLib.[S]List.is_empty() methodi commodum pro non-nulla
    • glib-2.0: Binding the assert_cmp* function [#395]
    • glib-2.0: Improved OptionEntry.flags agri genus
    • glib-2.0: PtrArray nunc genus of GenericArray
    • gstreamer-1.0: Ccode.type_id of the MiniObject is set to G_TYPE_BOXED [#1133]
    • gtk+-2.0, javascriptcoregtk-4.0: Correctum usum CCode.type_cname attributum
    • gtk+-3.0,gtk4: certa bona reditus delegati ac parametri
    • gtk4: Renovata ad versionem 4.0.2.

Source: opennet.ru