Open
Description
module type T = {
type t
}
module T = {
type t
}
let make = (): module(T) => module(T)
module T2 = unpack(make(): T)
(source_file [0, 0] - [11, 0]
(module_declaration [0, 0] - [2, 1]
(module_binding [0, 12] - [2, 1]
name: (module_identifier [0, 12] - [0, 13])
definition: (block [0, 16] - [2, 1]
(type_declaration [1, 2] - [1, 8]
(type_binding [1, 7] - [1, 8]
name: (type_identifier [1, 7] - [1, 8]))))))
(module_declaration [4, 0] - [6, 1]
(module_binding [4, 7] - [6, 1]
name: (module_identifier [4, 7] - [4, 8])
definition: (block [4, 11] - [6, 1]
(type_declaration [5, 2] - [5, 8]
(type_binding [5, 7] - [5, 8]
name: (type_identifier [5, 7] - [5, 8]))))))
(let_declaration [8, 0] - [8, 37]
(let_binding [8, 4] - [8, 37]
pattern: (value_identifier [8, 4] - [8, 8])
body: (function [8, 11] - [8, 37]
parameters: (formal_parameters [8, 11] - [8, 13])
return_type: (type_annotation [8, 13] - [8, 24]
(module_pack [8, 15] - [8, 24]
(module_identifier [8, 22] - [8, 23])))
body: (module_pack [8, 28] - [8, 37]
(module_identifier [8, 35] - [8, 36])))))
(module_declaration [10, 0] - [10, 29]
(module_binding [10, 7] - [10, 29]
name: (module_identifier [10, 7] - [10, 9])
definition: (module_unpack [10, 12] - [10, 29]
(call_expression [10, 19] - [10, 25]
function: (value_identifier [10, 19] - [10, 23])
arguments: (arguments [10, 23] - [10, 25]))
(ERROR [10, 25] - [10, 28])))))
Test.res 0.31 ms 401 bytes/ms (ERROR [10, 25] - [10, 28])
Metadata
Metadata
Assignees
Labels
No labels