Browse Source

reported a field, which caused a crash

Aleksandr Kuzmenko 5 years ago
parent
commit
9925f030b5
1 changed files with 8 additions and 1 deletions
  1. 8 1
      src/core/texpr.ml

+ 8 - 1
src/core/texpr.ml

@@ -508,7 +508,14 @@ module Builder = struct
 		| _ -> error "Unsupported constant" p
 		| _ -> error "Unsupported constant" p
 
 
 	let field e name t p =
 	let field e name t p =
-		mk (TField (e,try quick_field e.etype name with Not_found -> die "" __LOC__)) t p
+		let f =
+			try
+				quick_field e.etype name
+			with Not_found ->
+				let field = (s_type (print_context()) e.etype) ^ "." ^ name in
+				die ("Field " ^ field ^ " requested but not found") __LOC__
+		in
+		mk (TField (e,f)) t p
 
 
 	let fcall e name el ret p =
 	let fcall e name el ret p =
 		let ft = tfun (List.map (fun e -> e.etype) el) ret in
 		let ft = tfun (List.map (fun e -> e.etype) el) ret in