Я хотел бы поменять rustc
так чтобы:
match x {
_ => {}
_ => {}
}
вызывало ошибку компиляции,
какие-нибудь хитрости подводные камни при написании/продвижении rust-lang 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 реализующий специальное предупреждение с более понятным и обращающим на себя внимание текстом.