• N
    Change the data structures for tracking defaulted traits. In the tcx, we · dbec033e
    Niko Matsakis 提交于
    now have a simple set of trait def-ids. During coherence, we use a
    separate table to track the default impls for any given trait so that we
    can report a nice error. This fixes various bugs in the metadata
    encoding that led to `ty::trait_has_default_impl` yielding the wrong
    values in the cross-crate case. (In particular, default impl def-ids
    were not included in the list of all impl def-ids; I debated fixing just
    that, but this approach seemed cleaner overall, since we usually treat
    the "defaulted" bit on traits as being a property of the trait, and now
    iterating over a list of impls doesn't intermingle default impls with
    normal impls.)
    dbec033e
decoder.rs 55.0 KB