diff --git a/patches/futhark-0.24.2.patch b/patches/futhark-0.24.2.patch index 0db9e0da019307b13b0f575ba5c5a3e5791fda8c..2ec785e3f62e8136c1a6551fedb3f81ce86dee59 100644 --- a/patches/futhark-0.24.2.patch +++ b/patches/futhark-0.24.2.patch @@ -11,3 +11,71 @@ index cbdc3e1..9e13b5e 100644 import Data.Int (Int64) import Data.List (foldl', transpose) import Data.Map qualified as M +diff --git a/src/Futhark/IR/Syntax/Core.hs b/src/Futhark/IR/Syntax/Core.hs +index f61a679..f2023f4 100644 +--- a/src/Futhark/IR/Syntax/Core.hs ++++ b/src/Futhark/IR/Syntax/Core.hs +@@ -248,7 +248,13 @@ instance Bitraversable TypeBase where + bitraverse _ _ (Mem s) = pure $ Mem s + + instance Functor (TypeBase shape) where +- fmap = second ++ fmap = fmapDefault ++ ++instance Foldable (TypeBase shape) where ++ foldMap = foldMapDefault ++ ++instance Traversable (TypeBase shape) where ++ traverse = bitraverse pure + + instance Bifunctor TypeBase where + bimap = bimapDefault +diff --git a/src/Language/Futhark/Syntax.hs b/src/Language/Futhark/Syntax.hs +index 527c5ad..06615b9 100644 +--- a/src/Language/Futhark/Syntax.hs ++++ b/src/Language/Futhark/Syntax.hs +@@ -287,7 +287,13 @@ instance Bitraversable RetTypeBase where + bitraverse f g (RetType dims t) = RetType dims <$> bitraverse f g t + + instance Functor (RetTypeBase dim) where +- fmap = second ++ fmap = fmapDefault ++ ++instance Foldable (RetTypeBase dim) where ++ foldMap = foldMapDefault ++ ++instance Traversable (RetTypeBase dim) where ++ traverse = bitraverse pure + + instance Bifunctor RetTypeBase where + bimap = bimapDefault +@@ -318,7 +324,13 @@ instance Bitraversable ScalarTypeBase where + bitraverse f g (Sum cs) = Sum <$> (traverse . traverse) (bitraverse f g) cs + + instance Functor (ScalarTypeBase dim) where +- fmap = second ++ fmap = fmapDefault ++ ++instance Foldable (ScalarTypeBase dim) where ++ foldMap = foldMapDefault ++ ++instance Traversable (ScalarTypeBase dim) where ++ traverse = bitraverse pure + + instance Bifunctor ScalarTypeBase where + bimap = bimapDefault +@@ -342,7 +354,13 @@ instance Bitraversable TypeBase where + Array <$> g a <*> pure u <*> traverse f shape <*> bitraverse f pure t + + instance Functor (TypeBase dim) where +- fmap = second ++ fmap = fmapDefault ++ ++instance Foldable (TypeBase dim) where ++ foldMap = foldMapDefault ++ ++instance Traversable (TypeBase dim) where ++ traverse = bitraverse pure + + instance Bifunctor TypeBase where + bimap = bimapDefault