In PR898, runtime.h holds a scopted_ptr of this class, so the destructor has to be public.