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
}
