Skip to content

global where-bounds normalization issue #257

@lcnr

Description

@lcnr

affects binius_field https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/crater.20triage.20.3A3/near/553949363. Thanks @lqd ❤️

There are 3 different issues here, make sure the remaining ones are also tracked.

#![feature(rustc_attrs)]
#![expect(internal_features)]
#![rustc_no_implicit_bounds]

pub trait Bound {}
impl Bound for u8 {}

pub trait Proj {
    type Assoc;
}
impl<U: Bound> Proj for U {
    type Assoc = U;
}
impl Proj for MyField {
    type Assoc = u8;
}

pub trait Field: Proj<Assoc: Bound + 'static> {}

struct MyField;
impl Field for MyField {}

trait IdReqField {
    type This;
}
impl<F: Field> IdReqField for F {
    type This = F;
}

fn foo()
where
    <MyField as IdReqField>::This: Field,
{
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    from-craterA regression found via a crater run, not part of our test suite

    Type

    No type

    Projects

    Status

    todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions