}
}
import Broken.
_ // or Broken.actual B.func { 123 } // Uses A.default, not Broken.actual for implicit
}
}
}
println(actual) //reference actual
B.func { 123 } // uses Fixed.actual
}
}
}
}
B.func { 123 } // With object definition first this works without referencing actual
}
}
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoKICBjbGFzcyBBKHZhbCBhOiBTdHJpbmcpIHsgb3ZlcnJpZGUgZGVmIHRvU3RyaW5nID0gcyJBOiAkYSJ9CgogIG9iamVjdCBBIHsKICAgIGltcGxpY2l0IHZhbCBkZWZhdWx0ID0gbmV3IEEoIkEiKSAvL2ZvdW5kIGJ5IGRlZmF1bHQKICB9CgogIG9iamVjdCBCIHsKICAgIGRlZiBmdW5jKGZuOiA9PiBJbnQpKGltcGxpY2l0IGE6IEEpID0gcHJpbnRsbihhKQogIH0KCiAgY2xhc3MgQnJva2VuIHsKICAgIGRlZiBkb1NvbWV0aGluZyA9IHsKICAgICAgaW1wb3J0IEJyb2tlbi5fIC8vIG9yIEJyb2tlbi5hY3R1YWwKICAgICAgQi5mdW5jIHsgMTIzIH0gLy8gVXNlcyBBLmRlZmF1bHQsIG5vdCBCcm9rZW4uYWN0dWFsIGZvciBpbXBsaWNpdAogICAgfQogIH0KCiAgb2JqZWN0IEJyb2tlbiB7CiAgICBpbXBsaWNpdCB2YWwgYWN0dWFsID0gbmV3IEEoIkJyb2tlbiIpCiAgfQoKICBjbGFzcyBGaXhlZCB7CiAgICBkZWYgZG9Tb21ldGhpbmcgPSB7CiAgICAgIGltcG9ydCBGaXhlZC5fCiAgICAgIHByaW50bG4oYWN0dWFsKSAvL3JlZmVyZW5jZSBhY3R1YWwKICAgICAgQi5mdW5jIHsgMTIzIH0gLy8gdXNlcyBGaXhlZC5hY3R1YWwKICAgIH0KICB9CgogIG9iamVjdCBGaXhlZCB7CiAgICBpbXBsaWNpdCB2YWwgYWN0dWFsID0gbmV3IEEoIkZpeGVkIikKICB9CgogIG9iamVjdCBXVEYgewogICAgaW1wbGljaXQgdmFsIGFjdHVhbCA9IG5ldyBBKCJXVEYiKQogIH0KCiAgY2xhc3MgV1RGIHsKICAgIGRlZiBkb1NvbWV0aGluZyA9IHsKICAgICAgaW1wb3J0IFdURi5fCiAgICAgIEIuZnVuYyB7IDEyMyB9IC8vIFdpdGggb2JqZWN0IGRlZmluaXRpb24gZmlyc3QgdGhpcyB3b3JrcyB3aXRob3V0IHJlZmVyZW5jaW5nIGFjdHVhbAogICAgfQogIH0KICAKICAobmV3IEJyb2tlbikuZG9Tb21ldGhpbmcKICAobmV3IEZpeGVkKS5kb1NvbWV0aGluZwogIChuZXcgV1RGKS5kb1NvbWV0aGluZwp9