struct GenericChannelStruct[T] { ch chan T } struct MyGenericChannelStruct { GenericChannelStruct[T] msg string } struct Simple { msg string } fn main() { new_channel_struct[Simple]() } pub fn new_channel_struct[T]() GenericChannelStruct[T] { d := GenericChannelStruct[T]{ ch: chan T{} } return d }