Rubigo 1.64 Programming Language Release

Consilium programmandi generalis-propositum linguae Rust 1.64, fundatum a Mozilla inceptum, nunc sub auspiciis instituendi Rust Foundation independens non lucrum, dimissum est. Lingua ad salutem memoriae intendit et medium praebet ut ad summum officium parallelismum perveniatur, vitato purgamentorum collectoris et runtime usui (runtime ad initializationem fundamentalem et sustentationem bibliothecae vexillum redacta est).

Rubiginis methodos memoria tractandi praeter elit ab erroribus, cum argumentis abusionibus defendunt et contra difficultates oriuntur, ob memoriam humili gradu tractantem, ut accessu memoriae area postquam liberata est, dereferencing nullis indicibus, quiddam eliminatum, etc. Bibliothecas distribuere, aedifices praebere et clientelas administrare, consilium sarcina oneraria onerariarum enucleat. Crates.io repositorium ad bibliothecas hospites sustentatur.

Memoria salutis in Rubigo tempore compilationis providetur, per respectum inhibitionem, semita obiecti possessionis custodiens, semita obiecti vitarum (scoporum), et rectitudo memoriae accessum perpendens in codice executioni. Rubigo etiam tutelam praebet contra integris scaenicis, amet initializationem valorum variabilium ante usum requirit, errores meliores in bibliotheca norma tractat, notionem immutabilium indiciorum et variabilium per defaltam applicat, validas typings stabilis praebet ad errores logicos extenuendos.

Innovationes principales:

  • Requisita pro ambitu Linux in compilator, sarcina sarcinarum onerariarum et librariorum libstd aucta sunt - minima requisita Glibc e versione 2.11 ad 2.17, et Linux nucleum a versione 2.6.32 ad 3.2. Restrictiones etiam applicare ad applicationem executables Rust cum libstd constructis. Distributio kits RHEL 7, SLES 12-SP5, Debian 8 et Decuria 14.04 novis requisitis occurrent. Support pro RHEL 6, SLES 11-SP4, Debian 7 et Ubuntu 12.04 cessandum est. Users qui Rust-aedificatis exsecutabilibus utuntur in ambitibus cum Linux nucleo vetustiore incitantur ad systemata sua upgrade, emissiones vetustiores compilatoris manent, vel sua furca cum laminis ad compatibilitatem conservandam conservant.

    Inter causas finis subsidii systematis Linux antiquioribus limitatae sunt facultates ad compatibilitatem antiquarum ambituum conservandam. Sustentatio pro legato Glibc requirit usum instrumentorum legatorum cum in reprimendo in systemate continua integratione, in facie versionis augendae requisita in LLVM et utilitatibus transversis compilation. Augmentum in nucleo versionis exigentiis debetur facultas utendi nova ratio vocat in libstd sine necessitate conservandi stratis ut convenientiam cum nucleis vetustioribus curent.

  • IntoFutura lineatio stabilita est, quae IntoIteratori similis est, sed ab hac differt utendo "exspectare" pro "in ..." loramenta. Composita cum IntoFuture, keyword "exspectare" potest non solum notam Future, sed etiam quaelibet alia genera quae ad Futurum converti possunt.
  • Rubigo-analyzer utilitas comprehenditur in collectione utilitatum quae rubigo solvo. Utilitas etiam in promptu est ad institutionem utendi rustup.
  • Procurator sarcinae sarcinae in workspace hereditatem includit ad tollendam duplicationem valorum campi communis inter fasciculos, ut Rubigo versiones et URLs repositoria. Addidit etiam subsidium ad aedificandum pluribus suggestis simul target (nunc plus quam unum modulum in optione "-scopi" exprimere potes.
  • Nova portio API in categoriis stabilis mota est, additis methodis et notarum exsecutionibus confirmatae sunt:
    • futurum :: IntoFuture
    • num :: NonZero * :: checked_mul
    • num :: NonZero * :: checked_pow
    • num ::NonZero*::saturating_mul
    • num :: NonZero * :: saturating_pow
    • num :: NonZeroI* :: abs
    • Num :: NonZeroI * :: checked_abs
    • num :: NonZeroI * :: overflowing_abs
    • num :: NonZeroI * :: saturating_abs
    • num :: NonZeroI * :: unsigned_abs
    • num :: NonZeroI * :: wrapping_abs
    • num :: NonZeroU* :: checked_add
    • num :: NonZeroU * :: checked_next_power_of_two
    • num :: NonZeroU* :: saturating_add
    • os :: unix :: processus :: CommandExt :: process_group
    • os :: fenestras :: fs :: FileTypeExt :: is_symlink_dir
    • os :: fenestras :: fs :: FileTypeExt :: is_symlink_file
  • Typi C-compatibiles, in modulo std::ffi stabilita antea, nucleo et bibliotheca alloc additae sunt:
    • core ::ffi ::CStr
    • core :: ffi :: FromBytesWithNulError
    • alloc ::ffi :: CString
    • alloc ::ffi ::FromVecWithNulError
    • alloc :: ffi :: IntoStringError
    • alloc :: ffi :: NulError
  • C typi antea confirmatae in std ::os:: moduli rudis moduli core ::ffi et std ::ffi additi sunt (exempli gratia, c_uint et c_ulonga genera pro uint et ulong C genera proposita sunt);
    • ffi :: c_char
    • ffi :: c_double
    • ffi :: c_float
    • ffi :: c_int
    • ffi :: c_long
    • ffi :: c_longlong
    • ffi :: c_schar
    • ffi :: c_short
    • ffi :: c_uchar
    • ffi :: c_uint
    • ffi :: c_ulong
    • ffi :: c_ulonglong
    • ffi :: c_ushort
  • Tractatores in humili gradu ad usum polle mechanismum confirmatae sunt (in posterum API simpliciorem praebere disponitur quae structurarum humilium graduum uti non requirit ut Pull et Pin);

    • futurum :: poll_fn
    • negotium:: parate!
  • attributum "const", quod facultatem utendi in quovis contextu loco constantium determinat, in segmento:: from_raw_partes functionis adhibetur.
  • Ut pressius notitiarum copia, memoria extensionis Ipv4Addr, Ipv6Addr, SocketAddrV4 et SocketAddrV6 structurae mutata est. Possit esse convenientiae exitus cum singulis fasciculis cratis quae utuntur std ::mem:: transmutare pro humili gradu structurarum manipulatione.
  • Constructum aeruginis compilator pro suggestu fenestrarum PGO optimizations utitur (optimization profile-ductus), quod effecit ut codicem compilationem perficiendi per 10-20% augere posset.
  • Compilator novam admonitionem de insuetis agris in quibusdam structuris implevit.

Adde, notare potes statum relationis in evolutione joci exsecutionis Rustensis linguae compilatoris, a gccrs projecti (GCC Rust) paratae et pro inclusione GCC approbatae. Post frontendam integrationem, vexillum instrumentorum GCC programmata in lingua Rust compilare possunt sine necessitate ad instituendum rustc compilator, utendo LLVM explicationibus aedificatum. Quamdiu progressio in vestigio est, et quae- stiones improvisas excludat, rubigo frontendi in GCC 13 integrabitur emissio, quae proximo Maio anno cedit. GCC 13 Rust exsecutio in beta status erit, nondum per defaltam potens.

Source: opennet.ru