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]] 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]