<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Форум 'Rust' на RSDN</title>
    <link>http://rsdn.org/Forum/rust/</link>
    <description>Все о программировании на Rust</description>
    <category>rust</category>
    <language>ru-ru</language>
    <copyright>Copyright ©, RSDN, 2001-2007</copyright>
    <webMaster>forum@rsdn.org</webMaster>
    <generator>RSDN RSS Generator 1.3</generator>
    <image>
      <url>http://rsdn.org/rsdn.gif</url>
      <title>RSDN</title>
      <link>http://rsdn.org</link>
    </image>
    <lastBuildDate>Sat, 18 Apr 2026 08:30:18 GMT</lastBuildDate>
    <ttl>5</ttl>
	<item>
		<title>Rust за пять лет, что нового?</title>
		<link>http://rsdn.org/Forum/rust/9021319.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/9021319</guid>
		<comments>http://rsdn.org/Forum/rust/9021319</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=9021319</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/9021319</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=9021319</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Привет всем, давно не щупал и что то заскучал, какие там вкусные измения в языке? Накидайте пожалуйста.&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Fri, 21 Nov 2025 01:51:25 GMT</pubDate>
		
			<author>johny5 &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Rust Windows</title>
		<link>http://rsdn.org/Forum/rust/8990343.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8990343</guid>
		<comments>http://rsdn.org/Forum/rust/8990343</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8990343</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8990343</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8990343</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Кто-нибудь пользуется Rust для разработки в Windows ?&lt;br /&gt;
Подскажите какими обёртками пользуетесь ?&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Sat, 13 Sep 2025 20:07:40 GMT</pubDate>
		
			<author>_NN_ &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>11</slash:comments>
		
	</item>

	<item>
		<title>Создать соединение с БД из тестовой функции (rocket_db_pools)</title>
		<link>http://rsdn.org/Forum/rust/8912144.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8912144</guid>
		<comments>http://rsdn.org/Forum/rust/8912144</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8912144</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8912144</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8912144</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Добрый день!&lt;br /&gt;
&lt;br /&gt;
Есть простая программа &amp;mdash; HTTP-сервис.&lt;br /&gt;
При обработке get-запроса программа использует файловую базу данных sqlite. Для работы с БД используется rocket_db_pools.&lt;br /&gt;
Все сделано и работает как описано вот в этой статье:&lt;br /&gt;
&lt;a class="m" href="https://docs.rs/rocket_db_pools/latest/rocket_db_pools/" target="_blank"&gt;https://docs.rs/rocket_db_pools/latest/rocket_db_pools/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
В обычном "рабочем" режиме библиотека rocket "автоматически" вызывает функцию-обработчик get-запроса, и в качестве параметра передает ей объект соединения с БД Connection&amp;lt;LogsDB&amp;gt;. Этот параметр-объект создается "автоматически" внутри библиотеки rocket.&lt;br /&gt;
&lt;br /&gt;
Проблема возникла при реализации тестовой функции.&lt;br /&gt;
Я из тестовой функции хочу вызвать функцию, которая реализует обработку get-запроса. Для этого нужно "вручную" создать объект Connection&amp;lt;LogsDB&amp;gt; и передать его в обработчик-запроса.&lt;br /&gt;
Но как это сделать?.&lt;br /&gt;
Как в тестовой функции "вручную" создать объект Connection&amp;lt;LogsDB&amp;gt;?&lt;br /&gt;
Я читал описание этой библиотеки, но так и не смог ничего найти.&lt;br /&gt;
Подскажите пожалуйста.&lt;br /&gt;
&lt;br /&gt;
Вот код программы:&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;use&lt;/span&gt; rocket::get;
&lt;span class='kw'&gt;use&lt;/span&gt; rocket_db_pools::{Connection, Database};
&lt;span class='kw'&gt;use&lt;/span&gt; rocket_db_pools::sqlx::Row;
 
#[derive(Database)]
#[database(&lt;span class='str'&gt;"data_store"&lt;/span&gt;)]
&lt;span class='kw'&gt;struct&lt;/span&gt; LogsDB(sqlx::SqlitePool);
 
#[get(&lt;span class='str'&gt;"/&amp;lt;id&amp;gt;"&lt;/span&gt;)]
&lt;span class='com'&gt;//async fn read(mut db: Connection&amp;lt;LogsDB&amp;gt;, id: i64) -&amp;gt; Option&amp;lt;Log&amp;gt; {&lt;/span&gt;
async &lt;span class='kw'&gt;fn&lt;/span&gt; read(&lt;span class='kw'&gt;mut&lt;/span&gt; db: Connection&amp;lt;LogsDB&amp;gt;, id: &lt;span class='kw'&gt;i64&lt;/span&gt;) {
    &lt;span class='kw'&gt;let&lt;/span&gt; res = sqlx::query(&lt;span class='str'&gt;"SELECT content FROM logs WHERE id = ?"&lt;/span&gt;).bind(id)
        .fetch_one(&amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt; **db).await;
&lt;span class='com'&gt;//        .and_then(|r| Ok(log::Log(r.try_get(0)?)))
//        .ok()&lt;/span&gt;
}
 
#[cfg(test)]
&lt;span class='kw'&gt;mod&lt;/span&gt; tests {
    &lt;span class='kw'&gt;use&lt;/span&gt; super::*;
 
    #[tokio::test]
    async &lt;span class='kw'&gt;fn&lt;/span&gt; test_load_requests_and_write_updxmlfile() {
 
        &lt;span class='kw'&gt;let&lt;/span&gt; l_rocket = rocket::build().attach(LogsDB::init());
        &lt;span class='com'&gt;//let l_database = MarkingDatabase::init();&lt;/span&gt;
        &lt;span class='kw'&gt;let&lt;/span&gt; l_db1 = LogsDB::fetch(&amp;amp;l_rocket).unwrap();
        &lt;span class='kw'&gt;let mut&lt;/span&gt; l_db_connection1 = l_db1.aquire().await.unwrap();        
        
        read(l_db_connection1, 50)?;
    }
 
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Я так понимаю, что объект Connection&amp;lt;LogsDB&amp;gt; надо как-то получить в строке &lt;br /&gt;
"let mut l_db_connection1 = l_db1.aquire().await.unwrap();"&lt;br /&gt;
&lt;br /&gt;
Компилятор выдает ошибку на эту строку.&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Mon, 17 Mar 2025 18:32:48 GMT</pubDate>
		
			<author>zelenprog &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>7</slash:comments>
		
	</item>

	<item>
		<title>Раста в ядре Linux не будет</title>
		<link>http://rsdn.org/Forum/rust/8899464.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8899464</guid>
		<comments>http://rsdn.org/Forum/rust/8899464</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8899464</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8899464</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8899464</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Хоть этот раздел форума номинально мертв, но коллеги вы тут пропускаете такой мощный наезд, ведь обидели &lt;s&gt;растишку&lt;/s&gt; мышку — &lt;a class="m" href="https://lwn.net/ml/all/20250108122825.136021-3-abdiel.janulgue@gmail.com/" target="_blank"&gt;и насрали в&amp;nbsp;норку&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On Wed, Jan 08, 2025 at 04:16:18PM +0100, Miguel Ojeda wrote:&lt;br /&gt;
&lt;span class='lineQuote level1'&gt;&amp;gt; On Wed, Jan 8, 2025 at 3:00 PM Christoph Hellwig &amp;lt;hch@lst.de&amp;gt; wrote:&lt;/span&gt;&lt;br /&gt;
&lt;span class='lineQuote level1'&gt;&amp;gt; &amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class='lineQuote level1'&gt;&amp;gt; &amp;gt; No rust code in kernel/dma, please.&lt;/span&gt;&lt;br /&gt;
&lt;span class='lineQuote level1'&gt;&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class='lineQuote level1'&gt;&amp;gt; What do you suggest?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Keep the wrappers in your code instead of making life painful for others.&lt;br /&gt;
&lt;span class='lineQuote level1'&gt;&lt;br /&gt;
&amp;gt; Rust drivers shouldn't use C APIs directly, but rather use an abstraction of the&lt;/span&gt;&lt;br /&gt;
&lt;span class='lineQuote level1'&gt;&amp;gt; corresponding C API.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Don't force me to deal with your shiny language of the day&lt;/b&gt;.  Maintaining multi-language projects is a pain I have no interest in dealing with.&lt;br /&gt;
&lt;br /&gt;
If you want to use something that's not C, be that assembly or rust you write to C interfaces and deal with the impedence mismatch yourself as far as I'm concerned.&lt;div class='tagline'&gt;…≪ Dementor &lt;sup&gt;1.7.5&lt;/sup&gt; ✪ Lets Play a Game ⚃⚄⚅⚅⚅ ≫&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Mon, 17 Feb 2025 02:14:40 GMT</pubDate>
		
			<author>r0nd &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>16</slash:comments>
		
	</item>

	<item>
		<title>Практика</title>
		<link>http://rsdn.org/Forum/rust/8659951.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8659951</guid>
		<comments>http://rsdn.org/Forum/rust/8659951</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8659951</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8659951</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8659951</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;С НГ!&lt;br /&gt;
Подскажите пожалуйста где и как попрактиковаться с целью обучения.&lt;br /&gt;
Стажировок не нашёл. Опен соурсы тоже не нашёл где смог бы писать код. Хочется написать что-то такое что помогло бы при устройстве на работу.&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Sun, 31 Dec 2023 21:55:27 GMT</pubDate>
		
			<author>dsalodki &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>6</slash:comments>
		
	</item>

	<item>
		<title>как обновить код?</title>
		<link>http://rsdn.org/Forum/rust/8653186.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8653186</guid>
		<comments>http://rsdn.org/Forum/rust/8653186</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8653186</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8653186</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8653186</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;есть такой код&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;image::ColorType::Gray(8)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
как его обновить?&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Sun, 17 Dec 2023 12:32:42 GMT</pubDate>
		
			<author>dsalodki &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Есть ли проблемы со сборкой для всех платформ?</title>
		<link>http://rsdn.org/Forum/rust/8611345.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8611345</guid>
		<comments>http://rsdn.org/Forum/rust/8611345</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8611345</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8611345</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8611345</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Такой вопрос.&lt;br /&gt;
&lt;br /&gt;
Вот, библиотеку С++ можно собрать для всех возможных платформ:&lt;br /&gt;
&lt;br /&gt;
1. Linux&lt;br /&gt;
2. Winodws&lt;br /&gt;
3. macOs&lt;br /&gt;
4. Android&lt;br /&gt;
5. iOS&lt;br /&gt;
6. WebAssembly&lt;br /&gt;
&lt;br /&gt;
Все это реальный кейс и я через него прошел.&lt;br /&gt;
&lt;br /&gt;
Пробовали ли вы то же самое сделать на Rust? Возникают ли прблемы?&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Tue, 03 Oct 2023 11:38:55 GMT</pubDate>
		
			<author>Shmj &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>характеристики в векторе</title>
		<link>http://rsdn.org/Forum/rust/8558219.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8558219</guid>
		<comments>http://rsdn.org/Forum/rust/8558219</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8558219</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8558219</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8558219</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;задача: есть некие индикаторы, которые можно рассчитать. Но каждый индикатор может вернуть также разнородные данные. От этих данных требуется, чтобы они поддерживали только std::fmt::Display. Например, имя человека и его термпература (разные методы расчёта, разные возвращаемые типы).&lt;br /&gt;
Надо это всё засунуть в вектор.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;trait&lt;/span&gt; Indicator {
    &lt;span class='kw'&gt;type&lt;/span&gt; Type: std::fmt::Display; &lt;span class='com'&gt;// возвращаемый тип&lt;/span&gt;
    &lt;span class='kw'&gt;fn&lt;/span&gt; calc(&amp;amp;self) -&amp;gt; Box&amp;lt;&lt;span class='kw'&gt;Self&lt;/span&gt;::Type&amp;gt;; &lt;span class='com'&gt;// функция для расчёта. Хотелось бы возвращать не Box, но вроде это невозможно&lt;/span&gt;
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Текущая проблема &amp;mdash; не компилируется. Не понимаю как описать тип вектора.&lt;br /&gt;
&lt;a class="m" href="https://play.rust-lang.org/?version=stable&amp;amp;mode=debug&amp;amp;edition=2021&amp;amp;gist=431cf11e95deba8ebd60740b1764d791" target="_blank"&gt;https://play.rust-lang.org/?version=stable&amp;amp;amp;mode=debug&amp;amp;amp;edition=2021&amp;amp;amp;gist=431cf11e95deba8ebd60740b1764d791&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Fri, 07 Jul 2023 06:30:52 GMT</pubDate>
		
			<author>sergii.p &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>Связный список на Rust - уловить суть языка</title>
		<link>http://rsdn.org/Forum/rust/8550959.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8550959</guid>
		<comments>http://rsdn.org/Forum/rust/8550959</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8550959</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8550959</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8550959</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Вот код на С, который требует указателя и динамического выделения памяти:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;struct&lt;/span&gt; Node
{
  &lt;span class='kw'&gt;int&lt;/span&gt; data;
  &lt;span class='kw'&gt;struct&lt;/span&gt; Node *next;
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Тут как бы классика. И интересно как сделать то же самое на Rust.&lt;br /&gt;
&lt;br /&gt;
GPT дал версию с использованием системных Option и Box, что мне не интересно, т.к. не раскрывает внутреннего устройства как это работает. По сути Option и Box ничем не отличаются от умных указателей в С++, по этому как бы в чем преимущество языка &amp;mdash; мне не ясно.&lt;br /&gt;
&lt;br /&gt;
А без Option и Box вариант такой:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;struct&lt;/span&gt; Node {
    data: &lt;span class='kw'&gt;i32&lt;/span&gt;,
    next: *&lt;span class='kw'&gt;mut&lt;/span&gt; Node,
}

&lt;span class='kw'&gt;impl&lt;/span&gt; Node {
    &lt;span class='kw'&gt;fn&lt;/span&gt; new(data: &lt;span class='kw'&gt;i32&lt;/span&gt;) -&amp;gt; &lt;span class='kw'&gt;Self&lt;/span&gt; {
        Node { data, next: std::ptr::null_mut() }
    }
}

&lt;span class='kw'&gt;fn&lt;/span&gt; main() {
    &lt;span class='kw'&gt;let mut&lt;/span&gt; third_node = Node::new(3);
    &lt;span class='kw'&gt;let mut&lt;/span&gt; second_node = Node::new(2);
    &lt;span class='kw'&gt;let mut&lt;/span&gt; first_node = Node::new(1);

    first_node.next = &amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt; second_node;
    second_node.next = &amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt; third_node;

    &lt;span class='com'&gt;// Использование связанного списка&lt;/span&gt;
    &lt;span class='kw'&gt;let mut&lt;/span&gt; current_node = &amp;amp;first_node;
    &lt;span class='kw'&gt;while&lt;/span&gt; !current_node.next.is_null() {
        println!(&lt;span class='str'&gt;"Node data: {}"&lt;/span&gt;, current_node.data);
        current_node = &lt;span class='kw'&gt;unsafe&lt;/span&gt; { &amp;amp;*current_node.next };
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Но! Как оказалось &amp;mdash; этот код требует ручной очистки памяти.&lt;br /&gt;
&lt;br /&gt;
И тут я совсем запутался &amp;mdash; в чем же преимущество Rust? Ведь В С++ тоже есть умные указатели.&lt;br /&gt;
&lt;br /&gt;
Можно ли получить лаконичный пример где Rust бьет C++ и видны его преимущества? Я не вижу преимуществ Option и Box по сравнению с умными указателями.&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Sun, 25 Jun 2023 01:29:42 GMT</pubDate>
		
			<author>Shmj &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>10</slash:comments>
		
	</item>

	<item>
		<title>Чтение numeric из  postgres</title>
		<link>http://rsdn.org/Forum/rust/8497541.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8497541</guid>
		<comments>http://rsdn.org/Forum/rust/8497541</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8497541</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8497541</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8497541</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Всем привет.&lt;br /&gt;
&lt;br /&gt;
Пытаюсь прочитать данные из postgres, использую пакет postgres (про diesel знаю, но пока не хочу).&lt;br /&gt;
Строки читаются нормально.&lt;br /&gt;
&lt;br /&gt;
Но при попытке чтения numeric, получаю ошибку: "error retrieving column open: error deserializing column 2: cannot convert between the Rust type `f64` and the Postgres type `numeric`"&lt;br /&gt;
Сам код:&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;    &lt;span class='kw'&gt;for&lt;/span&gt; row &lt;span class='kw'&gt;in&lt;/span&gt; client.query(&amp;amp;sql, &amp;amp;[]).unwrap() {
        println!(&lt;span class='str'&gt;"{:?}"&lt;/span&gt;, row);
        &lt;span class='kw'&gt;let&lt;/span&gt; tmp: &lt;span class='kw'&gt;f64&lt;/span&gt; =  row.get(&lt;span class='str'&gt;"open"&lt;/span&gt;);
    }&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Как читать-то?&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Mon, 03 Apr 2023 13:50:04 GMT</pubDate>
		
			<author>MAMOHT &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>паттерн State</title>
		<link>http://rsdn.org/Forum/rust/8478280.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8478280</guid>
		<comments>http://rsdn.org/Forum/rust/8478280</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8478280</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8478280</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8478280</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;увидел довольно оригинальную технику реализации паттерна State на расте. На других языках такое городить тоже можно, но результат может не воодушевить.&lt;br /&gt;
Допустим реализуем сетевое соединение. Оно может быть либо в закрытом состоянии, либо открытом. Нам желательно в compile time запретить вызов метода close или write для ещё не открытого соединения (в классической реализации бросали исключения).&lt;br /&gt;
Приступим к реализации.&lt;br /&gt;
Сначала делаем пустые структуры для маркера состояния:&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;struct&lt;/span&gt; Open;
&lt;span class='kw'&gt;struct&lt;/span&gt; Close;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Затем реализуем собственно класс соединения:&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;struct&lt;/span&gt; Connection&amp;lt;State = Close&amp;gt; {
    ...
    state: std::marker::PhantomData&amp;lt;State&amp;gt;, &lt;span class='com'&gt;// иначе получим ошибку error[E0392]: parameter `State` is never used&lt;/span&gt;
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Реализуем наши методы для закрытого соединения:&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;impl&lt;/span&gt; Connection&amp;lt;Close&amp;gt; {
    &lt;span class='kw'&gt;fn&lt;/span&gt; open(self) -&amp;gt; Connection&amp;lt;Open&amp;gt; { todo!(); }
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
И для открытого:&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;impl&lt;/span&gt; Connection&amp;lt;Open&amp;gt; {
    &lt;span class='kw'&gt;fn&lt;/span&gt; close(self) -&amp;gt; Connection&amp;lt;Close&amp;gt; { todo!(); }
    &lt;span class='kw'&gt;fn&lt;/span&gt; write(&amp;amp;self, _data: &amp;amp;[&lt;span class='kw'&gt;u8&lt;/span&gt;]) { todo!(); }
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Пишем конструктор:&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;impl&lt;/span&gt; Connection {
    &lt;span class='kw'&gt;fn&lt;/span&gt; new() -&amp;gt; Connection {
        Connection{ state: std::marker::PhantomData }
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Теперь всё готово для использования&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;fn&lt;/span&gt; main() {
    &lt;span class='kw'&gt;let&lt;/span&gt; con = Connection::new().open();
    con.write(&lt;span class='str'&gt;"Hello"&lt;/span&gt;.to_owned().as_bytes());
    &lt;span class='kw'&gt;let&lt;/span&gt; con = con.close();
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Об остальном позаботится компилятор. Вызвать два раза open или close невозможно (на том же C++ это запретить тяжело). Попытаться записать что-то в закрытое соединение не получится.&lt;br /&gt;
Остаются только философские вопросы использования. Н-р соединение может стать закрытым не по нашей воле. Или как вообще хранить объект соединение? Получается только в открытом состоянии (в закрытом возможно смысла не имеет). &lt;br /&gt;
То есть вопросы по сравнению с классической реализацией конечно есть, но и выгода тоже наличиствует. Лично я классически паттерн state реализовывал только однажды. После получившегося "переусложнизма" зарёкся когда-либо ещё писать подобные конструкции. Такую же технику попробовать можно. Тут дублирование минимально.&lt;br /&gt;
&lt;br /&gt;
Код &lt;a class="m" href="https://play.rust-lang.org/?version=stable&amp;amp;mode=debug&amp;amp;edition=2021&amp;amp;gist=49b593914d0a35583e64860a1b8f17e6" target="_blank"&gt;https://play.rust-lang.org/?version=stable&amp;amp;amp;mode=debug&amp;amp;amp;edition=2021&amp;amp;amp;gist=49b593914d0a35583e64860a1b8f17e6&lt;/a&gt;&lt;br /&gt;
Оригинал на английском (и более подробно) можно послушать здесь&lt;br /&gt;
&lt;a class="lite" href="https://www.youtube.com/watch?v=_ccDqRTx-JU" id="_ccDqRTx-JU" style="width:640px;height:360px;" target="_blank"&gt;https://www.youtube.com/watch?v=_ccDqRTx-JU&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Mon, 27 Feb 2023 10:14:32 GMT</pubDate>
		
			<author>sergii.p &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>11</slash:comments>
		
	</item>

	<item>
		<title>Наконец то, каноническое решение FizzBuzz на Расте</title>
		<link>http://rsdn.org/Forum/rust/8470988.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8470988</guid>
		<comments>http://rsdn.org/Forum/rust/8470988</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8470988</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8470988</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8470988</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Буквально открыл для себя новое АПИ (merge_join_by), и решил побаловаться. Выглядит изящно&lt;br /&gt;
&lt;a class="m" href="https://play.rust-lang.org/?version=stable&amp;amp;mode=debug&amp;amp;edition=2021&amp;amp;gist=98211454f00ec23f5036d124fee9631d" target="_blank"&gt;https://play.rust-lang.org/?version=stable&amp;amp;amp;mode=debug&amp;amp;amp;edition=2021&amp;amp;amp;gist=98211454f00ec23f5036d124fee9631d&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Wed, 15 Feb 2023 23:51:45 GMT</pubDate>
		
			<author>johny5 &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>13</slash:comments>
		
	</item>

	<item>
		<title>мутабельные слайсы и borrow checker</title>
		<link>http://rsdn.org/Forum/rust/8470605.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8470605</guid>
		<comments>http://rsdn.org/Forum/rust/8470605</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8470605</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8470605</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8470605</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;споткнулся на такой забавный момент. Пока не понимаю причины&lt;br /&gt;
Такой код ругается на наличие изменяемой и неизменяемой ссылки одновременно&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;fn&lt;/span&gt; foo(nums: &amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt;[&lt;span class='kw'&gt;u32&lt;/span&gt;]) {
    todo!()
}

&lt;span class='kw'&gt;fn&lt;/span&gt; main() {
    &lt;span class='kw'&gt;let mut&lt;/span&gt; nums = [1, 2, 3, 4, 5, 6, 7];
    foo(&amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt; nums[0..nums.len() - 1]);
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;error[E0502]: cannot borrow `nums` as immutable because it is also borrowed as mutable
 --&amp;gt; src/main.rs:7:22
  |
7 |     foo(&amp;amp;mut nums[0..nums.len() - 1]);
  |              --------^^^^^^^^^^-----
  |              |       |
  |              |       immutable borrow occurs here
  |              mutable borrow occurs here
  |              mutable borrow later used here&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
а такой проходит нормально&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;fn&lt;/span&gt; main() {
    &lt;span class='kw'&gt;let mut&lt;/span&gt; nums = [1, 2, 3, 4, 5, 6, 7];
    &lt;span class='kw'&gt;let&lt;/span&gt; last = nums.len() - 1;
    foo(&amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt; nums[0..last]);
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Мне казалось что первый код должен автоматом переходить во второй. Но получается диапазоны вносят какие-то модификации в этот алгоритм.&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Wed, 15 Feb 2023 10:12:53 GMT</pubDate>
		
			<author>sergii.p &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>15</slash:comments>
		
	</item>

	<item>
		<title>1.66.0</title>
		<link>http://rsdn.org/Forum/rust/8437548.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8437548</guid>
		<comments>http://rsdn.org/Forum/rust/8437548</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8437548</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8437548</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8437548</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;вышла новая версия. Из интересного:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h6 class='formatter'&gt;тонкая настройка enum&lt;/h6&gt;
&lt;br /&gt;
можно выставлять идентифицирующее значение для enum со значениями&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;#[repr(&lt;span class='kw'&gt;u8&lt;/span&gt;)]
&lt;span class='kw'&gt;enum&lt;/span&gt; Foo
{
    A(&lt;span class='kw'&gt;i8&lt;/span&gt;), B(&lt;span class='kw'&gt;u8&lt;/span&gt;), C(&lt;span class='kw'&gt;bool&lt;/span&gt;) = 42, D    
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
теперь Foo::C(false) в памяти будет представлена как [42, 0]. &lt;br /&gt;
&lt;br /&gt;
&lt;h6 class='formatter'&gt;core::hint::black_box&lt;/h6&gt;
&lt;br /&gt;
Можно подсказать компилятору не оптимизировать результат выполнения какой-то операции. В основном надо для профилирования&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;fn&lt;/span&gt; push_cap(v: &amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt; Vec&amp;lt;&lt;span class='kw'&gt;i32&lt;/span&gt;&amp;gt;) {
    &lt;span class='kw'&gt;for&lt;/span&gt; i &lt;span class='kw'&gt;in&lt;/span&gt; 0..4 {
        v.push(i);
        black_box(v.as_ptr());
    }
}

&lt;span class='kw'&gt;pub fn&lt;/span&gt; bench_push() -&amp;gt; Duration { 
    &lt;span class='kw'&gt;let mut&lt;/span&gt; v = Vec::with_capacity(4);
    &lt;span class='kw'&gt;let&lt;/span&gt; now = Instant::now();
    push_cap(&amp;amp;&lt;span class='kw'&gt;mut&lt;/span&gt; v);
    now.elapsed()
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
здесь если не указать black_box, компилятор практически полностью выкинет код push_cap и замер будет нерелевантен.&lt;br /&gt;
Такой себе аналог volatile.&lt;br /&gt;
&lt;br /&gt;
&lt;h6 class='formatter'&gt;cargo remove&lt;/h6&gt;
&lt;br /&gt;
появилась возможность выкидывать пакеты (cargo add была добавлена ранее в 1.62)&lt;br /&gt;
&lt;br /&gt;
&lt;h6 class='formatter'&gt;диапазоны в match&lt;/h6&gt;
&lt;br /&gt;
добавлена поддержка диапазонов в match&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;let&lt;/span&gt; v= 42;
&lt;span class='kw'&gt;let&lt;/span&gt; i = match v{
    ..=45 =&amp;gt; &lt;span class='kw'&gt;true&lt;/span&gt;,
    45.. =&amp;gt; &lt;span class='kw'&gt;false&lt;/span&gt;
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
ранее приходилось несколько извращаться&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;let&lt;/span&gt; v= 42;
&lt;span class='kw'&gt;let&lt;/span&gt; i = match v{
    0..=45 =&amp;gt; &lt;span class='kw'&gt;true&lt;/span&gt;,
    _ =&amp;gt; &lt;span class='kw'&gt;false&lt;/span&gt;
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
почитать на английском &lt;a class="m" href="https://blog.rust-lang.org/2022/12/15/Rust-1.66.0.html" target="_blank"&gt;https://blog.rust-lang.org/2022/12/15/Rust-1.66.0.html&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Tue, 27 Dec 2022 16:07:20 GMT</pubDate>
		
			<author>sergii.p &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>В новом коде андроида больше половины на памяте-безопасных языках</title>
		<link>http://rsdn.org/Forum/rust/8420156.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8420156</guid>
		<comments>http://rsdn.org/Forum/rust/8420156</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8420156</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8420156</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8420156</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;&lt;a class="m" href="https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html" target="_blank"&gt;https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
И ощутимая доля на, собственно, Rust-е.&lt;br /&gt;
&lt;br /&gt;
Хотя на C/C++ всё ещё ощутимо больше кода, но тренд очевиден.&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Fri, 02 Dec 2022 11:43:45 GMT</pubDate>
		
			<author>vsb &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>

	<item>
		<title>Send but not Sync</title>
		<link>http://rsdn.org/Forum/rust/8418636.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8418636</guid>
		<comments>http://rsdn.org/Forum/rust/8418636</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8418636</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8418636</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8418636</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Вспотыкаюсь вот тут.&lt;br /&gt;
&lt;a class="m" href="https://play.rust-lang.org/?version=stable&amp;amp;mode=debug&amp;amp;edition=2021&amp;amp;gist=4cc7bb7b064c40b5acd79669a72f457c" target="_blank"&gt;https://play.rust-lang.org/?version=stable&amp;amp;amp;mode=debug&amp;amp;amp;edition=2021&amp;amp;amp;gist=4cc7bb7b064c40b5acd79669a72f457c&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Мне нужен контейнер для data такой, чтобы он был Send, но необязательно Sync.&lt;br /&gt;
Я думаю что могу сделать Arc&amp;lt;Mutex&amp;lt;&amp;gt;&amp;gt;, но мьютекс тут будет как бы оверкилл &amp;mdash; данные будут обрабатываться в одном потоке, просто я кидаю работу в другой поток.&lt;br /&gt;
&lt;br /&gt;
Какие ещё "умные указатели" в Расте есть, возможно даже нестандартные?&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Wed, 30 Nov 2022 09:42:28 GMT</pubDate>
		
			<author>johny5 &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>

	<item>
		<title>Как найти удобный и надежный crate, в частности для чтения x</title>
		<link>http://rsdn.org/Forum/rust/8418477.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8418477</guid>
		<comments>http://rsdn.org/Forum/rust/8418477</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8418477</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8418477</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8418477</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;взял этот &lt;a class="m" href="https://docs.rs/quick-xml/latest/quick_xml/reader/struct.Reader.html" target="_blank"&gt;https://docs.rs/quick-xml/latest/quick_xml/reader/struct.Reader.html&lt;/a&gt;&lt;br /&gt;
тк в serve проблемы с десериализацией на ровном месте возникли.&lt;br /&gt;
читает все тэги, кроме enclosure (видимо потому что нет закрывающего тэга). не понял как заставить его читать. &lt;img border='0' width='15' height='15' src='//rsdn.org/Forum/images/frown.gif' /&gt;&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt; &amp;lt;item&amp;gt; &amp;lt;title&amp;gt;Orion, Earth, and the Moon&amp;lt;/title&amp;gt;
 &amp;lt;link&amp;gt;http://www.nasa.gov/image-feature/orion-earth-and-the-moon&amp;lt;/link&amp;gt;
 &amp;lt;description&amp;gt;In this image, Orion captures a unique view of Earth and the Moon, seen from a camera mounted on one of the spacecraft&amp;#039;s solar arrays.&amp;lt;/description&amp;gt;
 &amp;lt;enclosure url="http://www.nasa.gov/sites/default/files/thumbnails/image/52530824918_0f808fa548_4k.jpg" length="796348" type="image/jpeg" /&amp;gt;
 &amp;lt;guid isPermaLink="false"&amp;gt;http://www.nasa.gov/image-feature/orion-earth-and-the-moon&amp;lt;/guid&amp;gt;
 &amp;lt;pubDate&amp;gt;Tue, 29 Nov 2022 13:11 EST&amp;lt;/pubDate&amp;gt;
 &amp;lt;source url="http://www.nasa.gov/rss/dyn/lg_image_of_the_day.rss"&amp;gt;NASA Image of the Day&amp;lt;/source&amp;gt;
&amp;lt;/item&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Wed, 30 Nov 2022 04:40:37 GMT</pubDate>
		
			<author>vaa &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>

	<item>
		<title>Почему в расте отсутствует выброс исключений?</title>
		<link>http://rsdn.org/Forum/rust/8413779.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8413779</guid>
		<comments>http://rsdn.org/Forum/rust/8413779</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8413779</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8413779</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8413779</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Почему в расте отсутствует выброс исключений? Это же удобный способ передачи управления.&lt;br /&gt;
Или быть может существует более продвинутый механизм наподобие &lt;a class="m" href="https://habr.com/ru/post/150198/" target="_blank"&gt;Common Lisp Condition System&lt;/a&gt; ?&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Tue, 22 Nov 2022 03:18:27 GMT</pubDate>
		
			<author>vaa &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>97</slash:comments>
		
	</item>

	<item>
		<title>Are we stack-efficient yet?</title>
		<link>http://rsdn.org/Forum/rust/8411199.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8411199</guid>
		<comments>http://rsdn.org/Forum/rust/8411199</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8411199</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8411199</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8411199</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Интересный сайт: &lt;a class="m" href="https://arewestackefficientyet.com/" target="_blank"&gt;https://arewestackefficientyet.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
TLDR у Rust-а есть проблема в избыточном насиловании стека в типовых программах, он уступает C++ по некоторым метрикам. Вопрос в качестве оптимизации по сути, ничего врожденного.&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Thu, 17 Nov 2022 13:32:47 GMT</pubDate>
		
			<author>vsb &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>15</slash:comments>
		
	</item>

	<item>
		<title>Интерфейс и несколько реализаций</title>
		<link>http://rsdn.org/Forum/rust/8406701.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/rust/8406701</guid>
		<comments>http://rsdn.org/Forum/rust/8406701</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8406701</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8406701</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8406701</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;В F# есть такая возможность, определить типа наподобие интерфейса и указывать различные реализации&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;type&lt;/span&gt; Db&amp;lt;'a&amp;gt; = { Save : 'a -&amp;gt; &lt;span class='kw'&gt;unit&lt;/span&gt; } // &amp;lt;=!!!
&lt;span class='kw'&gt;let&lt;/span&gt; mock = { Db.Save = &lt;span class='kw'&gt;fun&lt;/span&gt; (x:&lt;span class='kw'&gt;string&lt;/span&gt;) -&amp;gt; printfn $&lt;span class='str'&gt;"{x} is saved"&lt;/span&gt; } 
mock.Save &lt;span class='str'&gt;"ok"&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Пробовал аналогично определить поле в структуре раста, но не получается.&lt;br /&gt;
Принципиально не возможно? Как тогда гибко менять реализации в расте?&lt;/div&gt;
				
		</description>
		
		<category>rust</category>
		<pubDate>Mon, 14 Nov 2022 07:50:37 GMT</pubDate>
		
			<author>vaa &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>4</slash:comments>
		
	</item>
</channel>
</rss>
