<unknown>:0: error: symbol '_T04test013PublicPrivateB6StructV13privateVarGetSivfi' (test.PublicPrivatePublicStruct.(privateVarGet : Swift.Int).(variable initialization expression)) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test013PublicPrivateB6StructV16privateVarGetSetSivfi' (test.PublicPrivatePublicStruct.(privateVarGetSet : Swift.Int).(variable initialization expression)) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test014PublicInternalB6StructV14internalVarGetSivfi' (test.PublicInternalPublicStruct.(internalVarGet : Swift.Int).(variable initialization expression)) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test014PublicInternalB6StructV17internalVarGetSetSivfi' (test.PublicInternalPublicStruct.(internalVarGetSet : Swift.Int).(variable initialization expression)) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test06PublicbB6StructV12publicVarGetSivfi' (test.PublicPublicPublicStruct.(publicVarGet : Swift.Int).(variable initialization expression)) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test06PublicbB6StructV15publicVarGetSetSivfi' (test.PublicPublicPublicStruct.(publicVarGetSet : Swift.Int).(variable initialization expression)) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test06PublicbB6StructVAA0B0A2aDP12publicMethodyyFTW' (protocol witness for test.Public.publicMethod () -> () in conformance test.PublicPublicPublicStruct : test.Public in test) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test06PublicbB6StructVAA0B0AAWP' (protocol witness table for test.PublicPublicPublicStruct : test.Public in test) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test06PublicbB6StructVAA0B0AAWa' (protocol witness table accessor for test.PublicPublicPublicStruct : test.Public in test) is in generated IR file, but not in TBD file
<unknown>:0: error: symbol '_T04test013PublicPrivateB6StructV13privateVarGetSifg' (test.PublicPrivatePublicStruct.privateVarGet.getter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test013PublicPrivateB6StructV16privateVarGetSetSifg' (test.PublicPrivatePublicStruct.privateVarGetSet.getter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test013PublicPrivateB6StructV16privateVarGetSetSifm' (test.PublicPrivatePublicStruct.privateVarGetSet.materializeForSet : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test013PublicPrivateB6StructV16privateVarGetSetSifs' (test.PublicPrivatePublicStruct.privateVarGetSet.setter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test014PublicInternalB6StructV14internalVarGetSifg' (test.PublicInternalPublicStruct.internalVarGet.getter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test014PublicInternalB6StructV17internalVarGetSetSifg' (test.PublicInternalPublicStruct.internalVarGetSet.getter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test014PublicInternalB6StructV17internalVarGetSetSifm' (test.PublicInternalPublicStruct.internalVarGetSet.materializeForSet : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test014PublicInternalB6StructV17internalVarGetSetSifs' (test.PublicInternalPublicStruct.internalVarGetSet.setter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test06PublicbB6StructV12publicVarGetSifg' (test.PublicPublicPublicStruct.publicVarGet.getter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test06PublicbB6StructV15publicVarGetSetSifg' (test.PublicPublicPublicStruct.publicVarGetSet.getter : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test06PublicbB6StructV15publicVarGetSetSifm' (test.PublicPublicPublicStruct.publicVarGetSet.materializeForSet : Swift.Int) is in TBD file, but not in generated IR
<unknown>:0: error: symbol '_T04test06PublicbB6StructV15publicVarGetSetSifs' (test.PublicPublicPublicStruct.publicVarGetSet.setter : Swift.Int) is in TBD file, but not in generated IR
