1{-# LANGUAGE TypeFamilies #-}
2{-# LANGUAGE TypeApplications #-}
3{-# LANGUAGE DataKinds #-}
4{-# LANGUAGE DeriveGeneric #-}
5{-# OPTIONS_GHC -Wall #-}
6
7module Test40 where
8
9import Data.Generics.Product
10import GHC.Generics
11
12class MyClass a where
13  data AssocData a
14
15instance MyClass Int where
16  data AssocData Int = SomeData
17    { val :: Int
18    } deriving (Generic)
19
20main :: IO ()
21main
22  = print $ getField @"val" (SomeData 3)
23