diff --git a/src/dune_util/value.ml b/src/dune_util/value.ml index 4c14223af5e1..4640125ee14a 100644 --- a/src/dune_util/value.ml +++ b/src/dune_util/value.ml @@ -42,7 +42,12 @@ let to_path ?error_loc t ~dir = let to_path_in_build_or_external ?error_loc t ~dir = match t with | String s -> Path.relative_to_source_in_build_or_external ?error_loc ~dir s - | Dir p | Path p -> p + | Dir p | Path p -> + if Path.is_in_source_tree p then + Code_error.raise ?loc:error_loc + "to_path_in_build_or_external got a file in source directory" + [ ("path", Path.to_dyn p) ]; + p module L = struct let to_dyn t = Dyn.List (List.map t ~f:to_dyn)