<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Выпуск Rust 1.87</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html</link>
    <description>В день празднования десятилетия с момента выпуска языка программирования Rust 1.0 (проект Rust был основан в 2006 году, выпуск 0.1 был сформирован в 2012 году, а первая стабильная версия предложена в 2015 году) опубликован релиз  Rust 1.87. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=63242&lt;br&gt;</description>

<item>
    <title>Выпуск Rust 1.87 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#581</link>
    <pubDate>Tue, 20 May 2025 19:49:30 GMT</pubDate>
    <description>&amp;gt; То есть там мало того, что есть сборщик мусора, так ещё и счётчик ссылок зачем-то воткнули?&lt;br&gt;&lt;br&gt;В Аде есть много разных сборщиков мусора. Но использовать их не обязательно. Мало того, один проект может использовать один тип сборщика мусора, а другой проект - другой, а третий - вообще его не использовать. Мало того, какой аллокатор хотите, такой и используйте.&lt;br&gt;Есть даже такая экзотика: какой либо конвертер выделяет память для работы по мере необходимости, а потом всё скопом освобождается, когда конвертация закончена. Просто потому, что во время работы освобождать нечего. Такой процесс не использует ни сборщик мусора, ни умные указатели. Не нужно это ему.&lt;br&gt;&lt;br&gt;Большинство модулей использует блочное выделение и освобождение памяти. Это просто быстрее, не возникает фрагментации кучи, и отлично подходит к специфике предметной области.&lt;br&gt;&lt;br&gt;По моему какие-то варианты сборщика мусора используют модули, заточенные под всякий Web. Но я ими не занимаюсь, и, если честно, в них не разбирался.&lt;br&gt;&lt;br&gt;И да, в .NET, например, если</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#580</link>
    <pubDate>Tue, 20 May 2025 19:14:11 GMT</pubDate>
    <description>&amp;gt;&amp;gt; &#091;B&#093;компилятора в ассемблер&#091;/B&#093; и своего ассемблера&lt;br&gt;&amp;gt; Я как один из авторов бекенда LLVM-RISCV наверно все-таки знаю как работает &lt;br&gt;&amp;gt; LLVM и уж точно знают побольше тебя. &lt;br&gt;&lt;br&gt;Т.е. как &quot;один из авторов бэкэнда&quot; - ты даже не задумывался, почему это llvm-as и прочие llc - вынесены в tools (т.е. опциональны и не задействованны в компиляторе расте&#091;1&#093;, как впрочем AFAIK нет и &quot;компилирования в ассемблер&quot; в том же GCC)?&lt;br&gt;Но ты продолжай, продолжай ...&lt;br&gt;&lt;br&gt;&amp;gt; что если (как ты говоришь) кресты дырявые, то дырявый и твой &lt;br&gt;&amp;gt; раст потому что раст не имеет ни компилятора, ни ассемблера. Все &lt;br&gt;&amp;gt; что он умеет это преобразовывать код на расте в LLVM-IR, а &lt;br&gt;&amp;gt; дальше это всё уже компилируется &quot;дырявым&quot; софтором на С++ в ассемблер &lt;br&gt;&amp;gt; -&amp;gt; бинарный код. &#091;B&#093;Дак вот если в этом софте бага с &lt;br&gt;&amp;gt; переполнением, use-after-free и т.п., то и твой код на расте получится &lt;br&gt;&amp;gt; дырявым.&#091;/B&#093;&lt;br&gt;&lt;br&gt;А не, лучше б не продолжал. *рукалицо.жпг* &lt;br&gt;&lt;br&gt;Так вот, дорогой &quot;автор&quot; - если в &quot;этом софте&quot; (т.е. LLVM) бага с переполнением, то она так и останетс</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (Ан Оним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#579</link>
    <pubDate>Tue, 20 May 2025 18:40:41 GMT</pubDate>
    <description>Программисты тоже любят шутить&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (Ан Оним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#578</link>
    <pubDate>Tue, 20 May 2025 18:38:18 GMT</pubDate>
    <description>В языке Ада нет интеллектуальных указателей, но для GNAT они реализуются в библиотеке.&lt;br&gt;Делать сборщик мусора или нет - спецификация Ады про это ничего не говорит, это зависит от разработчика компилятора.&lt;br&gt;&lt;br&gt;Парсеры стандартных форматов есть готовые в виде библиотек. А если какой-то свой - видимо резервируют память в пуле с запасом. &lt;br&gt;</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (Ан Оним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#577</link>
    <pubDate>Tue, 20 May 2025 18:24:00 GMT</pubDate>
    <description>Если говорить про Free Pascal, то в нём можно так же удобно работать с низкоуровневыми данными как в Си, и в то же время в нём есть средства для надёжной работы с высокоуровневыми данными (чего нет в Си). Во Free Pascal&apos;е три вида указателей:&lt;br&gt;1. Небезопасные ( вида var x: ^T1 ). Они эквивалентны Си-шным указателям и предназначены для работы с низкоуровневой информацией (байты, маш. слова) и системными вызовами, для них нет проверки типизации и разрешена арифметика.&lt;br&gt;2. Безопасные указатели ( вида var x: T1 , где T1 - класс ). Для них компилятор проверяет типизацию, наличие инициализации, для них запрещены арифметика и приведение типа. Эти указатели используют для работы с объектами и построения динамических структур данных типа списков.&lt;br&gt;3. Интеллектуальные указатели (вида var x: T1 , где T1 - интерфейс). Это контролируемые указатели на подсчёте ссылок на объект. Они автоматически уничтожают объект когда его никто не использует).&lt;br&gt;&lt;br&gt;Это только маленькая часть отличий Free Pascal&apos;я от Си.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#576</link>
    <pubDate>Tue, 20 May 2025 13:32:12 GMT</pubDate>
    <description>&amp;gt; Я как один из авторов бекенда LLVM-RISCV&lt;br&gt;&lt;br&gt;Я тебе конечно верю&lt;br&gt;Разве могут быть сомненья&lt;br&gt;В интернете Анонимы&lt;br&gt;Только правду говорят!&lt;br&gt;&lt;br&gt;&amp;gt; что если (как ты говоришь) кресты дырявые, &lt;br&gt;&lt;br&gt;Ага, а они дырявые.&lt;br&gt;&lt;br&gt;&amp;gt; то дырявый и твой раст &lt;br&gt;&lt;br&gt;Д - Логика (с)&lt;br&gt;&lt;br&gt;&amp;gt;  Дак вот если в этом софте бага с переполнением, use-after-free и т.п., то и твой код на расте получится дырявым.&lt;br&gt;&lt;br&gt;С чего вдруг?&lt;br&gt;Может просто процесс компиляции крашнеся, или для уязвимости нужно самому заниматься компиляцией.&lt;br&gt;Раст выступает в роли дополнительного слоя защиты от врожденных багов недоязычков.&lt;br&gt;Но раз ты спец в llvm, то для тебя будет легко найти пример уязвимости, которая просочилась в получаемый бинарник.&lt;br&gt;&lt;br&gt;ps и да, к сожалению llvm таки дырявый.&lt;br&gt;&quot;В итоге в кодовой базе LLVM удалось выявить 12 новых проблем, из которых 8 были вызваны ошибками, приводящими к повреждению памяти. 6 выявленных уязвимостей приводили к переполнению буфера, 2 к обращению к уже освобождённой памяти, 3 - к разыменованию нулевых уязазателей и 1 к чтению из обл</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#575</link>
    <pubDate>Tue, 20 May 2025 13:17:22 GMT</pubDate>
    <description>Я как один из авторов бекенда LLVM-RISCV наверно все-таки знаю как работает LLVM и уж точно знают побольше тебя. А сказать я хотел, что если (как ты говоришь) кресты дырявые, то дырявый и твой раст потому что раст не имеет ни компилятора, ни ассемблера. Все что он умеет это преобразовывать код на расте в LLVM-IR, а дальше это всё уже компилируется &quot;дырявым&quot; софтором на С++ в ассемблер -&amp;gt; бинарный код. Дак вот если в этом софте бага с переполнением, use-after-free и т.п., то и твой код на расте получится дырявым.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#574</link>
    <pubDate>Tue, 20 May 2025 11:28:03 GMT</pubDate>
    <description>Я имел ввиду систему ограничений на доступные средства языка.&lt;br&gt;&lt;br&gt;Например декларировал, что в конкретной функции нельзя работать с кучей. И компилятор проходя по этой функции и всему древу вызовов проверяет что нигде куча не трогается никаким образом.&lt;br&gt;&lt;br&gt;Думаю, знаете, где это может пригодиться.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск Rust 1.87 (анонимус)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/136868.html#573</link>
    <pubDate>Mon, 19 May 2025 19:59:25 GMT</pubDate>
    <description>&amp;gt; Почитать документацию и убедиться, что unsafe не означает вседозволенность.&lt;br&gt;&lt;br&gt;Хе-хе, этот unsafe, чей надо unsafe! Это другое!! Ничё вы не понимаете!!!&lt;br&gt;</description>
</item>

</channel>
</rss>
