Generic function that return different types based on an enum input
问题 I have a struct which holds registers. I want my read_register function to return a u8 for Register::V0 and Register::V1 but a u16 for Register::V2 and Register::V3 . I'm not sure how to make the function generic for over the input type. I'm getting the error match arms have incompatible types which does make sense because the types are different. struct Registers { v0: u8, v1: u8, v2: u16, v3: u16, } enum Register { V0, V1, V2, V3, } impl Registers { fn read_register<T>(&self, register: