Disambiguate recursive record groups and share group configuration
This commit is contained in:
2 files changed
+35
-9
No files matched your search
@@ -133,3 +133,24 @@ let () =
|
||||
assert (Fieldglass.view Pairs._colour Pairs.{ colour = "grey" } = "grey");
|
||||
assert (Silent.{ colour = "grey" }.colour = "grey");
|
||||
assert (Functions.colour Functions.{ colour = "grey" } = "grey")
|
||||
|
||||
module Recursive = struct
|
||||
type left = { value : int; next : right option }
|
||||
and right = { value : string; next : left option }
|
||||
[@@fieldglass generate ~field_prefix_from_type]
|
||||
end
|
||||
|
||||
module Ambiguous = struct
|
||||
type number = { contents : int }
|
||||
and text = { contents : string }
|
||||
[@@fieldglass generate ~field_prefix_from_type]
|
||||
end
|
||||
|
||||
let () =
|
||||
let left : Recursive.left = { value = 3; next = None } in
|
||||
let right : Recursive.right = { value = "grey"; next = Some left } in
|
||||
assert (Recursive.left_value left = 3);
|
||||
assert (Recursive.right_value (Recursive.set_right_value "blue" right) = "blue");
|
||||
assert (Recursive.right_next right = Some left);
|
||||
let number : Ambiguous.number = { contents = 3 } in
|
||||
assert (Ambiguous.number_contents (Ambiguous.set_number_contents 4 number) = 4)
|
||||
Reference in new issue
Block a user