• P
    libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson · eb4d39e1
    Patrick Walton 提交于
    "Dual impls" are impls that are both type implementations and trait
    implementations. They can lead to ambiguity and so this patch removes them
    from the language.
    
    This also enforces coherence rules. Without this patch, records can implement
    traits not defined in the current crate. This patch fixes this, and updates
    all of rustc to adhere to the new enforcement. Most of this patch is fixing
    rustc to obey the coherence rules, which involves converting a bunch of records
    to structs.
    eb4d39e1
astsrv.rs 5.9 KB