Rubigo 1.53 dimissa. Google fundet rubiginem addens subsidium Linux nucleo

Emissio systematis programmandi linguae Rust 1.53, a Mozilla projecto fundata, nunc sub auspiciis organizationis Rust Fundationis independentis non lucri, divulgatum est. Lingua ad salutem memoriae intendit, administrationem automaticam memoriam praebet et instrumenta praebet ut parallelismum perficiat sine purgamento collectoris vel runtime adhibito (runtime ad initializationem et sustentationem bibliothecae vexillum fundamentalis redactus est).

Rubigo latae memoriae administratio errores excludit cum abusionibus indicibusque et quaestionibus ab humili gradu memoriae manipulationis ortis protegit, ut accessu memoriae regionis, postquam liberata est, nullum indicium dereferences, quiddam eliminatum, etc. Bibliothecas distribuere, conventum curare ac clientelas regere, consilium sarcina oneraria administrare. Crates.io repositorium ad bibliothecas hospites sustentatur.

Innovationes principales:

  • Pro vestimentis, lineamentum IntoIterator adductum est, quod permittit te iterationem elementorum ordinatarum per valores ordinare: nam i in [1, 2, 3] { .. }

    Licebit etiam disponere ad methodos iteratores suscipientes, verbi gratia: ponatur = BTreeSet::from_iter([1, 2, 3]); pro (a, b) in some_iterator.chain([1]).rar([1, 2, 3]{ ..}

    Previously, IntoIterator was only implemented for array references, i.e. ad iterandum per valores quae ad usum references ("&[1, 2, 3]") vel "[1, 2, 3].iter()". IntoIterator exsecutio vestium impedita est compatibilitatis quaestiones, quae a priori compilator conversione ab ordinata sunt.into_iter() ad (&array).into_iter(). Problemata haec cum habemus - compilator perget convertendi aciem.into_iter() ad (&ordinata).into_iter() quasi nulla exsequens notam IntoIteratoris, sed solum cum methodum utendi ".into_iter" appellans. )" syntaxin et sine tactu vocat in forma "in[1, 2, 3]", "iter.rar(1, 2, 3]", "IntoIterator::into_iter([1, 2, 3]. )".

  • Possibile est expressiones specificare "|" in quacumque parte Formulae, exempli gratia, pro "Quaedam(1) | Aliquid(2)" scribere nunc potes "Quidam(1 | 2)": match eventum = > { .. } _ => { .. } }
  • Usus characterum non-ASCII in identificantibus permittitur, inter quaslibet nationales notas in UAX 31 specificatione Unicode definitas, sed characteribus emojitis exclusis. Si diversis uteris, sed similibus notis, compilator admonebit. const BLΓ…HAJ: &str = "🦈"; { : Stringe, } sit Ξ± = 1; letsos = 2; monitus : identificador par considerari confusable between ' ' and ' s ' ;
  • Nova portio APIs ad categoriam stabilem translata est, inclusa sequenti stabilita:
    • ordinata :: from_ref
    • ordinata :: from_mut
    • AtomicBool ::fetch_update
    • AtomicPtr ::fetch_update
    • BTreeSet :: retinent
    • BTreeMap :: retinent
    • BufReader :: seek_relative
    • cmp :: min_by
    • cmp :: min_by_key
    • cmp :: max_by
    • cmp :: max_by_key
    • DebugStruct :: finish_non_exhaustive
    • Duration :: NIHIL
    • Duration:: MAX
    • Duratio :: is_zero
    • Durationem :: saturating_add
    • Duratio :: saturating_sub
    • Duratio :: saturating_mul
    • f32 :: is_subnormal
    • f64 :: is_subnormal
    • IntoIterator pro vestit
    • { integer } : : BITS
    • Io :: Error :: sine
    • NonZero * :: leading_zeros
    • NonZero * :: trailing_zeros
    • Option:: insert
    • Order :: is_eq
    • Order :: is_ne
    • Ordinare ::is_lt
    • Mandans :: is_gt
    • Ordinare ::is_le
    • Mandans :: is_ge
    • OsStr :: make_ascii_lowercase
    • OsStr :: make_ascii_uppercase
    • OsStr :: to_ascii_lowercase
    • OsStr :: to_ascii_uppercase
    • OsStr::is_ascii
    • OsStr ::eq_ignore_ascii_case
    • Peekable :: peek_mut
    • Rc::increment_strong_count
    • Rc::decrement_strong_count
    • scalpere ::IterMut ::as_slice
    • AsRef<[T]> pro scalpere ::IterMut
    • impl SliceIndex for (bound , )
    • Vec :: extend_from_within
  • Tertius gradus subsidii ad suggestum wasm64-ignotum-ignotum effectum est. Tertius gradus fundamentalis subsidii implicat, sed sine probatione automated, officialium aedificationum evulgandarum, vel iniecta an codici aedificari possit.
  • Procurator sarcinae onerariae ad nomen "principale" pro principali Git repositorio (PATER) defalta usus est. Dependentiae hosted in repositoriis qui nomine domini principali loco utuntur non iam ramum = "principale" configurandum requirunt.
  • In compilator, requisita ad versionem minimam LLVM eriguntur ad LLVM 10 .

Accedit, notare possumus praescriptum sumptu pro evolutione integrationis in Linux acinum instrumentorum ad componentes in lingua rustica enucleandas. Opus peragetur intra ambitum propositi Prossimo sub auspiciis organizationis ISRG (Investigationis Internet Securitatis Group), qui fundator propositi Encrypt HTTPS promovet et progressionem technologiarum ad securitatem augendam. Penitus. Pecunia a Google providebitur, quae opera Miguel Ojeda, auctori Rust-pro-Linux propositi, solvet. Antea, ISRG et Google iam fundaverunt HTTP creationem alterius HTTP ad Crispum utilitatem et progressionem novi TLS moduli pro Apache http servo.

Secundum Microsoft et Google, circiter 70% of vulnerabilitates causantur a memoria tuta tractandi. Optandum est ut Rust lingua utens ad nucleos explicandos componendos, ut aurigae machinae periculum vulnerum periculorum pertractatiorum et errorum periculorum causatorum reducent et errores tollunt ut accessus ad memoriam regionis postquam liberata est et quiddam limites excurrens.

Pertractatio tuta memoriae in Rubigo tempore compilationis providetur per relationem reprimendam, semita obiecti possessionis et obiecti vita (scoporum), necnon per aestimationem rectitudinis memoriae accessus in codice exsecutionis. Rubigo etiam tutelam praebet contra integri redundat, amet initializationem valorum variabilium ante usum requirit, errores meliores in bibliotheca norma tractat, notionem immutabilium notionum et variabilium per defaltam applicat, validas typings stabilis praebet ad errores logicos extenuendos.

Source: opennet.ru