From 1ab91ebefc7e95f4a59a36e25fbe5dfdf42c2114 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bobot?= Date: Wed, 1 Dec 2021 14:36:57 +0100 Subject: [PATCH 1/2] Add regression tests for qualified type --- test/ppx_deriving_qcheck/deriver/dune | 7 +++++++ test/ppx_deriving_qcheck/deriver/test_qualified_names.ml | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 test/ppx_deriving_qcheck/deriver/test_qualified_names.ml diff --git a/test/ppx_deriving_qcheck/deriver/dune b/test/ppx_deriving_qcheck/deriver/dune index ea03722f..070e9d12 100644 --- a/test/ppx_deriving_qcheck/deriver/dune +++ b/test/ppx_deriving_qcheck/deriver/dune @@ -1,4 +1,11 @@ (test (name test) + (modules test) (libraries alcotest ppxlib ppx_deriving_qcheck qcheck) (preprocess (pps ppxlib.metaquot))) + +(test + (name test_qualified_names) + (modules test_qualified_names) + (libraries qcheck) + (preprocess (pps ppx_deriving_qcheck))) diff --git a/test/ppx_deriving_qcheck/deriver/test_qualified_names.ml b/test/ppx_deriving_qcheck/deriver/test_qualified_names.ml new file mode 100644 index 00000000..3ed3f37f --- /dev/null +++ b/test/ppx_deriving_qcheck/deriver/test_qualified_names.ml @@ -0,0 +1,7 @@ +module Q = struct + type t = int + [@@deriving qcheck] +end + +type t = Q.t + [@@deriving qcheck] From fac2c39c65aad0a611c6ce85a3282a3855939cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bobot?= Date: Wed, 1 Dec 2021 18:12:55 +0100 Subject: [PATCH 2/2] Fix constructor instead of ident --- src/ppx_deriving_qcheck/ppx_deriving_qcheck.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ppx_deriving_qcheck/ppx_deriving_qcheck.ml b/src/ppx_deriving_qcheck/ppx_deriving_qcheck.ml index 420e5fa7..420dab10 100644 --- a/src/ppx_deriving_qcheck/ppx_deriving_qcheck.ml +++ b/src/ppx_deriving_qcheck/ppx_deriving_qcheck.ml @@ -58,7 +58,7 @@ let gen ~loc ?(env = TypeGen.empty) lg = match lg with | Lident s -> Option.value ~default:(name s |> A.evar) @@ TypeGen.find_opt s env - | Ldot (lg, s) -> A.(pexp_construct (Located.mk @@ Ldot (lg, name s)) None) + | Ldot (lg, s) -> A.(pexp_ident (Located.mk @@ Ldot (lg, name s))) | Lapply (_, _) -> raise (Invalid_argument "gen received an Lapply") let frequency ~loc l = [%expr QCheck.Gen.frequency [%e l]]