Telegram Web
#prog #rust #article

A Little Rust Trait Limitation

I stumbled across a … bug(?) … a limitation(?) … an issue(!) with the Rust compiler. Fortunately, I was able to find out what was going on in the Rust programming language forum. I thought this issue was interesting enough and subtle enough to try to explain to my blog audience.

<...>

This isn’t an explanation of why this limitation is necessary or fundamental, because it isn’t – it’s a limitation that could, and maybe at some point will be, fixed.
Товарищи папищеки, заполняйте. Получивших бинго забаню
👍9🤔2
Батонятся
33🥰10
Не "Подземелья&Драконы", а "Поспешные выборы&Их последствия"
😭6🤔41
Forwarded from PLComp (Alexander Tchitchigin)
https://grosskurth.ca/bib/1997/cardelli.pdf
"Program Fragments, Linking, and Modularization" Luca Cardelli.

Статья поднимает вопрос корректности раздельной компиляции и линковки, и потому — я считаю — обязательна к прочтению для всех авторов языков программирования! 😃

Уже во введении на простейшем примере создания воображаемой программы, состоящей всего из двух модулей, разрабатываемых независимо, автор иллюстрирует, наверное, все проблемы, при этом возникающие. Между делом Карделли упоминает публичные репозитории артефактов (типа Maven Central или Nuget. Напомню, что статья опубликована в 1996 году!). Многие из обозначенных проблем линковки раздельно скомпилированных модулей до сих пор не решены ни в мейнстримных, ни в исследовательских языках.

В качестве основного результата Карделли предлагает, вероятно, первую формальную модель раздельной компиляции и последующей линковки, позволяющую строго рассмотреть вопрос о корректности этих процессов. Корректность в этом смысле приведённой простейшей системы модулей для просто типизированного лямбда-исчисления (в качестве модельного языка) формально доказывается. Автор, конечно же, указывает на необходимость расширения модели как в сторону более развитых языков (параметрический полиморфизм, ООП), так и в сторону более сложных систем модулей (параметризованные модули, "функторы" в духе Standard ML, первоклассные модули). Существуют ли такие работы, непосредственно продолжающие это исследование, мне не известно.

Однако, в качестве related work и дальнейшего чтения могу указать на работы по формализации (и доказательству корректности) раздельной компиляции для языка C в рамках проекта CompCert.

#separatecompilation #linking #modules #stlc
👍6💩1
Forwarded from bruhcollective. (iTaysonLab)
the following content will be interesting for Russian-speaking only:

тут начали закупать в ТГ рекламу некого мессенджера "Telega", общающего золотые горы стабильную работу ТГ на территории РФ

но в чем подвох? а в том, что эта "Telega" (которая https://telega.me) - является проектом VK.
но как об этом узнать? а все просто - берем APK и открываем декомпилятор

идем в ru.dahl.messenger.Extra и видим:
-> PROXY_ADDRESS = "dal.mvk.com", прокси-адрес, запишем
-> MYTRACKER_SDK_KEY = "*", SDK-ключ от трекера MyTracker, который принадлежит Mai VK Group
-> CALLS_BASE_URL = "https://calls.okcdn.ru/" - те самые рабочие звонки, которые на самом деле являются звонками через инфраструктуру Одноклассников (на которых работает еще MAX и VK Звонки, ага)

а теперь берем dal.mvk.com:
-> неймсервера mvk.com идут на малоизвестный домен VKONTAKTE.RU
-> в декомпиляции официального клиента VK для Android можно найти референсы на "https://jira.mvk.com"

(и вся реклама этого клиента в ТГ ведет на трекинг-домен trk.mail.ru)

но кому не пофиг? вдруг ВК просто по приколу решили сделать форк ТГ, прикрывшись прокладкой из Татарстана?

а вот тут уже обнаруживается прикольная вещь: в клиенте есть "черный список" нежелательных ТГ-каналов, ботов и пользователей! при нажатии на которых выводится ТГ-шная "заглушка" с своим текстом:

<string name="ContentIsUnavailable">Материалы недоступны</string>
<string name="ContentUnavailableInfo">Этот %1$s недоступен в связи \n с нарушениями правил платформы</string>


какие правила платформы? Telegram? но таких строчек нет в официальном клиенте Telegram :)

и да - черный список включается по флагу из сервера, то есть они могут включить это в любой момент

///

а кроме этого, в клиенте есть замена иконок на ВКшные. все бы ничего, но весь код замены был взят из такого малоизвестного клиента как Catogram (https://github.com/Catogram/Catogram/blob/a34ddfb42f50b86eb7cd83fb68ea24fa041084a9/TMessagesProj/src/main/java/ua/itaysonlab/catogram/vkui/ReplaceKtx.kt)
BaseIconReplace -> ru.dahl.messenger.icons.BaseIconReplacement
No/VkIconReplace -> ru.dahl.messenger.icons.AltIconReplacement/IconReplacementNone
ReplaceKtx.newSparseInt -> ru.dahl.messenger.icons.BaseIconReplacementKt

причем взяли все подчистую - те же названия переменных, методов, параметров и даже код тот же (даже тот же sparseInt сделали root-level функцией Kotlin)

а забавный факт в том, что основной разработкой Catogram занимался... я

как-то так....
🤬18🤮73👎1
Send goods
🌚4
Та сцена с визитками из "Американского психопата", но они меряются рейтингами пассажира в Яндекс.Такси
🔥17
😁10🥰4
Блог* pinned «Та сцена с визитками из "Американского психопата", но они меряются рейтингами пассажира в Яндекс.Такси»
#моё

Быстрая зарисовка монстра с D&D-ваншота. Мастер сказал, что это очень похоже на то, как он себе этого монстра представлял
10💩2🤡2🤔1🤨1
Тем временем у подруге на работе классика башорга - сисадмин прислал инструкции как восстановить потерянный доступ к учетке емейла на емейл и потом жаловался что их не прочитали
😁17🫡2
2025/10/20 02:28:14
Back to Top
HTML Embed Code: