Compiled test.osl -> test.oso
Compiled upstream.osl -> upstream.oso
Connect upstream.out to downstream.a
Connect upstream.struct1 to downstream.mystruct1

Output Fout to out.tif
Upstream:
out connected: 2  (value=0.5)
notout connected: 0  (value=10)
struct1 connected: 2  (value={3, 4})
struct1.x connected: 2  (value=3)
struct1.y connected: 2  (value=4)
struct2 connected: 0  (value={5, 6})
struct2.x connected: 0  (value=5)
struct2.y connected: 0  (value=6)
a=0.5
Downstream:
a connected: 1  (value=0.5)
b connected: 0  (value=0)
c connected: 0  (value=0)
mystruct1 connected: 1  (value={3, 4})
mystruct1.x connected: 1  (value=3)
mystruct1.y connected: 1  (value=4)
mystruct2 connected: 0  (value={0, 0})
mystruct2.x connected: 0  (value=0)
mystruct2.y connected: 0  (value=0)
Fout connected: 2  (value=0.42)
Connect upstream.out to downstream.a
Connect upstream.struct1 to downstream.mystruct1
Upstream:
out connected: 2  (value=0.5)
notout connected: 0  (value=10)
struct1 connected: 2  (value={3, 4})
struct1.x connected: 2  (value=3)
struct1.y connected: 2  (value=4)
struct2 connected: 0  (value={5, 6})
struct2.x connected: 0  (value=5)
struct2.y connected: 0  (value=6)
a=0.5
Downstream:
a connected: 1  (value=0.5)
b connected: 0  (value=0)
c connected: 1  (value=0)
mystruct1 connected: 1  (value={3, 4})
mystruct1.x connected: 1  (value=3)
mystruct1.y connected: 1  (value=4)
mystruct2 connected: 0  (value={0, 0})
mystruct2.x connected: 0  (value=0)
mystruct2.y connected: 0  (value=0)
Fout connected: 0  (value=0)

