Introduce or remove a duplicate definition


Identity: Duplication
Category: MultiModule Naming
Classifiers: duplicate definition
Internal cross references:
External cross references:

Language: General

Description:

Add a duplicate of an existing definition; the user supplies the new name to be used in the duplicated binding.


format = ... format ...
  

format = ... format ... 
fmt    = ... fmt    ...
  

Left to right comment:

Duplicating a definition is often a precursor to making a modified version of the duplicated definition, which may in turn come be used to replace the original.

Duplicating an implicitly exported top-level definition would make the new definition also implicitly exported. If the new definition name would cause any ambiguity/conflicting exports problems in a module that imports it, the new name will be added to the hiding list of the corresponding import declaration in this module.

Right to left comment:

This is a special case of the Deletion of a definition.

Left to right conditions:

See the conditions for Renaming a definition.

Right to left conditions:

The definition to be removed must not be used. See (left to right) conditions for Deletion of a definition.

Analysis required:

Static analysis of bindings; module analysis.