diff --git a/src/rt/rust_internal.h b/src/rt/rust_internal.h
index 2676e9b9b19..29e36fcd72d 100644
--- a/src/rt/rust_internal.h
+++ b/src/rt/rust_internal.h
@@ -47,8 +47,8 @@ extern "C" {
 #include "sync/lock_and_signal.h"
 #include "sync/lock_free_queue.h"
 
-class rust_dom;
-class rust_task;
+struct rust_dom;
+struct rust_task;
 class rust_log;
 class rust_port;
 class rust_chan;
diff --git a/src/rt/rust_log.h b/src/rt/rust_log.h
index 51019a89feb..dd42ee008f3 100644
--- a/src/rt/rust_log.h
+++ b/src/rt/rust_log.h
@@ -22,8 +22,8 @@ const uint32_t log_note = 1;
         }                                                       \
     } while (0)
 
-class rust_dom;
-class rust_task;
+struct rust_dom;
+struct rust_task;
 
 class rust_log {
 
diff --git a/src/rt/rust_proxy.h b/src/rt/rust_proxy.h
index 2b5e820da10..ce41b6544f9 100644
--- a/src/rt/rust_proxy.h
+++ b/src/rt/rust_proxy.h
@@ -64,7 +64,7 @@ public:
 };
 
 class rust_message_queue;
-class rust_task;
+struct rust_task;
 
 //
 // Local Variables: