You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the process of developing a solver I found this new error:
Internal compiler error. Please report this:
https://github.com/diku-dk/futhark/issues
After internalisation:
In function lifted_lambda_6629
When checking the body aliases: [[mode_7261, mode_7262], [mode_7261, mode_7262]]
A unique tuple element of return value of function lifted_lambda_6629 is aliased to some other tuple component.
my futhark version is hot off the press:
Futhark 0.23.0 (prerelease - include info below when reporting bugs)
git: cb9d1c1 (Sat Jan 21 16:40:39 2023 +0100)
typet [n] =#foo [n](i32,i32) |#bardefmain (x: t []) =
(\x->matchxcase#fooarr->take2arrcase_-> [(0,1)]) x
Looks like lambda lifting is inferring the wrong uniqueness of a return type. Should not be too difficult to fix. Futhark 0.21.1 also has this bug, so it is not new.
Actually, this is a problem in type checking, where we don't propagate aliases when we pattern match on an incompletely known sum type.
In the long run I think we should move all alias/consumption checking to a second type checking phase, where we know completely the type structure, but I think I can patch this for now.
In the process of developing a solver I found this new error:
my futhark version is hot off the press:
Here is code that generates the bug: internalization_bug.zip
The bug arises from somewhere in the block from line 42 to 47.
Hope that helps!
The text was updated successfully, but these errors were encountered: