diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2014-10-28 13:02:40 +0100 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2014-11-02 19:03:01 +0100 |
commit | c001bde73e38904ed161b0b61b240f99a3b6f48d (patch) | |
tree | f79a9eb3097f35e3c86e9105ff9305794a66351b /compiler/iface/TcIface.lhs | |
parent | 96c22d9e3591d49a9435e7961563ccd55c0bec0f (diff) | |
download | haskell-c001bde73e38904ed161b0b61b240f99a3b6f48d.tar.gz |
Put one-Shot info in the interface
Differential Revision: https://phabricator.haskell.org/D391
Diffstat (limited to 'compiler/iface/TcIface.lhs')
-rw-r--r-- | compiler/iface/TcIface.lhs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/iface/TcIface.lhs b/compiler/iface/TcIface.lhs index 424a46c232..4e2cfd5a76 100644 --- a/compiler/iface/TcIface.lhs +++ b/compiler/iface/TcIface.lhs @@ -1093,9 +1093,12 @@ tcIfaceExpr (IfaceTuple boxity args) = do con_id = dataConWorkId (tupleCon boxity arity) -tcIfaceExpr (IfaceLam bndr body) +tcIfaceExpr (IfaceLam (bndr, os) body) = bindIfaceBndr bndr $ \bndr' -> - Lam bndr' <$> tcIfaceExpr body + Lam (tcIfaceOneShot os bndr') <$> tcIfaceExpr body + where + tcIfaceOneShot IfaceOneShot b = setOneShotLambda b + tcIfaceOneShot _ b = b tcIfaceExpr (IfaceApp fun arg) = tcIfaceApps fun arg |