; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s ; CHECK: Expression in is used as a sink but can only be used as a source. ; CHECK: Expression out.y is used as a sink but can only be used as a source. ; CHECK: Expression in.y.z is used as a sink but can only be used as a source. ; CHECK: Expression in.y.z is used as a sink but can only be used as a source. circuit BTB : module BTB : input in : {x : UInt<1>, flip y : {flip z : UInt<1>}} output out : {x : UInt<1>, flip y : {flip z : UInt<1>}} in <> out out.y <> in.y out.y.z <> in.y.z wire w : {x : UInt<1>, flip y : {flip z : UInt<1>}} w <> in in.y <> w.y in.y.z <> w.y.z w.x := addw(in.x,in.y.z) out <> in in.y <> out.y in.y.z <> out.y.z