我不太熟悉Rust,只有在需要检查其类型系统是否可以实现一些有趣的功能时才会关注它。我有一个问题,是否可能将以下用TS编写的类型定义转换为Rust。
type Data = {
path: String
name: String
}
enum Type {
CSV,
JPG,
PNG
}
type CSV = Data & {
type: Type.CSV
}
type JPG = Data & {
type: Type.PNG
}
type PNG = Data & {
type: Type.PNG
}
// To avoid conflicts with the already reserved type File
type MyFile = CSV | PNG | JPG
我一直在尝试谷歌一些关于Rust语言是否可以扩展结构体的内容,但很遗憾并没有找到满足我的好奇心的答案。