Кто-нибудь писал rfc?

Тех.вопросы
Jul 4, 2017
D

Я хотел бы поменять rustc так чтобы:

match x {
  _ => {}
  _ => {}
}

вызывало ошибку компиляции,
какие-нибудь хитрости подводные камни при написании/продвижении rust-lang RFC?

O

а выводящегося и сейчас warning: unreachable pattern - точно мало?

D
Replying to #2

Ошибка и предупреждение это разные вещи, и код выдающий только предупреждение
имеет шанс пройти в репозиторий, а по-моему в этой случае false-positive этого предупреждения
0%, так почему бы не сделать это ошибкой, если есть 100% уверенность что это ошибка?

И новичок (типа меня) вполне может написать:

let x = ..;
let pat1 = 2;
let pat2 = 3;
match x {
  pat1 => {}
  pat2 => {}
  _ => {}
}

на самом деле здесь куча ошибок, неправилен весь match, а компилятор
просто предупредит, причем очень невнятно, типа pat2 неиспользуемая переменная,
а вот если бы была ошика компиляции…

O
Replying to #3

Я боюсь что логика “предупреждения важны, обращайте на них вниание” из языка уже неустранима. Она встречается не только в этом конкретном случае - “что-то не использовано” вообще часто важный звоночек.

По мне тут RFC об ошибке не прокатит при всем желании. Что реально можно попробовать сделать, так это в сам компилятор закинуть PR реализующий специальное предупреждение с более понятным и обращающим на себя внимание текстом.

I

Хм, похоже это раньше было ошибкой E0001.