probe process("inherit.exe").function("main") { // A::foo is masked, so @cast is necessary. println(@cast(&$b, "A")->foo->x) println(@cast(&$b, "A")->foo->y) // A::bar is not masked, so inheritance should find it. println($b->bar->x) println($b->bar->y) // B::foo masks A::foo, so should be found first. // NB: We can't treat a struct as a scalar, so this will fail if it // tries to go through A::foo. B::foo should be fine as an int. println($b->foo) // Pretty-printing should skip the masked A::foo altogether println($b$) println($b$$) }