D language compilateur lage 2.100

Devlopè langaj pwogram D yo te prezante lage prensipal konpilateur referans DMD 2.100.0, ki sipòte sistèm GNU/Linux, Windows, macOS ak FreeBSD. Kòd konpilatè a distribye anba BSL gratis (Boost Software License).

D se tape estatik, gen yon sentaks ki sanble ak C/C++, epi li bay pèfòmans lang konpile, pandan y ap prete kèk nan efikasite devlopman ak benefis sekirite nan lang dinamik. Pou egzanp, li bay sipò pou etalaj asosyativ, enferans kalite, jesyon memwa otomatik, pwogramasyon paralèl, yon pèseptè fatra si ou vle, yon sistèm modèl, konpozan metaprogramasyon, kapasite pou itilize bibliyotèk C, ak kèk bibliyotèk C++ ak Objektif-C.

Chanjman nan nouvo lage a enkli:

  • Ansyen estil operatè surcharge ki te itilize nan branch D1 a te sispann. Ranplase opNeg, opAdd_r, opAddAssign, elatriye. vin opUnary, opBinary, opBinaryRight ak opOpAssign. Ansyen style surcharge operatè a te demode an 2019 epi li pral voye yon erè apati de lage 2.100.
  • Mo kle efase a te demode depi 2018. Olye pou yo efase, ou ta dwe itilize fonksyon an detwi oswa core.memory.__delete.
  • Yo te aplike yon nouvo @mustuse atribi ki ka aplike nan kalite struct ak sendika kòm yon metòd altènatif nan manyen erè lè kòd la pa ka okipe eksepsyon (pa egzanp, nan blòk @nogc). Si yon ekspresyon ki make ak atribi @mustuse pa itilize nan kòd, konpilatè a ap jenere yon erè.
  • Pou etalaj estatik, itilizasyon pwopriyete ".tupleof" yo pèmèt yo jwenn sekans valè (lvalue) nan chak eleman nan etalaj la. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // foo analòg(1, 2, 3); float[3] fa; fa.tupleof = ia.tupleof; // devwa senp fa = ia rezilta nan yon afimasyon erè (fa == [1F, 2F, 3F]);

Sous: opennet.ru

Add nouvo kòmantè