Skip to content

Internal Compiler Error in 1.30 and 1.31 #55846

Closed
@daniel-fontaine

Description

@daniel-fontaine

This library compiled without issue in rust versions prior to 1.30.

error: internal compiler error: broken MIR in DefId(0/0:1339 ~ zeta[1bd0]::cp[0]::solver[0]::sequential[0]::{{impl}}[1]::with_search[0]) (const cp::solver::CPSolver::with_heuristic): bad constant user type Canonical { variables: [], value: fn(std::sync::Arc<modeling::Model>, cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>, F>) -> cp::solver::sequential::CPSequentialSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<<cp::solver::backtracking::copying::CopyingBacktracker as cp::solver::backtracking::Backtracker>::Node>>, F>> {<cp::solver::sequential::CPSequentialSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<<cp::solver::backtracking::copying::CopyingBacktracker as cp::solver::backtracking::Backtracker>::Node>>, F>> as cp::solver::CPSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>, F>>>::with_heuristic} } vs fn(std::sync::Arc<modeling::Model>, cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>, F>) -> cp::solver::sequential::CPSequentialSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>, F>> {<cp::solver::sequential::CPSequentialSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>, F>> as cp::solver::CPSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>, F>>>::with_heuristic}: NoSolution
  --> src/cp/solver/sequential.rs:70:9                                                                                                                                                        
   |                                                                                                                                                                                          
70 | /         <Self as CPSolver<CustomSearchFactory<CPWorker<B, C>, F>>>                                                                                                                     
71 | |             ::with_heuristic(model, heur)                                                                                                                                              
   | |____________________________^                                                                                                                                                           
                                                                                                                                                                                              
error: internal compiler error: broken MIR in DefId(0/0:1385 ~ zeta[1bd0]::cp[0]::solver[0]::parallel[0]::{{impl}}[1]::with_search[0]) (const cp::solver::CPSolver::with_heuristic): bad constant user type Canonical { variables: [], value: fn(std::sync::Arc<modeling::Model>, cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<cp::solver::backtracking::copying::CPCopyingSearchNode, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>>, F>) -> cp::solver::parallel::CPParallelSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<<cp::solver::backtracking::copying::CopyingBacktracker as cp::solver::backtracking::Backtracker>::Node, cp::search::core_controllers::DFSController<<cp::solver::backtracking::copying::CopyingBacktracker as cp::solver::backtracking::Backtracker>::Node>>>, F>> {<cp::solver::parallel::CPParallelSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<<cp::solver::backtracking::copying::CopyingBacktracker as cp::solver::backtracking::Backtracker>::Node, cp::search::core_controllers::DFSController<<cp::solver::backtracking::copying::CopyingBacktracker as cp::solver::backtracking::Backtracker>::Node>>>, F>> as cp::solver::CPSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<cp::solver::backtracking::copying::CPCopyingSearchNode, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>>, F>>>::with_heuristic} } vs fn(std::sync::Arc<modeling::Model>, cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<cp::solver::backtracking::copying::CPCopyingSearchNode, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>>, F>) -> cp::solver::parallel::CPParallelSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<cp::solver::backtracking::copying::CPCopyingSearchNode, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>>, F>> {<cp::solver::parallel::CPParallelSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<cp::solver::backtracking::copying::CPCopyingSearchNode, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>>, F>> as cp::solver::CPSolver<cp::search::builder::CustomSearchFactory<cp::solver::kernel::worker::CPWorker<cp::solver::backtracking::copying::CopyingBacktracker, cp::search::core_controllers::ParallelAdapter<cp::solver::backtracking::copying::CPCopyingSearchNode, cp::search::core_controllers::DFSController<cp::solver::backtracking::copying::CPCopyingSearchNode>>>, F>>>::with_heuristic}: NoSolution
  --> src/cp/solver/parallel.rs:76:9                                                                                                                                                          
   |                                                                                                                                                                                          
76 | /         <Self as CPSolver<CustomSearchFactory<CPWorker<B, C>, F>>>                                                                                                                     
77 | |             ::with_heuristic(model, heur)                                                                                                                                              
   | |____________________________^                                                                                                                                                           
                                                                                                                                                                                              
thread 'main' panicked at 'no errors encountered even though `delay_span_bug` issued', librustc_errors/lib.rs:322:17                                                                          
note: Run with `RUST_BACKTRACE=1` for a backtrace.                                                                                                                                            
                                                                                                                                                                                              
error: internal compiler error: unexpected panic                                                                                                                                              
                                                                                                                                                                                              
note: the compiler unexpectedly panicked. this is a bug.                                                                                                                                      
                                                                                                                                                                                              
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports                                                                             
                                                                                                                                                                                              
note: rustc 1.30.1 (1433507eb 2018-11-07) running on x86_64-unknown-linux-gnu                                                                                                                 
                                                                                                                                                                                              
note: compiler flags: -C opt-level=3 --crate-type lib                                                                                                                                         
                                                                                                                                                                                              
note: some of the compiler flags provided by cargo are hidden 

Metadata

Metadata

Assignees

No one assigned

    Labels

    E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.E-help-wantedCall for participation: Help is requested to fix this issue.E-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions