D lingua compilator dimittis 2.100

Tincimenta linguae programmationis D emissionem praebebant praecipuae compilatoris DMD 2.100.0, quae GNU/Linux, Windows, macOS et FreeBSD systemata sustinet. Codex compilator sub gratuito BSL (Boost Software License distribuitur).

D stabiliter figuratur, syntaxin similem C/C++ habet, et linguarum exaratarum observantiam praebet, dum quaedam mutuatur evolutionis efficaciae et securitatis utilitates linguarum dynamicarum. For example, providet subsidium associativum vestium, genus consequentiae, automatis memoria administratione, programmatio parallela, exactor ad libitum quisquiliarum, systema template, metaprogramming components, facultas utendi C bibliothecarum, et nonnulla C++ et Objective-C bibliothecae.

Inter mutationes in nova emissione;

  • Antiquus modus operantis obruendi usus in D1 ramo discontinuata est. Locum supplet opNeg, opAdd_r, opAddAssign, etc. came opUnary, opBinary, opBinaryRight and opOpAssign. Antiquus modus operantis obruendi anno 2019 detestatus est et errorem mittet tamquam remissionis 2.100.
  • Delete keyword deprecata est quia MMXVIII. Instead of delete, should use the destroy or core.memory.__ function delere.
  • Novum attributum @mustuse adductum est, quod ad formas et formas unionis applicari potest ut jocus methodus erroris tractandi cum codice exceptiones tractare non possit (exempli gratia, in @nogc cuneos). Si expressio notata cum attributo @mustuse in codice non adhibetur, compilator errorem generabit.
  • Pro vestimentis staticis, usus proprietatis ".tupleof" permittitur consequi ordinem valorum (lvalue) uniuscuiusque elementi ordinatae. vacua foo(int, int, int) { /* ... */ } int[3]ia = [1, 2, 3]; foo(ia.tupleof); analogum foo (1, 2, 3); natare[3] fa; fa.tupleof = ia.tupleof; // simplex assignatio fa = ia consequitur in errore asserunt (fa == [1F, 2F, 3F]);

Source: opennet.ru