Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infinite loop in fulfillment ICE #18

Open
compiler-errors opened this issue Mar 29, 2023 · 0 comments
Open

Infinite loop in fulfillment ICE #18

compiler-errors opened this issue Mar 29, 2023 · 0 comments
Labels
needs-cleaner-fix A medium-sized fixed needs to be put up and applied needs-further-investigation Needs to be root-caused

Comments

@compiler-errors
Copy link
Owner

pub fn main() {
    let mut x;
    x = Box::new(x);
}

Triggers the not implemented: overflowed on pending obligations ICE in the new solver fulfillment context. We probably should actually just turn that into a hard error.

thread 'rustc' panicked at 'not implemented: overflowed on pending obligations: [Obligation(predicate=Binder(CoercePredicate { a: _#1t, b: _#5t }, []), cause=ObligationCause { span: <source>:3:18: 3:19 (#0), body_id: DefId(0:3 ~ example[4e51]::main), code: ExprAssignable }, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, depth=0), Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#5t, b: _#6t }, []), cause=ObligationCause { span: <source>:3:9: 3:20 (#0), body_id: DefId(0:3 ~ example[4e51]::main), code: ExprAssignable }, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, depth=0)]', compiler/rustc_trait_selection/src/solve/fulfill.rs:59:17

We also probably should investigate why this coerce predicate really is looping forever -- it's not clear why it shouldn't just turn into ambig.

@compiler-errors compiler-errors added needs-further-investigation Needs to be root-caused needs-cleaner-fix A medium-sized fixed needs to be put up and applied labels Mar 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-cleaner-fix A medium-sized fixed needs to be put up and applied needs-further-investigation Needs to be root-caused
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant