@@ -86,7 +86,7 @@ elabData info syn fc (PDatadecl n t_in dcons)
8686
8787elabRecord :: ElabInfo -> SyntaxInfo -> FC -> Name ->
8888 PTerm -> Name -> PTerm -> Idris ()
89−elabRecord info syn fc tyn ty cn cty
89+elabRecord info syn_in fc tyn ty cn cty
9090 = do elabData info syn fc (PDatadecl tyn ty [(cn, cty, fc)])
9191 cty <- implicit syn cn cty
9292 i <- get
@@ -106,6 +106,7 @@ elabRecord info syn fc tyn ty cn cty
106106 update_decls <- mapM (mkUpdate recty (length nonImp)) (zip nonImp [0..])
107107 mapM_ (elabDecl info) (concat (proj_decls ++ update_decls))
108108 where
109+ syn = syn_in { syn_namespace = show (nsroot tyn) : syn_namespace syn_in }
109110
110111 isNonImp (PExp _ _ _, a) = Just a
111112 isNonImp _ = Nothing
@@ -135,8 +136,9 @@ elabRecord info syn fc tyn ty cn cty
135136 mkSet (MN 0 n) = MN 0 ("set_" ++ n)
136137 mkSet (NS n s) = NS (mkSet n) s
137138
138− mkProj recty substs cimp ((pn, pty), pos)
139− = do let pfnTy = PTy defaultSyntax fc [] pn
139+ mkProj recty substs cimp ((pn_in, pty), pos)
140+ = do let pn = expandNS syn pn_in
141+ let pfnTy = PTy defaultSyntax fc [] pn
140142 (PPi expl rec recty
141143 (substMatches substs pty))
142144 let pls = repeat Placeholder
@@ -153,7 +155,7 @@ elabRecord info syn fc tyn ty cn cty
153155 implicitise (pa, t) = pa { getTm = t }
154156
155157 mkUpdate recty num ((pn, pty), pos)
156− = do let setname = mkSet pn
158+ = do let setname = expandNS syn $ mkSet pn
157159 let valname = MN 0 "updateval"
158160 let pfnTy = PTy defaultSyntax fc [] setname
159161 (PPi expl pn pty