p_crossrealm.gno
0.43 Kb · 33 lines
1package p_crossrealm
2
3import (
4 "chain/runtime"
5 "chain/runtime/unsafe"
6)
7
8type Stringer interface {
9 String() string
10}
11
12type Container struct {
13 A int
14 B Stringer
15}
16
17func (c *Container) Touch() *Container {
18 c.A += 1
19 return c
20}
21
22func (c *Container) Print() {
23 println("A:", c.A)
24 if c.B == nil {
25 println("B: undefined")
26 } else {
27 println("B:", c.B.String())
28 }
29}
30
31func CurrentRealm() runtime.Realm {
32 return unsafe.CurrentRealm()
33}