Skip to content

Beta 1.63 breaks calloop 0.4.4 build #98750

Closed
@YaLTeR

Description

@YaLTeR

Code

I tried this code: https://github.com/Smithay/calloop/tree/v0.4.4 cargo check

I expected to see this happen: successful build

Instead, this happened: build fails on the new beta (1.63)

error: implementation of `ErasedIdle` is not general enough
  --> src/loop_logic.rs:96:16
   |
96 |         Idle { callback }
   |                ^^^^^^^^ implementation of `ErasedIdle` is not general enough
   |
   = note: `ErasedIdle` would have to be implemented for the type `Option<Box<dyn for<'r> FnMut(&'r mut Data)>>`
   = note: ...but `ErasedIdle` is actually implemented for the type `Option<Box<(dyn FnMut(&'0 mut Data) + 'static)>>`, for some specific lifetime `'0`

Version it worked on

It most recently worked on: Rust 1.62

Version with regression

rustc --version --verbose:

rustc 1.63.0-beta.2 (6c1f14289 2022-06-28)
binary: rustc
commit-hash: 6c1f1428998a08864495bb599840a5997ec175f4
commit-date: 2022-06-28
host: x86_64-unknown-linux-gnu
release: 1.63.0-beta.2
LLVM version: 14.0.5

@rustbot modify labels: +regression-from-stable-to-beta -regression-untriaged

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.P-criticalCritical priorityregression-from-stable-to-betaPerformance or correctness regression from stable to beta.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions