git.iko.soy/rowtype-yoga/purescript-yoga-om-layer
on add-instances help sign in
22 lines 685 B history raw
1module Test.Negative.TypeMismatch where
3import Prelude
5import Data.Maybe (Maybe(..))
6import Effect (Effect)
7import Yoga.Om (Om, launchOm_)
8import Yoga.Om.Layer (OmLayer, makeLayer, runLayer)
10type Database = { query :: String -> Effect (Array String) }
12programLayer :: OmLayer (database :: Database) () ()
13programLayer = makeLayer do
14 pure {}
16-- This should FAIL to compile - wrong type for database!
17-- Expected: { query :: String -> Effect (Array String) }
18-- Provided: { query :: String -> String }
19testTypeMismatch :: Om _ () _
20testTypeMismatch = launchOm_ do
21 programLayer # runLayer
22 { database: { query: \q -> "" } } -- Wrong! Returns String not Effect (Array String)