Repository navigation
Dead code, stale comments and unused test inputs left by recent changes #8977
Copy link
Copy link
Closed
Description
Found by differential semantic drift analysis from a7721303 to b123b7c3.
What is broken
Definitions, comments and test inputs left behind by changes in this range.
-
.cmtcode for the embedded.cmithat Stop writing a copy of the .cmi into .cmt and .cmti files #8774 stopped writing.Cmi_format.output_cmi(cmi_format.mlL64-L73) has no caller; the comment oncreate_cmi(L75-L77) still sayssave_cmtcalls it;cmt_interface_digestis alwaysNoneand never read. The nested read of a cmt after a cmi (cmt_format_common.mlL122-L130) is unreachable since the magic-number bumps in Remove OCaml leftovers #8805 and Remove OCaml attribute aliases and the features only OCaml used #8928, whilecmt_format.mliL22-L27 andcmt_format_common.mlL110-L111 still promise that older files are read. -
Oprint.out_type_extension(oprint.mlL31-L32) is set byres_outcome_printer.mlL943 and read by nothing since Remove dead code #8756 removed its readers. -
Ext_namespace.try_split_module_name(ext_namespace.mlL38) is used only by its test since Remove dead code #8756 deletedoutcome_printer_ns.ml. -
Ast_untagged_variants.block_type_can_be_undefined(L87-L91) has no caller since Match optional fields as options #8842; the module has no interface, so no warning reports it. - Stale comment on
Ast_helper.Jsx_component.take(ast_helper.mlL360-L364): an attribute "whose payload is not understood, is left in the attributes for the JSX transform to reject". Since Accept a payload on @react.componentWithProps with a deprecation warning #8944, a payload on@react.componentWithPropsis accepted with a deprecation warning (jsx_common.mlL11-L38). - Unused test inputs.
tests/build_tests/regexp_statement_formatting/rescript.json(Keep regexp statements parseable after formatting #8720): the test runsbscdirectly with explicit project root, package name and output, and passes without the file.rewatch-ocaml/tests/failure/Broken.invalid(Port rewatch to OCaml #8780) is identical tofailure/src/Broken.resand named by no script; onlyBroken.fixedis read. The same holds fortests/build_tests/option_transitive_dependency/rescript.json(Fix compiler crash for options of transitive dependency types #8719, just before this range). - Predating this range, for the same cleanup:
(*TODO: add +10*)inbsc_warnings.mlL50 refers to a warning removed by Remove dead and unreachable error and warning variants #8459, andcompiler/bsc/rescript_compiler_main.mliis an empty interface for an entry module that defines no value since Make compiler requests safe to run repeatedly and in parallel #8864.
Possible cause (speculation only)
A guess: the removals deleted the callers in the files they changed, and definitions exported through an interface (or in a module without one) produce no unused-value warning.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity