
.. include:: includes.rst

Unfixable Rules
===============

VSG is capable of fixing a wide range of formatting issues.
However, there are a class of issues which can be checked but can not be fixed.
These issues require the user to make the required changes.
In the documentation, these rules are marked with the following icon:  |unfixable|


Comments
--------

The existence and formatting of comments is left to the user as VSG can not have an opinion.

* `block_comment_001 <block_comment_rules.html#block-001>`_
* `block_comment_002 <block_comment_rules.html#block-002>`_
* `block_comment_003 <block_comment_rules.html#block-003>`_
* `comment_012 <comment_rules.html#comment-012>`_
* `sequential_006 <sequential_rules.html#sequential-006>`_
* `variable_assignment_006 <variable_assignment_rules.html#variable-assignment-006>`_

Configuration
-------------

Issues in configuration files can not be fixed.

* `source_file_001 <source_file_rules.html#source-file-001>`_

Default Assignments
-------------------

Default assignments are not preferred, but removing them may affect the design.

* `port_012 <port_rules.html#port-012>`_
* `signal_007 <signal_rules.html#signal-007>`_
* `variable_007 <variable_rules.html#variable-007>`_

Formatting Options
------------------

There are some formatting decisions that are best left to the user.

* `instantiation_034 <instantiation_rules.html#instantiation-034>`_
* `port_023 <port_rules.html#port-023>`_
* `process_030 <process_rules.html#process-030>`_
* `reserved_001 <reserved_rules.html#reserved-001>`_

Identifier Restrictions
-----------------------

With multiple options available, the user is required to make the decision.

* `architecture_025 <architecture_rules.html#architecture-025>`_

Lengths
-------

Addressing length issues requires the user to address.

* `length_001 <length_rules.html#length-001>`_
* `length_002 <length_rules.html#length-002>`_
* `length_003 <length_rules.html#length-003>`_

Missing Labels
--------------

The name of the label must be chosen by the user.

* `loop_statement_006 <loop_statement_rules.html#loop-statement-006>`_
* `process_016 <process_rules.html#process-016>`_

Positional Assignments
----------------------

Mapping positional assignments to formal parts is left to the user.

* `generic_map_008 <generic_map_rules.html#generic-map-008>`_
* `port_map_008 <port_map_rules.html#port-map-008>`_

Prefix and Suffix
-----------------

With multiple options available, the user is required to make the decision.

* `alias_declaration_600 <alias_declaration_rules.html#alias-declaration-600>`_
* `alias_declaration_601 <alias_declaration_rules.html#alias-declaration-601>`_
* `block_600 <block_rules.html#block-600>`_
* `block_601 <block_rules.html#block-601>`_
* `constant_015 <constant_rules.html#constant-015>`_
* `constant_600 <constant_rules.html#constant-600>`_
* `function_600 <function_rules.html#function-600>`_
* `function_601 <function_rules.html#function-601>`_
* `generate_017 <generate_rules.html#generate-017>`_
* `generate_600 <generate_rules.html#generate-600>`_
* `generate_601 <generate_rules.html#generate-601>`_
* `generate_602 <generate_rules.html#generate-602>`_
* `generic_020 <generic_rules.html#generic-020>`_
* `generic_600 <generic_rules.html#generic-600>`_
* `generic_map_600 <generic_map_rules.html#generic-map-600>`_
* `generic_map_601 <generic_map_rules.html#generic-map-601>`_
* `instantiation_600 <instantiation_rules.html#instantiation-600>`_
* `instantiation_601 <instantiation_rules.html#instantiation-601>`_
* `loop_statement_600 <loop_statement_rules.html#loop-statement-600>`_
* `loop_statement_601 <loop_statement_rules.html#loop-statement-601>`_
* `loop_statement_602 <loop_statement_rules.html#loop-statement-602>`_
* `loop_statement_603 <loop_statement_rules.html#loop-statement-603>`_
* `package_016 <package_rules.html#package-016>`_
* `package_017 <package_rules.html#package-017>`_
* `package_body_600 <package_body_rules.html#package-body-600>`_
* `package_body_601 <package_body_rules.html#package-body-601>`_
* `port_011 <port_rules.html#port-011>`_
* `port_025 <port_rules.html#port-025>`_
* `port_600 <port_rules.html#port-600>`_
* `port_601 <port_rules.html#port-601>`_
* `port_602 <port_rules.html#port-602>`_
* `port_603 <port_rules.html#port-603>`_
* `port_604 <port_rules.html#port-604>`_
* `port_605 <port_rules.html#port-605>`_
* `port_606 <port_rules.html#port-606>`_
* `port_607 <port_rules.html#port-607>`_
* `port_608 <port_rules.html#port-608>`_
* `port_609 <port_rules.html#port-609>`_
* `process_036 <process_rules.html#process-036>`_
* `process_600 <process_rules.html#process-600>`_
* `signal_008 <signal_rules.html#signal-008>`_
* `signal_600 <signal_rules.html#signal-600>`_
* `subtype_004 <subtype_rules.html#subtype-004>`_
* `subtype_600 <subtype_rules.html#subtype-600>`_
* `type_015 <type_rules.html#type-015>`_
* `type_600 <type_rules.html#type-600>`_
* `variable_012 <variable_rules.html#variable-012>`_
* `variable_600 <variable_rules.html#variable-600>`_
