@@ -182,6 +182,7 @@ data ParseException = NonScalarKey
182182 | InvalidYaml (Maybe YamlException)
183183 | AesonException String
184184 | OtherParseException SomeException
185+ | NonStringKeyAlias Y.AnchorName Value
185186 deriving (Show, Typeable)
186187instance Exception ParseException
187188
@@ -302,6 +303,12 @@ parseM a front = do
302303 CL.drop 1
303304 s <- case me of
304305 Just (EventScalar v tag style a') -> parseScalar v a' style tag
306+ Just (EventAlias an) -> do
307+ m <- lift get
308+ case Map.lookup an m of
309+ Nothing -> liftIO $ throwIO $ UnknownAlias an
310+ Just (String t) -> return t
311+ Just v -> liftIO $ throwIO $ NonStringKeyAlias an v
305312 _ -> liftIO $ throwIO $ UnexpectedEvent me Nothing
306313 o <- parseO
307314