### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
// Begin of Foo (from "<...>/globals.hlt")
// Compiled by HILTI version X.X.X

#include <hilti/rt/compiler-setup.h>

#include <hilti/rt/libhilti.h>

extern const char* __hlt_hlto_scope;

namespace __hlt::Foo {
    struct __globals_t : ::hilti::rt::trait::isStruct, ::hilti::rt::Controllable<__globals_t> {
        std::string X{};
        template<typename F> void __visit(F _) const { _("X", X); }
    };

    inline unsigned int __globals_index;
    static inline auto __globals() { return ::hilti::rt::detail::moduleGlobals<__globals_t>(__globals_index); }
    extern void __init_globals(::hilti::rt::Context* ctx);
    extern void __init_module();
    extern void __register_module();
}

HILTI_PRE_INIT(__hlt::Foo::__register_module)

extern void __hlt::Foo::__init_globals(::hilti::rt::Context* ctx) {
    ::hilti::rt::detail::initModuleGlobals<__globals_t>(__globals_index);
    __globals()->X = std::string("Hello, world!");
}

extern void __hlt::Foo::__init_module() {
      __location__("<...>/globals.hlt:16:1");
    ::hilti::rt::print(Foo::__globals()->X, ::hilti::rt::Bool(true));
}

extern void __hlt::Foo::__register_module() { ::hilti::rt::detail::registerModule({ "Foo", __hlt_hlto_scope, &__init_module, &__init_globals, nullptr, &__globals_index}); }

/* __HILTI_LINKER_V1__
{"module":"Foo","namespace":"__hlt::Foo","path":"<...>/globals.hlt","version":1}
*/

// Begin of __linker__
// Compiled by HILTI version X.X.X

#include <hilti/rt/compiler-setup.h>

// 
// Linker code generated for modules:
//   - Foo (<...>/globals.hlt)

#include <hilti/rt/libhilti.h>

const char HILTI_EXPORT HILTI_WEAK * __hlt_hlto_library_version = <...>
const char HILTI_EXPORT HILTI_WEAK * __hlt_hlto_bind_to_version = <...>
const char HILTI_WEAK * __hlt_hlto_scope = <...>

