Shipping specialization: a story of soundness

The lint would just have the deny level by default, i.e. same behavior as if everyone had #![deny(lint_name)] in their crates, but if you use warn(lint_name), or even allow(lint_name), it would get relaxed.

There is a stricter level than deny, called forbid, and that one cannot be relaxed, i.e. you can put #![forbid(unsafe_code)] and nothing in the crate can allow unsafe code for just a module/function/etc., whereas with #![deny(unsafe_code)] it’s possible.

2 Likes