• A
    Fix ref-to-ptr coercions not working with NLL in certain cases · b5f8cd5c
    Aaron Hill 提交于
    Implicit coercions from references to pointers were lowered to slightly
    different Mir than explicit casts (e.g. 'foo as *mut T'). This resulted
    in certain uses of self-referential structs compiling correctly when an
    explicit cast was used, but not when the implicit coercion was used.
    
    To fix this, this commit adds an outer 'Use' expr when applying a
    raw-ptr-borrow adjustment. This makes the lowered Mir for coercions
    identical to that of explicit coercions, allowing the original code to
    compile regardless of how the raw ptr cast occurs.
    
    Fixes #47722
    b5f8cd5c
issue-47722.rs 829 字节