我不想检查一个类型是否具有某种特征,但我想能够区分例如结构体和整数。由于结构体和整数都可以实现相同的特征,我不知道如何区分它们。
我之所以想这样做,是因为我正在使用serde_json将通用类型转换为JSON,但我希望它只成为JSON对象(当它是一个结构体时才会发生),但它不应该转换成其他任何东西(例如JSON I64)。由于结构体和整数都可以实现Serialize特征,所以没有办法区分它们。
目前,我让程序崩溃,因为它不是可以恢复的错误,但由于我可能在编译时知道这一点,我想知道是否有任何机制可以在编译阶段确定类型。
我想知道如何通过它们的“类别”而不是它们的特征来区分类型。
我之所以想这样做,是因为我正在使用serde_json将通用类型转换为JSON,但我希望它只成为JSON对象(当它是一个结构体时才会发生),但它不应该转换成其他任何东西(例如JSON I64)。由于结构体和整数都可以实现Serialize特征,所以没有办法区分它们。
目前,我让程序崩溃,因为它不是可以恢复的错误,但由于我可能在编译时知道这一点,我想知道是否有任何机制可以在编译阶段确定类型。
我想知道如何通过它们的“类别”而不是它们的特征来区分类型。