Static rustc_ap_rustc_lint_defs::builtin::WHERE_CLAUSES_OBJECT_SAFETY [−][src]
pub static WHERE_CLAUSES_OBJECT_SAFETY: &Lint
Expand description
The where_clauses_object_safety
lint detects for object safety of
where clauses.
Example
trait Trait {} trait X { fn foo(&self) where Self: Trait; } impl X for () { fn foo(&self) {} } impl Trait for dyn X {} // Segfault at opt-level 0, SIGILL otherwise. pub fn main() { <dyn X as X>::foo(&()); }
{{produces}}
Explanation
The compiler previously allowed these object-unsafe bounds, which was incorrect. This is a future-incompatible lint to transition this to a hard error in the future. See issue #51443 for more details.