Telegram Group & Telegram Channel
Алиса копается
Загадка. Одна из этих строк не скомпилируется. Какая? let a1: _ = [b"a", b"a" as &[u8]]; let b1: _ = [b"a" as &[u8], b"a"]; let a2: [_; 2] = [b"a", b"a" as &[u8]]; let b2: [_; 2] = [b"a" as &[u8], b"a"]; let a3: [&[u8]; 2] = [b"a", b"a" as &[u8]]; let b3:…
&[T; N] автоматически умеет приводиться к &[T], поэтому третий код, конечно, работает в обеих вариациях.

Остается вопрос, что происходит при выводе типов. На практике оказывается, что b2 работает, а a2 не работает, т.е. тип элемента массива "жадно" выводится исходя из первого элемента. a1 и b1 по какой-то причине при этом оба работают. Таким образом, правильный ответ — a2.

Зная, что загвоздка в выводе типов заключается в приравнии типов, умеющих друг к другу coerce'иться, не в том порядке, угадайте, какие строки из следующих приведут к ошибке:

fn unify<T>(_x: T, _y: T) {}
unify(b"a", b"a" as &[u8]); // 1
unify(b"a" as &[u8], b"a"); // 2

if true { b"a" } else { b"a" as &[u8] }; // 3
if true { b"a" as &[u8] } else { b"a" }; // 4


Подсказка: true в if не влияет на вывод типов, с тем же успехом там могло быть любое другое условие.



group-telegram.com/alisa_rummages/187
Create:
Last Update:

&[T; N] автоматически умеет приводиться к &[T], поэтому третий код, конечно, работает в обеих вариациях.

Остается вопрос, что происходит при выводе типов. На практике оказывается, что b2 работает, а a2 не работает, т.е. тип элемента массива "жадно" выводится исходя из первого элемента. a1 и b1 по какой-то причине при этом оба работают. Таким образом, правильный ответ — a2.

Зная, что загвоздка в выводе типов заключается в приравнии типов, умеющих друг к другу coerce'иться, не в том порядке, угадайте, какие строки из следующих приведут к ошибке:

fn unify<T>(_x: T, _y: T) {}
unify(b"a", b"a" as &[u8]); // 1
unify(b"a" as &[u8], b"a"); // 2

if true { b"a" } else { b"a" as &[u8] }; // 3
if true { b"a" as &[u8] } else { b"a" }; // 4


Подсказка: true в if не влияет на вывод типов, с тем же успехом там могло быть любое другое условие.

BY Алиса копается


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/alisa_rummages/187

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The Securities and Exchange Board of India (Sebi) had carried out a similar exercise in 2017 in a matter related to circulation of messages through WhatsApp. Apparently upbeat developments in Russia's discussions with Ukraine helped at least temporarily send investors back into risk assets. Russian President Vladimir Putin said during a meeting with his Belarusian counterpart Alexander Lukashenko that there were "certain positive developments" occurring in the talks with Ukraine, according to a transcript of their meeting. Putin added that discussions were happening "almost on a daily basis." Crude oil prices edged higher after tumbling on Thursday, when U.S. West Texas intermediate slid back below $110 per barrel after topping as much as $130 a barrel in recent sessions. Still, gas prices at the pump rose to fresh highs. Unlike Silicon Valley giants such as Facebook and Twitter, which run very public anti-disinformation programs, Brooking said: "Telegram is famously lax or absent in its content moderation policy." Continuing its crackdown against entities allegedly involved in a front-running scam using messaging app Telegram, Sebi on Thursday carried out search and seizure operations at the premises of eight entities in multiple locations across the country.
from us


Telegram Алиса копается
FROM American