Skip to content
  • Yorick Peterse's avatar
    Remove type parameters when re-opening objects · d5c10f8b
    Yorick Peterse authored
    When implementing a trait for an object or when re-opening an object,
    the compiler required that you specify the type parameter names of the
    object. For example, to implement the Equal trait for Triple you would
    write:
    
        impl Equal for Triple!(A, B, C) {
          ...
        }
    
    The original idea of this syntax was to make it more clear that type
    parameters used in the body originated from the object, not the trait.
    
    Over time, I realised that this doesn't actually help and in fact makes
    the compiler's life more difficult in a bunch of places. In this commit,
    we remove the need for specifying the type parameters, allowing you to
    write the following instead:
    
        impl Equal for Triple {
          ...
        }
    d5c10f8b