Издање програмског језика Руст 1.43

објављено издање системског програмског језика Руст 1.43, који је основао пројекат Мозилла. Језик се фокусира на безбедност меморије, обезбеђује аутоматско управљање меморијом и пружа алате за постизање високог паралелизма задатака без коришћења сакупљача смећа и Рунтиме.

Руст-ово аутоматско управљање меморијом ослобађа програмера од манипулације показивачем и штити од проблема који произилазе из манипулације меморијом ниског нивоа, као што су приступи меморији након ослобађања, дереференцирање нулте показивача, прекорачење бафера и слично. Развија се менаџер пакета за дистрибуцију библиотека, осигуравање склапања и управљање зависностима од стране пројекта. Карго, што вам омогућава да једним кликом добијете библиотеке потребне за програм. Подржано је спремиште за хостовање библиотека сандуке.ио.

Главни иновације:

  • Макрои обезбеђују могућност коришћења фрагмената елемената да би се они претворили у код за особине (особине), имплементације (импл) или екстерне блокове. На пример:

    мацро_рулес! мац_траит {
    ($и:итем) => {
    особина Т { $и }
    }
    }
    мац_траит! {
    фн фоо() {}
    }

    Довешће до генерације:

    особина Т {
    фн фоо() {}
    }

  • Побољшана детекција типа примитива, референци и бинарних операција.
    На пример, следећи код, који је раније изазвао грешку, сада ће моћи да се компајлира (Руст сада исправно утврђује да 0.0 и &0.0 морају бити типа ф32):

    нека н: ф32 = 0.0 + &0.0;

  • Нова променљива окружења ЦАРГО_БИН_ЕКСЕ_{наме} је додата у Царго, која се поставља приликом израде интеграцијских тестова и омогућава вам да одредите пуну путању до извршне датотеке дефинисане у одељку „[[бин]]“ пакета.
  • Ако је изјавама дозвољено да користе атрибуте као што је „#[цфг()]“.
  • Библиотека пружа могућност коришћења повезаних константи директно за целобројне и разломке, без увоза модула. На пример, можете одмах написати у32::МАКС или ф32::НАН без претходног навођења „усе стд::у32“ и „усе стд::ф32“.
  • Додат је нови модул примитиван, који поново извози Руст примитивне типове, на пример када треба да напишете макро и уверите се да типови нису сакривени.
  • Нови део АПИ-ја је пребачен у стабилну категорију, укључујући и стабилизоване

    Једном::ис_цомплетед,
    ф32::ЛОГ10_2,
    ф32::ЛОГ2_10,
    ф64::ЛОГ10_2,
    ф64::ЛОГ2_10 и
    итер::онце_витх.

Извор: опеннет.ру

Додај коментар