{"id":35875,"date":"2019-10-31T22:07:21","date_gmt":"2019-10-31T19:07:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rust-1-36\/"},"modified":"2019-10-31T22:07:21","modified_gmt":"2019-10-31T19:07:21","slug":"rust-1-36","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/rust-1-36","title":{"rendered":"Rust 1.36","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Das Entwicklerteam freut sich, Ihnen Rust 1.36 vorzustellen!<\/p>\n<p>Was ist neu in Rust 1.36?<br \/>\n<noindex>Der Trait Future wurde stabilisiert, neu: die Crate alloc, MaybeUninit, <a rel=\"nofollow\" href=\"http:\/\/blog.pnkfx.org\/blog\/2019\/06\/26\/breaking-news-non-lexical-lifetimes-arrives-for-everyone\/\"> NLL f\u00fcr Rust 2015<\/a>, neue Implementierung von HashMap&lt;K, V&gt; und neuer Flagge &#8212;offline f\u00fcr Cargo.<\/p>\n<p><\/noindex><br \/>\nJetzt im Detail:\n<\/p>\n<ul>\n<li> In Rust 1.36 wurde endlich <a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust\/pull\/59739\">der Trait stabilisiert.<\/a> Die Crate alloc.\n    <\/li>\n<li>Ab Rust 1.36 befinden sich Teile von std, die vom globalen Allokator abh\u00e4ngen (z. B. Vec), in der Crate alloc. Jetzt exportiert std diese Teile erneut.<br \/> Mehr dazu <a rel=\"nofollow\" href=\"https:\/\/blog.rust-lang.org\/2019\/07\/04\/Rust-1.36.0.html#the-alloc-crate-is-stable\">MaybeUninit anstelle von mem::uninitialized.<\/a>.\n    <\/li>\n<li>In fr\u00fcheren Versionen erlaubte mem::uninitialized Ihnen, die Initialisierungspr\u00fcfung zu umgehen, was f\u00fcr die lazy Allokation von Arrays genutzt wurde, aber diese Funktion ist ziemlich riskant (<br \/> ), weshalb der Typ MaybeUninit stabilisiert wurde, der sicherer ist.<a rel=\"nofollow\" href=\"https:\/\/blog.rust-lang.org\/2019\/07\/04\/Rust-1.36.0.html#maybeuninitt%3E-instead-of-mem::uninitialized\">mehr Details<\/a>Und da MaybeUninit eine sicherere Alternative ist, wird mem::uninitialized ab Rust 1.38 als veraltete Funktion gelten. <br \/> Wenn Sie mehr \u00fcber nicht initialisierten Speicher erfahren m\u00f6chten, k\u00f6nnen Sie den Blogeintrag (Alexis Beingessner) lesen. <br \/> NLL f\u00fcr Rust 2015.\n   <\/li>\n<li> In der Ank\u00fcndigung <br \/> Rust 1.31.0 <a rel=\"nofollow\" href=\"https:\/\/blog.rust-lang.org\/2018\/12\/06\/Rust-1.31-and-rust-2018.html#non-lexical-lifetimes\">erz\u00e4hlten die Entwickler von NLL (Non-Lexical Lifetime), einer Verbesserung f\u00fcr die Sprache, die den Borrow Checker intelligenter und benutzerfreundlicher macht. Beispiel:<\/a> let mut x = 5;<br \/>\nfn main() {<br \/>\n    let y = &amp;x;<br \/>\n    let z = &amp;mut x; \/\/ Das war vor 1.31.0 nicht erlaubt.<br \/>\n    In 1.31.0 funktionierte NLL nur in Rust 2018, mit dem Versprechen, dass die Entwickler die Unterst\u00fctzung auch f\u00fcr Rust 2015 hinzuf\u00fcgen w\u00fcrden.<br \/>\n}<\/p>\n<p>Wenn Sie mehr \u00fcber NLL erfahren m\u00f6chten, k\u00f6nnen Sie mehr in diesem <br \/> (Felix Klocks) lesen. <a rel=\"nofollow\" href=\"http:\/\/blog.pnkfx.org\/blog\/2019\/06\/26\/breaking-news-non-lexical-lifetimes-arrives-for-everyone\/\"> einem Blogbeitrag<\/a> Neuer Flag f\u00fcr Cargo \u2014 \u2014offline.\n    <\/li>\n<li>Neue Flagge f\u00fcr Cargo &#8212; &#8212;offline.<br \/>In Rust 1.36 wurde eine neue Flagge f\u00fcr Cargo stabilisiert. Die Flagge &#8212;offline sagt Cargo, dass es lokal zwischengespeicherte Abh\u00e4ngigkeiten verwenden soll, sodass diese sp\u00e4ter ohne Internet genutzt werden k\u00f6nnen. Wenn die ben\u00f6tigten Abh\u00e4ngigkeiten offline nicht verf\u00fcgbar sind und Internet ben\u00f6tigt wird, gibt Cargo einen Fehler zur\u00fcck. Um die Abh\u00e4ngigkeiten vorher herunterzuladen, kann der Befehl cargo fetch verwendet werden, der alle Abh\u00e4ngigkeiten herunterl\u00e4dt.\n    <\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/cargo\/blob\/master\/CHANGELOG.md#cargo-136-2019-07-04\">Hier<\/a> Es gibt auch \u00c4nderungen in der Standardbibliothek:\n<\/li>\n<\/ul>\n<p>\nJetzt kann das Makro dbg!() mehrere Argumente annehmen.\n<\/p>\n<ul>\n<li> Einige API sind jetzt mit const gekennzeichnet:\n    <\/li>\n<li> Layout::from_size_align_unchecked\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/core\/alloc\/struct.Layout.html#method.from_size_align_unchecked\">mem::needs_drop<\/a>;\n        <\/li>\n<li> <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/mem\/fn.needs_drop.html\">NonNull::dangling<\/a>;\n        <\/li>\n<li> <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/ptr\/struct.NonNull.html#method.dangling\">NonNull::cast<\/a>;\n        <\/li>\n<li> <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/ptr\/struct.NonNull.html#method.cast\">Neue API, die stabilisiert wurden:<\/a>.\n        <\/li>\n<\/ul>\n<\/li>\n<li>task::Waker\n<ul>\n<li> <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/task\/struct.Waker.html\">task::Poll<\/a> und <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/task\/enum.Poll.html\">VecDeque::rotate_left<\/a>;\n        <\/li>\n<li> <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/collections\/struct.VecDeque.html#method.rotate_left\"> VecDeque::rotate_right<\/a> und <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/collections\/struct.VecDeque.html#method.rotate_right\">Read::read_vectored<\/a>;\n       <\/li>\n<li> <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/io\/trait.Read.html#method.read_vectored\">Write::write_vectored<\/a> und <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/io\/trait.Write.html#method.write_vectored\">Iterator::copied<\/a>;\n       <\/li>\n<li> <a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/iter\/trait.Iterator.html#method.copied\">BorrowMut f\u00fcr String<\/a>;\n       <\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust\/pull\/60404\">str::as_mut_ptr<\/a>;\n       <\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/std\/primitive.str.html#method.as_mut_ptr\">str::as_mut_ptr<\/a>.\n       <\/li>\n<\/ul>\n<\/li>\n<li> Weitere \u00c4nderungen in der Standardbibliothek finden Sie hier <a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust\/blob\/master\/RELEASES.md#version-1360-2019-07-04\">hier<\/a>.\n<\/li>\n<\/ul>\n<p>\nWeitere \u00c4nderungen <a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust\/blob\/master\/RELEASES.md#version-1360-2019-07-04\">Rust<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/cargo\/blob\/master\/CHANGELOG.md#cargo-136-2019-07-04\">Cargo<\/a> und <a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust-clippy\/blob\/master\/CHANGELOG.md#rust-136\">Clippy<\/a>.\n<\/p>\n<p>Quelle: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/development\/15090750\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441 \u0440\u0430\u0434\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u043c Rust 1.36! \u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Rust 1.36? \u0421\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u0442\u0440\u0435\u0439\u0442 Future, \u0438\u0437 \u043d\u043e\u0432\u043e\u0433\u043e: \u043a\u0440\u0435\u0439\u0442 alloc, MaybeUninit&lt;T&gt;, NLL \u0434\u043b\u044f Rust 2015, \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f HashMap&lt;K, V&gt; \u0438 \u043d\u043e\u0432\u044b\u0439 \u0444\u043b\u0430\u0433 &#8212;offline \u0434\u043b\u044f Cargo. \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435: \u0412 Rust 1.36 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0442\u0440\u0435\u0439\u0442 Future. \u041a\u0440\u0435\u0439\u0442 alloc. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Rust 1.36, \u0447\u0430\u0441\u0442\u0438 std, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-35875","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441 \u0440\u0430\u0434\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u043c Rust 1.36!\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Rust 1.36?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/rust-1-36\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Rust 1.36 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441 \u0440\u0430\u0434\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u043c Rust 1.36!\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Rust 1.36?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/rust-1-36\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:07:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:07:21+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Rust 1.36 | ProHoster","description":"Das Entwicklerteam freut sich, Ihnen Rust 1.36 vorzustellen! Was ist neu in Rust 1.36?","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/rust-1-36","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Rust 1.36 | ProHoster","og:description":"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441 \u0440\u0430\u0434\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u043c Rust 1.36!\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Rust 1.36?","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/rust-1-36","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:07:21+00:00","article:modified_time":"2019-10-31T19:07:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35875","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 01:07:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:44:26","updated":"2026-01-22 01:07:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/35875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=35875"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/35875\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=35875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=35875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=35875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}