Skip to content

Infinite loop in fulfillment ICE #18

New issue

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

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

Already on GitHub? # to your account

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
# for free to join this conversation on GitHub. Already have an account? # 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