ICE: OutputTypeParameterMismatch
when combining closures and higher-rank lifetime bounds
#60070
Labels
C-bug
Category: This is a bug.
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
P-high
High priority
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Update by pnkfelix: Here is a version of the code that does not use any features, so you can see the bug on stable/beta/nightly (play):
Click to expand the code, in case playpen link above is broken
Original report follows.
Hi, I ran into the ICE while compiling this code: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=c4d5196a6bdaf9a0bd5d346ef2bb20e1
The basic idea with this code is:
FamilyLt
trait (workaround for GAT, see 'Workaround B' http://lukaskalbertodt.github.io/2018/08/03/solving-the-generalized-streaming-iterator-problem-without-gats.html)Note:
The ICE appeared when I actually use the closure to store it in the
FnBox
.See, this one without the implementation of
task
compiles (source code below).This may be related to #29997, but I prefered to report this use case as well.
Meta
rustc --version --verbose
:Backtrace:
Source Code without `task`
Note: I fail to make a proper second link to playground, so copy paste the code here
The text was updated successfully, but these errors were encountered: