summaryrefslogtreecommitdiff
path: root/doc/forum/REversable_property_changes/comment_3_b6e6a50654fcac2f624c43a04e12c4d6._comment
blob: ed7fdfca686881359876e55aac9930127a7e45c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[[!comment format=mdwn
 username="joey"
 subject="""comment 3"""
 date="2015-11-12T16:05:44Z"
 content="""
Ok, what's going on is that the combination of a RevertableProperty and a
Property with requires has changed from being a RevertableProperty before
to a Property now. (Because it can't all be reverted.)

Since your code has `schroot :: RevertableProperty HasInfo`
ghc complains that the type it infers doesn't match. Changing that to
`Property HasInfo` will clear up the type error.

Unfortunate that the error message is complicated in this case by the
use of CInfo and CombinedType. If you notice that 
`CInfo HasInfo NoInfo = HasInfo` and that `CombinedType (RevertableProperty
HasInfo) (Property NoInfo) = Property HasInfo`, a better error message
would be:

	Couldn't match type ‘Property HasInfo'
	  with ‘RevertableProperty HasInfo’
	Expected type: RevertableProperty HasInfo
	  Actual type: Property HasInfo
"""]]