You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 5601 Reporter:@garrigue Assigned to:@alainfrisch Status: closed (set by @xavierleroy on 2013-08-31T10:49:06Z) Resolution: fixed Priority: high Severity: minor Version: 4.00.0+dev Category: typing
Bug description
The following code causes two warnings:
module M = struct type t = A end;;
module M : sig type t = A end
module G : sig end = struct type d = M.t = A end;;
Warning 34: unused type d.
Warning 37: unused constructor A.
Warning 34 is correct since d is defined but never used.
However warning 37 is wrong, since A comes from M.t, and one can build values using M.t.
I looked at the code, but couldn't determine how to fix that.
The text was updated successfully, but these errors were encountered:
The current strategy for detecting unused constructors is rather constraining. Ideally, one should merge "usage markers" when a constructor is re-exported so to consider all the declarations for the same constructor as a single one. This can be done later.
Original bug ID: 5601
Reporter: @garrigue
Assigned to: @alainfrisch
Status: closed (set by @xavierleroy on 2013-08-31T10:49:06Z)
Resolution: fixed
Priority: high
Severity: minor
Version: 4.00.0+dev
Category: typing
Bug description
The following code causes two warnings:
module M = struct type t = A end;;
module M : sig type t = A end
module G : sig end = struct type d = M.t = A end;;
Warning 34: unused type d.
Warning 37: unused constructor A.
Warning 34 is correct since d is defined but never used.
However warning 37 is wrong, since A comes from M.t, and one can build values using M.t.
I looked at the code, but couldn't determine how to fix that.
The text was updated successfully, but these errors were encountered: