diff --git a/libgrust/libproc_macro/literal.cc b/libgrust/libproc_macro/literal.cc index aad7090d7ab3..221c57a0da5e 100644 --- a/libgrust/libproc_macro/literal.cc +++ b/libgrust/libproc_macro/literal.cc @@ -25,10 +25,9 @@ #include namespace Literal { -extern "C" { void -Literal__drop (Literal *lit) +Literal::drop (Literal *lit) { switch (lit->tag) { @@ -51,6 +50,14 @@ Literal__drop (Literal *lit) } } +extern "C" { + +void +Literal__drop (Literal *lit) +{ + Literal::drop (lit); +} + Literal Literal__string (const unsigned char *str, std::uint64_t len) { diff --git a/libgrust/libproc_macro/literal.h b/libgrust/libproc_macro/literal.h index b78942221053..2c61231e8b25 100644 --- a/libgrust/libproc_macro/literal.h +++ b/libgrust/libproc_macro/literal.h @@ -188,6 +188,8 @@ public: static Literal make_unsigned (UnsignedSuffixPayload p); static Literal make_signed (SignedSuffixPayload p); + + static void drop (Literal *lit); }; extern "C" {