<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>@inv2004</title><author><name>@inv2004</name></author><id>https://teletype.in/atom/inv2004</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/inv2004?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/inv2004?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-09-21T03:53:59.384Z</updated><entry><id>inv2004:cr21AgjDK3N</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/cr21AgjDK3N?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Переезд в telegram-канал: inv2004 Dev Blog</title><published>2022-01-09T02:12:18.245Z</published><updated>2022-01-11T13:10:08.430Z</updated><summary type="html">https://t.me/inv2004_dev_blog</summary><content type="html">
  &lt;p id=&quot;HrzT&quot;&gt;&lt;a href=&quot;https://t.me/inv2004_dev_blog&quot; target=&quot;_blank&quot;&gt;https://t.me/inv2004_dev_blog&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>inv2004:VkvmTr4aScq</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/VkvmTr4aScq?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Настройки клавиатуры для windows</title><published>2022-01-09T00:38:36.424Z</published><updated>2022-01-09T00:39:26.088Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/a3/30/a3307c4d-b553-496c-99b3-7a64fac75301.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/c7/00/c7007db5-67d3-4a49-b9a2-159b1497e293.png&quot;&gt;Несколько лет были проблемы с Ctrl - мне казалось, что нажимать её крайне удобно, после чего обнаружил, что я не один такой, и многие переносят её на CapsLock. Помогло, но всё же не полностью, и около года назад, обнаружив microsoft/PowerToys: Windows system utilities to maximize productivity (github.com) я скопировал Mac решение - а именно, перенести Ctrl на кнопку слева от пробела, а Alt на соседнюю  - и, кажется, что это лучший вариант на текущий момент.</summary><content type="html">
  &lt;p id=&quot;MCQC&quot;&gt;Несколько лет были проблемы с Ctrl - мне казалось, что нажимать её крайне удобно, после чего обнаружил, что я не один такой, и многие переносят её на CapsLock. Помогло, но всё же не полностью, и около года назад, обнаружив &lt;a href=&quot;https://github.com/microsoft/PowerToys&quot; target=&quot;_blank&quot;&gt;microsoft/PowerToys: Windows system utilities to maximize productivity (github.com)&lt;/a&gt; я скопировал Mac решение - а именно, перенести Ctrl на кнопку слева от пробела, а Alt на соседнюю  - и, кажется, что это лучший вариант на текущий момент.&lt;/p&gt;
  &lt;p id=&quot;swIx&quot;&gt;Дополнительная проблема, что системные кнопки не мапились, из-за этого пришлось дополнительно поменять местами комбинации alt+Tab и ctrl+Tab&lt;/p&gt;
  &lt;figure id=&quot;yN0p&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c7/00/c7007db5-67d3-4a49-b9a2-159b1497e293.png&quot; width=&quot;1418&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>inv2004:URwq1IC1K</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/URwq1IC1K?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Tiling WM for Windows-10</title><published>2020-12-27T00:32:45.245Z</published><updated>2020-12-27T00:35:41.444Z</updated><summary type="html">&lt;img src=&quot;https://teletype.in/files/a4/86/a486e9a5-a4cf-44fa-8ec4-e3c70866eaaf.gif&quot;&gt;Одна из причин, по которой меня иногда тянуло обратно на linux была dwm - dynamic window manager | suckless.org software that sucks less</summary><content type="html">
  &lt;p&gt;Одна из причин, по которой меня иногда тянуло обратно на linux была &lt;a href=&quot;https://dwm.suckless.org/&quot; target=&quot;_blank&quot;&gt;dwm - dynamic window manager | suckless.org software that sucks less&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Помню ещё давно искал что-то подобное на Win-10, но нормально рабочих решений не было, да и комбинации win+стрелки работали более-менее. Однако, неожиданно на github нашлось хорошее решение: &lt;a href=&quot;https://github.com/rickbutton/workspacer&quot; target=&quot;_blank&quot;&gt;rickbutton/workspacer: a tiling window manager for Windows (github.com)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;По виду видно, что это копировали именно с dwm, а не с чего-то другого. Пользуюсь - удобно. Есть конфиги с которыми пока не разбирался.&lt;/p&gt;
  &lt;p&gt;TaskBar на экране есть, хотя на скриншотах с их сайта его не видно.&lt;/p&gt;
  &lt;figure class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a4/86/a486e9a5-a4cf-44fa-8ec4-e3c70866eaaf.gif&quot; width=&quot;692&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>inv2004:179908.html</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/179908.html?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>duck-typing sh..</title><published>2020-05-29T22:23:56.000Z</published><updated>2020-12-25T18:57:43.635Z</updated><tt:hashtag>kdb</tt:hashtag><tt:hashtag>q</tt:hashtag><summary type="html">The root cause of the problem is quite simple:</summary><content type="html">
  &lt;pre&gt;t:([] k:&amp;#x60;a&amp;#x60;b&amp;#x60;a; v:1 2 3)
select k, v, kk:?[1=v mod 2; {&amp;#x60;$a,a:string x} each k;k] from t
k  k1 v
-------
aa a  1
b  b  2
aa a  3

select k, v, kk:?[1=v mod 2; {&amp;#x60;$a,a:string x} each k;k] from 0#t
&amp;#x27;type
  [0]  select k, v, kk:?[1=v mod 2; {&amp;#x60;$a,a:string x} each k;k] from 0#t

&lt;/pre&gt;
  &lt;p&gt;The root cause of the problem is quite simple:&lt;/p&gt;
  &lt;pre&gt;type {x} each &amp;#x60;a&amp;#x60;b
11h
type {x} each &amp;#x60;$()
0h // brakes everything, because ?[] check type of the second argument
&lt;/pre&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;kdb&quot;&gt;#kdb&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;q&quot;&gt;#q&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>inv2004:179633.html</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/179633.html?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Попытался переехать на linux, и откатился назад.</title><published>2020-03-06T11:47:14.000Z</published><updated>2020-12-25T18:59:17.461Z</updated><tt:hashtag>linux</tt:hashtag><tt:hashtag>windows</tt:hashtag><summary type="html">После прочтения https://www.phoronix.com/scan.php?page=article&amp;item=icelake-clear-windows&amp;num=1, поставил разные линуксы на второй ssd:
из приятного - действительно время сборки с ходу в два раза меньше.
CPU-бенчмарки тоже показали что тут собирается как-то лучше: https://github.com/inv2004/rust_vectors/blob/master/win_lin.md</summary><content type="html">
  &lt;p&gt;После прочтения &lt;a href=&quot;https://www.phoronix.com/scan.php?page=article&amp;item=icelake-clear-windows&amp;num=1&quot; target=&quot;_blank&quot;&gt;https://www.phoronix.com/scan.php?page=article&amp;amp;item=icelake-clear-windows&amp;amp;num=1&lt;/a&gt;, поставил разные линуксы на второй ssd:&lt;br /&gt;из приятного - действительно время сборки с ходу в два раза меньше.&lt;br /&gt;CPU-бенчмарки тоже показали что тут собирается как-то лучше: &lt;a href=&quot;https://github.com/inv2004/rust_vectors/blob/master/win_lin.md&quot; target=&quot;_blank&quot;&gt;https://github.com/inv2004/rust_vectors/blob/master/win_lin.md&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Однако, того, что при установке пакетов зависает мыша, dd if=1.iso of=/dev/sdb1 вообще даже на kill -9 не реагирует, гном упал один раз, хотя у меня просто lenovo без всяких nvidia. в общем, чисто на уровне ощущений убунта оставила очень неприятные впечатления, зато приятные впечатления оставили elementary-OS и dwm+antiX (хотя наверное стоило бы MX-Linux).&lt;/p&gt;
  &lt;p&gt;из печального - chromium даже с на странице с простыми баннерами бывает поджирает под 30% CPU, надо постоянно что ли на top смотреть чтобы просто браузером пользоваться? скроллинг заметно хуже, youtube вообще не говорю - под 100% CPU улетают на простых даже видео - т.е. пользоваться всем этим не очень приятно, я-то думал такой проблемы нет, а за 20 лет до сих пор в линуксе нету браузера по сути нормального.&lt;/p&gt;
  &lt;p&gt;В чате меня спросили, сколько бы я лично пожертвовал на развития десктопа linux&amp;#x27;а, я ответил какую-то сумму, но после убунты я решил, что фиг бы я за это стал вообще платить, а лучше бы отдал, чтобы разобрать что же такое притормаживает у меня в винде, и действительно вспомнил, что IDEA что-то там делает с антивирусом - попробовал, и это разогнало сборку cargo, хоть и не до линуксовых значний, но значительно ближе.&lt;/p&gt;
  &lt;p&gt;Осталось разобраться с этом: &lt;a href=&quot;https://github.com/inv2004/rust_vectors/blob/master/win_lin.md&quot; target=&quot;_blank&quot;&gt;https://github.com/inv2004/rust_vectors/blob/master/win_lin.md&lt;/a&gt;&lt;br /&gt;Но там код не такой уж сложный - попробую сравнить C++ - вариант.&lt;/p&gt;
  &lt;p&gt;-- update --&lt;br /&gt;провёл ~ неделю на elemenetary - она даже понравилась, впрочем отличия от разных ubuntu не очень значительные. Открытием стало, что в аpt всё настолько протухшее, что много чего ставить из snap или flatpack, даже neovim.&lt;/p&gt;
  &lt;p&gt;но окончателточку поставило, что на батарее ноут на одной батарее живёт около 4часов, когда под win более 5 1/2, и то, под lin я старался ничего лишнего не запускать.&lt;/p&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;linux&quot;&gt;#linux&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;windows&quot;&gt;#windows&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>inv2004:179232.html</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/179232.html?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Rust - достаточно</title><published>2020-02-26T22:20:44.000Z</published><updated>2020-12-25T18:57:45.776Z</updated><tt:hashtag>rust</tt:hashtag><summary type="html">Rust практически вылетел из зоны моих интересов, жаль что довольно большой проект на нём застрял.</summary><content type="html">
  &lt;p&gt;Rust практически вылетел из зоны моих интересов, жаль что довольно большой проект на нём застрял.&lt;/p&gt;
  &lt;p&gt;Ситуация такая: я уже почти увидел свет в конце тоннеля по проекту, но, на клиентской стороне использовать монгу не решился =&amp;gt; нужно уметь читать данные как из монги так и из локальных файлов. В качестве такого решения напрашивается некий trait Storage, который реализует функцию создания итератора для структур Mongo и Local (из файла). Итераторы соответственно MongoIterator и LocalIterator которые реализуют просто Iterator. Проще, вроде как, и придумать трудно.&lt;/p&gt;
  &lt;p&gt;Собственно всё, что Local можно отбросить, чтобы просто сделать MongoIterator - надо в ней хранить и коллекцию и курсор, а это уже получается self-referential структура, после двух недель борьбы с Pin и unsafe (не смотря на то что пример вроде как есть тут: &lt;a href=&quot;https://doc.rust-lang.org/std/pin/#example-self-referential-struct&quot; target=&quot;_blank&quot;&gt;https://doc.rust-lang.org/std/pin/#example-self-referential-struct&lt;/a&gt; , но это не очень помогло), знающие люди подсказали поискать в крейтах, и действительно, нашёлся некий &lt;a href=&quot;https://crates.io/crates/rental&quot; target=&quot;_blank&quot;&gt;https://crates.io/crates/rental&lt;/a&gt; , который естественно полон макросов, а куда в расте без них, которые генерят это self-ref с лайфтаймами друг на друге и функции для их извлечения.&lt;/p&gt;
  &lt;p&gt;Кое-как всё пройдено, сам крейт проекта нормально собирается, теперь надо просто использовать это в бинарнике - и тут хоп - эта вот штука ещё используется, хотя вот тут уже конец блока, чуть ли не в main, с какой такой стати, почему - не ясно вообще, у меня уже начали опускаться руки, попытки понять лайфтаймов макросов, генерящих Pin, не сильно обрадовали и я пошёл искать тех самых знающих людей, которых мне помогут. Люди, как мне кажется, действительно знающие, нашлись и даже принялись за проблему, починили за час ... но нет, я просто случайно закомментил весь значимый код, раскомментил, и люди пришли к выводу, что разобраться в чём дело не удаётся. А это по сути просто интерфейс Storage - проще, мне кажется, и придумать нельзя.&lt;/p&gt;
  &lt;p&gt;На этом я решил, что больше свои руки, без необходимости, в это опускать не буду. Я благодарен расту за эксперимент-попытку поставить как основу всей системы move-семантику из плюсов, но это так просто не работает - ты бродишь по лабиринту, пытаясь удовлетворить borrow-чекер больше чем пишешь программу, повезло - вышел из лабиринта, не повезло - ты возвращаешься на много шагов назад и не факт, что выход в итоге есть. Иногда это интересная головоломка, но иногда, потратив на неё месяцы и опять оказавшись в тупике, ты понимаешь что это уже не смешно, работающего кода это не прибавило, а время потрачено без какой-то, ощутимой для проекта, пользы.&lt;/p&gt;
  &lt;p&gt;--- update ---&lt;br /&gt;через три дня, мне постучались в телегу, и сказали, что не спали три ночи, но проблему исправили - ура.&lt;/p&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;rust&quot;&gt;#rust&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>inv2004:178974.html</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/178974.html?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>windows terminal</title><published>2020-01-16T20:18:43.000Z</published><updated>2020-12-25T18:58:17.922Z</updated><summary type="html">неплохо. меня раньше от PS отгораживало, что он грузится дольше cmd или conemu+clink, в windows terminal всё быстро + после накидки привычных биндингов + полупрозрачности фона - вообще удобно стало, хотя, конечно PS пока не очень привычен.</summary><content type="html">
  &lt;p&gt;неплохо. меня раньше от PS отгораживало, что он грузится дольше cmd или conemu+clink, в windows terminal всё быстро + после накидки привычных биндингов + полупрозрачности фона - вообще удобно стало, хотя, конечно PS пока не очень привычен.&lt;/p&gt;
  &lt;p&gt;Да и по ущущениям быстрее conemu работает.&lt;/p&gt;

</content></entry><entry><id>inv2004:178923.html</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/178923.html?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Rust - опять #2</title><published>2019-12-22T16:27:33.000Z</published><updated>2020-12-25T18:56:01.842Z</updated><tt:hashtag>rust</tt:hashtag><summary type="html">Для предыдущей проблемы пришлось патчить hyper. Справился - отлично, можно идти дальше, пару новых строчек кода (безопасного) и программа _после компиляции_ кидает ошибку на 15 страниц. В чём дело? Вероятно, простая и безопасная библиотка по выводу progress-bar'а на экран запуталась в своих безопасных Mutex'ах в самом безопасном на свете языке.</summary><content type="html">
  &lt;p&gt;Для предыдущей &lt;a href=&quot;https://teletype.in/@inv2004/178442.html&quot; target=&quot;_blank&quot;&gt;проблемы&lt;/a&gt; пришлось патчить hyper. Справился - отлично, можно идти дальше, пару новых строчек кода (безопасного) и программа _после компиляции_ кидает ошибку на 15 страниц. В чём дело? Вероятно, простая и безопасная библиотка по выводу progress-bar&amp;#x27;а на экран запуталась в своих безопасных Mutex&amp;#x27;ах в самом безопасном на свете языке.&lt;/p&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;rust&quot;&gt;#rust&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>inv2004:178442.html</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/178442.html?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Rust - опять</title><published>2019-12-18T23:21:34.000Z</published><updated>2020-12-25T18:56:42.602Z</updated><tt:hashtag>rust</tt:hashtag><summary type="html">Есть у меня pet-проект, который тянется уже больше года и, постепенно, подходит к финальному аккорду.</summary><content type="html">
  &lt;p&gt;Есть у меня pet-проект, который тянется уже больше года и, постепенно, подходит к финальному аккорду.&lt;/p&gt;
  &lt;p&gt;В какой-то момент было решено изменить способ хранения данных у клиента на простые файлы =&amp;gt; понадобилась некая скачивался данных из базы для этого, всё работало почти отлично - данные качались чанк за чанком, прогрес-бар показывал сколько осталось. Кроме одного - данные не сжаты и их много - отдавать потоком - остаться без Content-Length - пользователь будет в неведении сколько осталось. Сжимать сразу много - пользователю очень долго ждать этого Content-Length.&lt;/p&gt;
  &lt;p&gt;Было решено просто - собирать по 1000, сжимать и отдавать - всё опять же работало, но что-то было странно - иногда некоторые чанки приходили битыми. Посмотрев на пакеты стало понятно - что пакеты нормальные, а вот способ их обработки у hyper такой - если chunk не влезает в буффер (8kb) - то выдавать chunk с тем что есть, а остальное - как будто это другой чанк. Насколько это корректное поведение не берусь судить, возможно и верное. Хотел было переехать на web-sockets, и тут, actix-web, казавшийся нормальным в качестве http показал, что структура для ws должна делаться так: &lt;strong&gt;Client&amp;lt;SinkWrite&amp;lt;Message, SplitSink&amp;lt;Framed&amp;lt;T, Codec&amp;gt;, Message&amp;gt;&amp;gt;&amp;gt;&lt;/strong&gt; - просто же, и удобно - все кишки видны, а то мало ли нужно будет из client.0.0.0 извлечь codec.&lt;/p&gt;
  &lt;p&gt;Дальше надо описать актор, потом Handler, потом ещё StreamHandler, в который надо передать mut-контекст этого клиента, после чего из него дёргать руками методы типа ctx.0.write или обёртки. Но это не заработает со фьючовыми стримами, потому как при создании этого клиента - надо вызвать мутабельный add_stream на нём, в котором связать Stream и контекст - видимо иначе он не будет знать что надо дёргать этот handler, при этом, даже если совершить все эти действия - это только для обработки выходного потока из stream - как писать в него из другого стрима без своего impl Stream поверх - останется загадкой.&lt;/p&gt;
  &lt;p&gt;В общем, от такого юзать ws как-то расхотелось. Знающие люди говорили, что надо просто накрутить length_delimited кодек на чанки http и у меня будут нормальные фреймы данных - попробую в эту сторону. Кодеки работают через ASyncRead, а hyper/actix выдают Stream&amp;lt;Item=Vec&amp;lt;u8&amp;gt;&amp;gt; - хотя в общем-то понятно, что результат их работы в этом случае одинаков, и только в futures 0.3 сделали метод into_async_read() который позволяет одну абстракцию преобразовывать в другую =&amp;gt; можно просто писать в codec - ура!, но нет, не ура, tokio 0.2 почему-то имеет свои ASyncRead, которые почему-то не совместимы с futures 0.3, а другие мне не подойдут. Есть некий клей - compat, но, бывалые люди, сказали что всё же _надёжнее разобрать байты руками_, чем пробраться через страницу какой-нибудь ошибки, которую покажет что compat(), без compat() ошибки и так по пол-страницы и не сильно проще читать.&lt;/p&gt;
  &lt;p&gt;Вернёмся к тому, что я никак не ожидал - что я могу застрять на несколько недель на простой скачивалке файла чанками, a раст, в очередной раз, как говорится, пробивает дно в производительности сроков написания чего-то отличного от примеров из папки examples (кстати и это часто не собирается). И у меня много таких случаев о которых можно было бы рассказать не меньше - но первый раз, когда решил написать.&lt;/p&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;rust&quot;&gt;#rust&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>inv2004:178349.html</id><link rel="alternate" type="text/html" href="https://teletype.in/@inv2004/178349.html?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=inv2004"></link><title>Rust, рефакторинг</title><published>2019-09-11T03:22:49.000Z</published><updated>2020-12-25T18:56:16.160Z</updated><tt:hashtag>rust</tt:hashtag><summary type="html">Всё работало, вроде неплохо, пока не подключил extern crate pyo3. Естественно всё просто в Rust быть не может - не могу обернуть структуру с лайфтаймами макросами pyo3 =&gt; начался глобальный рефакториг по вычищению от лайфтаймов довольно центральной структуры =&gt; всё замазывается толстым слоем Rc/Arc/RefCell, настолько толстым, что хотется начать писать на Swift.</summary><content type="html">
  &lt;p&gt;Всё работало, вроде неплохо, пока не подключил extern crate pyo3. Естественно всё просто в Rust быть не может - не могу обернуть структуру с лайфтаймами макросами pyo3 =&amp;gt; начался глобальный рефакториг по вычищению от лайфтаймов довольно центральной структуры =&amp;gt; всё замазывается толстым слоем Rc/Arc/RefCell, настолько толстым, что хотется начать писать на Swift.&lt;/p&gt;
  &lt;p&gt;что-то типа такого:&lt;/p&gt;
  &lt;pre&gt;self.borrow().control.borrow().stats.borrow_mut().counter += 1;&lt;/pre&gt;
  &lt;p&gt;какой приятный код :(&lt;br /&gt;При этом это по сути убивает всю lifetime концепцию - так как каждый borrow - это твой личный и ручной контроль поверх раста.&lt;/p&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;rust&quot;&gt;#rust&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry></feed>