Skip to content

looking up hidden types in the opaque storage may need to consider duplicate entries #193

@lcnr

Description

@lcnr

only necessary after rust-lang/rust#140497 rust-lang/rust#140405

my worry is something like this, even if I can't quite exploit it

trait Trait {
    type Assoc;
}
impl<T> Trait for T {
    type Assoc = String;
}

fn get_assoc<T: Trait>(x: T) -> T::Assoc {
    loop {}
}
fn foo<T: Copy + Default>(x: T) -> impl Trait<Assoc = String> + Default + Copy {
    let mut y = Default::default();
    let mut inf1 = Default::default();
    inf1 = foo(y);
    let inf = Default::default();
    if false {
        return inf;
    }
    y = x;
    get_assoc(inf1).len()
} 

TODO: lcnr explain/figure out

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions