Closes #18959
Technically, this causes code that once compiled to no longer compile, but
that code probably never ran.
[breaking-change]
------------
Not quite sure the error message is good enough, I feel like it ought to tell you "because it inherits from non-object-safe trait Foo", so I've opened up a follow-up issue #19538