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

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

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

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

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

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

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

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

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

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

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

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

1 лайк