protocol AClass: class {
    
}
class Controller {
    
    let classes: [AClass] = []
    
    
    init() {
        self.upload(classes: self.classes)
    }
    
    
    func upload<C: AClass>(classes: [C]) {
        
    }
}
The line in the initializer has a compile-time error of:
Value of protocol type 'AClass' cannot conform to 'AClass'; only struct/enum/class types can conform to protocols
Why? The protocol can only be applied to a class. Do I need to tell the compiler something more?
 
    