// Flags: --expose-internals --expose-gc 'use strict'; require('../common'); const { gcUntil } = require('../common/gc'); const assert = require('assert'); const { WeakReference } = require('internal/util'); let obj = { hello: 'world' }; const ref = new WeakReference(obj); assert.strictEqual(ref.get(), obj); async function main() { obj = null; await gcUntil( 'Reference is garbage collected', () => ref.get() === undefined); } main();