chiark / gitweb /
assertc
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 5 Jun 2023 18:16:21 +0000 (19:16 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 5 Jun 2023 18:16:21 +0000 (19:16 +0100)
src/main.rs

index 959fa1bbeaf5e78c2f0c387e209779b489b579c1..9123ceafad0883bef50f9642518bc5416e0b01d9 100644 (file)
@@ -26,6 +26,8 @@ impl HasPseudoMethods for Frog {
     // table.  I'm not sure if that's needed.
     fn get_caster(&self, tp: TypeId) -> Option<&'static dyn Any> {
         if tp == TypeId::of::<&'static dyn HasFeet>() {
+            fn assert_static<X: 'static>(_: X) { }
+            let _ = |x: Box<dyn HasFeet + '_>| assert_static(x);
             static CASTER: fn(&dyn HasPseudoMethods) -> &dyn HasFeet = |self_| {
                 let self_: &dyn Any = Downcast::as_any(self_);
                 let self_: &Frog = self_.downcast_ref().unwrap();