mirror of
https://github.com/dlang/phobos.git
synced 2025-04-25 20:50:58 +03:00
517 lines
27 KiB
INI
517 lines
27 KiB
INI
; Configure which static analysis checks are enabled
|
|
[analysis.config.StaticAnalysisConfig]
|
|
; Check variable, class, struct, interface, union, and function names against
|
|
; the Phobos style guide
|
|
style_check="enabled"
|
|
; Check for array literals that cause unnecessary allocation
|
|
enum_array_literal_check="enabled"
|
|
; Check for poor exception handling practices
|
|
exception_check="enabled"
|
|
; Check for use of the deprecated 'delete' keyword
|
|
delete_check="enabled"
|
|
; Check for use of the deprecated floating point operators
|
|
float_operator_check="enabled"
|
|
; Check number literals for readability
|
|
number_style_check="enabled"
|
|
; Checks that opEquals, opCmp, toHash, and toString are either const, immutable
|
|
; , or inout.
|
|
object_const_check="enabled"
|
|
; Checks for .. expressions where the left side is larger than the right.
|
|
backwards_range_check="enabled"
|
|
; Checks for if statements whose 'then' block is the same as the 'else' block
|
|
if_else_same_check="enabled"
|
|
; Checks for some problems with constructors
|
|
constructor_check="enabled"
|
|
; Checks for unused function parameters
|
|
unused_parameter_check="skip-unittest"
|
|
; Checks for unused funtion returns
|
|
unused_result="disabled"
|
|
; Checks for unused variables
|
|
unused_variable_check="skip-unittest"
|
|
; Checks for unused labels
|
|
unused_label_check="enabled"
|
|
; Checks for duplicate attributes
|
|
duplicate_attribute="enabled"
|
|
; Checks that opEquals and toHash are both defined or neither are defined
|
|
opequals_tohash_check="skip-unittest"
|
|
; Checks for subtraction from .length properties
|
|
length_subtraction_check="enabled"
|
|
; Checks for methods or properties whose names conflict with built-in propertie
|
|
; s
|
|
builtin_property_names_check="enabled"
|
|
; Checks for confusing code in inline asm statements
|
|
asm_style_check="enabled"
|
|
; Checks for confusing logical operator precedence
|
|
logical_precedence_check="enabled"
|
|
; Checks for undocumented public declarations
|
|
undocumented_declaration_check="enabled"
|
|
; Checks for poor placement of function attributes
|
|
function_attribute_check="enabled"
|
|
; Checks for use of the comma operator
|
|
comma_expression_check="enabled"
|
|
; Checks for local imports that are too broad
|
|
local_import_check="skip-unittest"
|
|
; Checks for variables that could be declared immutable
|
|
could_be_immutable_check="skip-unittest"
|
|
; Checks for redundant expressions in if statements
|
|
redundant_if_check="enabled"
|
|
; Checks for redundant parenthesis
|
|
redundant_parens_check="enabled"
|
|
; Checks for mismatched argument and parameter names
|
|
mismatched_args_check="enabled"
|
|
; Checks for labels with the same name as variables
|
|
label_var_same_name_check="enabled"
|
|
; Checks for lines longer than 120 characters
|
|
long_line_check="enabled"
|
|
; Checks for assignment to auto-ref function parameters
|
|
auto_ref_assignment_check="disabled"
|
|
; Checks for incorrect infinite range definitions
|
|
incorrect_infinite_range_check="enabled"
|
|
; Checks for asserts that are always true
|
|
useless_assert_check="enabled"
|
|
; Check for uses of the old-style alias syntax
|
|
alias_syntax_check="enabled"
|
|
; Checks for else if that should be else static if
|
|
static_if_else_check="enabled"
|
|
; Check for unclear lambda syntax
|
|
lambda_return_check="enabled"
|
|
; Check for auto function without return statement
|
|
auto_function_check="enabled"
|
|
; Check for sortedness of imports
|
|
imports_sortedness="enabled"
|
|
; Check for explicitly annotated unittests
|
|
explicitly_annotated_unittests="enabled"
|
|
; Check for properly documented public functions (Returns, Params)
|
|
properly_documented_public_functions="enabled"
|
|
; Check for useless usage of the final attribute
|
|
final_attribute_check="enabled"
|
|
; Check for virtual calls in the class constructors
|
|
vcall_in_ctor="enabled"
|
|
; Check for useless user defined initializers
|
|
useless_initializer="disabled" ; it doesn't hurt to be a bit explicit
|
|
; Check allman brace style
|
|
allman_braces_check="enabled"
|
|
; Check for redundant attributes
|
|
redundant_attributes_check="enabled"
|
|
; Check for public declarations without a documented unittest
|
|
has_public_example="enabled"
|
|
; Check for asserts without an explanatory message
|
|
assert_without_msg="skip-unittest"
|
|
; Check indent of if constraints
|
|
if_constraints_indent="enabled"
|
|
; Check for @trusted applied to a bigger scope than a single function
|
|
trust_too_much="enabled"
|
|
|
|
; Configure which modules are checked with a specific checker
|
|
; Please help to extend these checks onto more Phobos modules
|
|
; Process:
|
|
; - Pick your favorite check
|
|
; - Remove a module from the blacklist
|
|
; - Run DScanner
|
|
; - Fix the warnings
|
|
; - Submit a PR to Phobos
|
|
; - GOTO: Remove a module
|
|
;
|
|
; Some checks are currently disabled.
|
|
; For more details, please see https://github.com/dlang/phobos/pull/5501
|
|
[analysis.config.ModuleFilters]
|
|
; Check for uses of the old-style alias syntax
|
|
alias_syntax_check="-etc.c.odbc,-std.traits,-std.typecons"
|
|
; Check allman brace style
|
|
allman_braces_check="+disabled"
|
|
; Checks for confusing code in inline asm statements
|
|
asm_style_check="-std.math"
|
|
; Check for asserts without an explanatory message
|
|
assert_without_msg="-etc.c.SQL_,\
|
|
-std.algorithm.comparison,\
|
|
-std.algorithm.iteration,\
|
|
-std.algorithm.searching,\
|
|
-std.algorithm.setops,\
|
|
-std.algorithm.sorting,\
|
|
-std.array,\
|
|
-std.bigint,\
|
|
-std.bitmanip,\
|
|
-std.concurrency,\
|
|
-std.container,\
|
|
-std.container.array,\
|
|
-std.container.binaryheap,\
|
|
-std.container.dlist,\
|
|
-std.container.rbtree,\
|
|
-std.container.slist,\
|
|
-std.conv,\
|
|
-std.csv,\
|
|
-std.datetime,\
|
|
-std.datetime.date,\
|
|
-std.datetime.interval,\
|
|
-std.datetime.systime,\
|
|
-std.datetime.timezone,\
|
|
-std.digest.murmurhash,\
|
|
-std.digest.sha,\
|
|
-std.encoding,\
|
|
-std.exception,\
|
|
-std.experimental.allocator,\
|
|
-std.experimental.allocator.building_blocks.affix_allocator,\
|
|
-std.experimental.allocator.building_blocks.allocator_list,\
|
|
-std.experimental.allocator.building_blocks.bitmapped_block,\
|
|
-std.experimental.allocator.building_blocks.bucketizer,\
|
|
-std.experimental.allocator.building_blocks.free_list,\
|
|
-std.experimental.allocator.building_blocks.free_tree,\
|
|
-std.experimental.allocator.building_blocks.kernighan_ritchie,\
|
|
-std.experimental.allocator.building_blocks.null_allocator,\
|
|
-std.experimental.allocator.building_blocks.quantizer,\
|
|
-std.experimental.allocator.building_blocks.region,\
|
|
-std.experimental.allocator.building_blocks.scoped_allocator,\
|
|
-std.experimental.allocator.common,\
|
|
-std.experimental.allocator.gc_allocator,\
|
|
-std.experimental.allocator.mallocator,\
|
|
-std.experimental.allocator.mmap_allocator,\
|
|
-std.experimental.allocator.typed,\
|
|
-std.checkedint,\
|
|
-std.file,\
|
|
-std.functional,\
|
|
-std.getopt,\
|
|
-std.internal.cstring,\
|
|
-std.internal.digest.sha_SSSE3,\
|
|
-std.internal.math.biguintcore,\
|
|
-std.internal.math.biguintnoasm,\
|
|
-std.internal.math.gammafunction,\
|
|
-std.internal.scopebuffer,\
|
|
-std.math,\
|
|
-std.mathspecial,\
|
|
-std.mmfile,\
|
|
-std.net.curl,\
|
|
-std.numeric,\
|
|
-std.outbuffer,\
|
|
-std.parallelism,\
|
|
-std.path,\
|
|
-std.process,\
|
|
-std.random,\
|
|
-std.range,\
|
|
-std.range.primitives,\
|
|
-std.regex,\
|
|
-std.regex.internal.backtracking,\
|
|
-std.regex.internal.generator,\
|
|
-std.regex.internal.ir,\
|
|
-std.regex.internal.kickstart,\
|
|
-std.regex.internal.parser,\
|
|
-std.regex.internal.thompson,\
|
|
-std.signals,\
|
|
-std.socket,\
|
|
-std.stdio,\
|
|
-std.string,\
|
|
-std.sumtype,\
|
|
-std.traits,\
|
|
-std.typecons,\
|
|
-std.uni,\
|
|
-std.uri,\
|
|
-std.utf,\
|
|
-std.uuid,\
|
|
-std.variant,\
|
|
-std.windows.registry"
|
|
; Checks for assignment to auto-ref function parameters
|
|
auto_ref_assignment_check="-std.algorithm.mutation,-std.typecons"
|
|
; Checks for variables that could be declared immutable
|
|
could_be_immutable_check="-std.algorithm.comparison,-std.algorithm.iteration,-std.algorithm.mutation,-std.algorithm.searching,-std.algorithm.setops,-std.algorithm.sorting,-std.array,-std.base64,-std.bigint,-std.bitmanip,-std.checkedint,-std.complex,-std.concurrency,-std.container,-std.container.array,-std.container.binaryheap,-std.container.dlist,-std.container.rbtree,-std.container.slist,-std.container.util,-std.conv,-std.csv,-std.datetime,-std.datetime.date,-std.datetime.interval,-std.datetime.stopwatch,-std.datetime.systime,-std.datetime.timezone,-std.digest.crc,-std.digest,-std.digest.hmac,-std.digest.md,-std.digest.murmurhash,-std.digest.ripemd,-std.digest.sha,-std.encoding,-std.exception,-std.experimental.allocator,-std.experimental.allocator.building_blocks.affix_allocator,-std.experimental.allocator.building_blocks.allocator_list,-std.experimental.allocator.building_blocks.bitmapped_block,-std.experimental.allocator.building_blocks.bucketizer,-std.experimental.allocator.building_blocks.fallback_allocator,-std.experimental.allocator.building_blocks.free_list,-std.experimental.allocator.building_blocks.free_tree,-std.experimental.allocator.building_blocks.kernighan_ritchie,-std.experimental.allocator.building_blocks.region,-std.experimental.allocator.building_blocks.stats_collector,-std.experimental.allocator.gc_allocator,-std.experimental.allocator.mallocator,-std.experimental.allocator.typed,-std.experimental.checkedint,-std.logger.core,-std.logger.multilogger,-std.file,-std.format,-std.functional,-std.getopt,-std.internal.cstring,-std.internal.digest.sha_SSSE3,-std.internal.math.biguintcore,-std.internal.math.biguintnoasm,-std.internal.math.biguintx86,-std.internal.math.errorfunction,-std.internal.math.gammafunction,-std.internal.scopebuffer,-std.internal.test.dummyrange,-std.json,-std.math,-std.mathspecial,-std.meta,-std.mmfile,-std.net.curl,-std.net.isemail,-std.numeric,-std.outbuffer,-std.parallelism,-std.path,-std.process,-std.random,-std.range,-std.range.interfaces,-std.range.primitives,-std.regex,-std.regex.internal.backtracking,-std.regex.internal.generator,-std.regex.internal.ir,-std.regex.internal.kickstart,-std.regex.internal.parser,-std.regex.internal.tests,-std.regex.internal.thompson,-std.signals,-std.socket,-std.stdio,-std.string,-std.sumtype,-std.traits,-std.typecons,-std.uni,-std.uri,-std.utf,-std.uuid,-std.variant,-std.windows.registry,-std.zip,-std.zlib"
|
|
; Check for poor exception handling practices
|
|
exception_check="-std.concurrency,-std.net.curl,-std.parallelism,-std.range,-std.socket,-std.typecons"
|
|
; Checks for poor placement of function attributes
|
|
function_attribute_check="-std.algorithm.iteration,-std.concurrency,-std.conv,-std.datetime.interval,-std.exception,-std.functional,-std.net.curl,-std.numeric,-std.parallelism,-std.random,-std.range,-std.range.primitives,-std.socket,-std.traits,-std.typecons,-std.uni"
|
|
; Check for public declarations without a documented unittest
|
|
has_public_example="-etc.c.curl,\
|
|
-etc.c.sqlite3,\
|
|
-etc.c.zlib,\
|
|
-etc.c.odbc,\
|
|
-std.complex,\
|
|
-std.concurrency,\
|
|
-std.container.array,\
|
|
-std.container.dlist,\
|
|
-std.container.rbtree,\
|
|
-std.container.slist,\
|
|
-std.datetime.interval,\
|
|
-std.datetime.stopwatch,\
|
|
-std.datetime.timezone,\
|
|
-std.encoding,\
|
|
-std.experimental.allocator,\
|
|
-std.experimental.allocator.building_blocks.allocator_list,\
|
|
-std.experimental.allocator.building_blocks.bitmapped_block,\
|
|
-std.experimental.allocator.building_blocks.fallback_allocator,\
|
|
-std.experimental.allocator.building_blocks.free_list,\
|
|
-std.experimental.allocator.building_blocks.free_tree,\
|
|
-std.experimental.allocator.building_blocks.null_allocator,\
|
|
-std.experimental.allocator.building_blocks.stats_collector,\
|
|
-std.experimental.allocator.common,\
|
|
-std.experimental.allocator.mmap_allocator,\
|
|
-std.experimental.allocator.typed,\
|
|
-std.experimental.checkedint,\
|
|
-std.logger.core,\
|
|
-std.logger.filelogger,\
|
|
-std.logger.multilogger,\
|
|
-std.getopt,\
|
|
-std.internal.math.biguintcore,\
|
|
-std.internal.math.biguintnoasm,\
|
|
-std.internal.math.errorfunction,\
|
|
-std.internal.math.gammafunction,\
|
|
-std.internal.scopebuffer,\
|
|
-std.internal.test.dummyrange,\
|
|
-std.internal.unicode_tables,\
|
|
-std.int128,\
|
|
-std.json,\
|
|
-std.mathspecial,\
|
|
-std.mmfile,\
|
|
-std.net.curl,\
|
|
-std.net.isemail,\
|
|
-std.numeric,\
|
|
-std.parallelism,\
|
|
-std.process,\
|
|
-std.range.interfaces,\
|
|
-std.regex,\
|
|
-std.regex.internal.ir,\
|
|
-std.socket,\
|
|
-std.stdio,\
|
|
-std.sumtype,\
|
|
-std.uni,\
|
|
-std.zip,\
|
|
-std.zlib"
|
|
; Check for sortedness of imports
|
|
imports_sortedness="+disabled"
|
|
;imports_sortedness="-etc.c.curl,-std.algorithm.comparison,-std.algorithm.internal,-std.algorithm.iteration,-std.algorithm.mutation,-std.algorithm.searching,-std.algorithm.setops,-std.algorithm.sorting,-std.array,-std.bigint,-std.bitmanip,-std.c.freebsd.socket,-std.c.linux.pthread,-std.c.process,-std.complex,-std.concurrency,-std.container.array,-std.container.binaryheap,-std.container.dlist,-std.container.rbtree,-std.container.slist,-std.container.util,-std.conv,-std.datetime,-std.datetime.date,-std.datetime.interval,-std.datetime.systime,-std.datetime.timezone,-std.digest,-std.digest.hmac,-std.exception,-std.experimental.allocator,-std.experimental.allocator.building_blocks,-std.experimental.allocator.building_blocks.affix_allocator,-std.experimental.allocator.building_blocks.allocator_list,-std.experimental.allocator.building_blocks.free_list,-std.experimental.allocator.building_blocks.free_tree,-std.experimental.allocator.building_blocks.kernighan_ritchie,-std.experimental.allocator.building_blocks.region,-std.experimental.allocator.common,-std.experimental.allocator.mallocator,-std.experimental.allocator.mmap_allocator,-std.experimental.allocator.showcase,-std.experimental.allocator.typed,-std.experimental.checkedint,-std.logger.core,-std.file,-std.format,-std.functional,-std.getopt,-std.internal.math.biguintcore,-std.internal.test.dummyrange,-std.json,-std.math,-std.meta,-std.mmfile,-std.net.curl,-std.net.isemail,-std.numeric,-std.outbuffer,-std.parallelism,-std.path,-std.process,-std.random,-std.range,-std.range.primitives,-std.regex,-std.regex.internal.backtracking,-std.regex.internal.generator,-std.regex.internal.kickstart,-std.regex.internal.parser,-std.regex.internal.tests,-std.signals,-std.socket,-std.stdio,-std.string,-std.uni,-std.utf,-std.uuid,-std.variant,-std.windows.charset,-std.windows.registry,-std.windows.syserror,-std.zip"
|
|
; Checks for labels with the same name as variables
|
|
label_var_same_name_check="-std.algorithm.iteration,-std.algorithm.sorting,-std.array,-std.bigint,-std.bitmanip,-std.conv,-std.encoding,-std.experimental.allocator.building_blocks.segregator,-std.internal.digest.sha_SSSE3,-std.parallelism,-std.process,-std.range.primitives,-std.typecons,-std.utf,-std.traits"
|
|
; Checks for subtraction from .length properties
|
|
length_subtraction_check="+disabled"
|
|
;length_subtraction_check="-std.algorithm.internal,-std.algorithm.iteration,-std.algorithm.mutation,-std.algorithm.searching,-std.algorithm.sorting,-std.array,-std.concurrency,-std.container.array,-std.container.binaryheap,-std.conv,-std.datetime.timezone,-std.experimental.allocator.building_blocks.segregator,-std.logger.core,-std.file,-std.format,-std.getopt,-std.internal.math.biguintcore,-std.internal.math.biguintnoasm,-std.internal.math.biguintx86,-std.internal.scopebuffer,-std.math,-std.net.curl,-std.net.isemail,-std.numeric,-std.parallelism,-std.path,-std.process,-std.range,-std.regex,-std.regex.internal.parser,-std.regex.internal.tests,-std.string,-std.uni,-std.windows.charset,-std.windows.registry,-std.zip"
|
|
; Checks for local imports that are too broad
|
|
local_import_check="-std.format"
|
|
; Checks for confusing logical operator precedence
|
|
logical_precedence_check="+disabled"
|
|
;logical_precedence_check="-std.algorithm.mutation,-std.algorithm.searching,-std.algorithm.setops,-std.algorithm.sorting,-std.array,-std.container.array,-std.conv,-std.experimental.checkedint,-std.file,-std.format,-std.getopt,-std.math,-std.net.isemail,-std.path,-std.range,-std.range.primitives,-std.stdio,-std.string"
|
|
; Checks for mismatched argument and parameter names
|
|
mismatched_args_check="-std.algorithm.mutation,-std.container.dlist,-std.encoding,-std.internal.math.biguintcore,-std.math,-std.net.curl,-std.numeric,-std.uni"
|
|
; Check number literals for readability
|
|
number_style_check="+disabled"
|
|
;number_style_check="-std.algorithm.iteration,-std.algorithm.sorting,-std.array,-std.bigint,-std.bitmanip,-std.container.array,-std.conv,-std.datetime.date,-std.datetime.systime,-std.datetime.timezone,-std.digest.crc,-std.digest,-std.digest.md,-std.digest.ripemd,-std.digest.sha,-std.experimental.allocator.building_blocks.free_tree,-std.experimental.allocator.building_blocks.kernighan_ritchie,-std.experimental.checkedint,-std.file,-std.format,-std.functional,-std.internal.math.biguintcore,-std.internal.math.gammafunction,-std.json,-std.math,-std.outbuffer,-std.parallelism,-std.random,-std.range,-std.regex.internal.generator,-std.utf,-std.zip,-std.zlib"
|
|
; Checks that opEquals, opCmp, toHash, and toString are either const, immutable
|
|
; , or inout.
|
|
object_const_check="-std.algorithm.searching,-std.array,-std.bitmanip,-std.checkedint,-std.concurrency,-std.container.rbtree,-std.conv,-std.datetime.interval,-std.encoding,-std.exception,-std.experimental.checkedint,-std.logger.core,-std.format,-std.functional,-std.meta,-std.numeric,-std.range,-std.regex,-std.stdio,-std.sumtype,-std.typecons,-std.variant"
|
|
; Checks that opEquals and toHash are both defined or neither are defined
|
|
opequals_tohash_check="-std.complex,-std.container.array,-std.container.dlist,-std.container.rbtree,-std.container.slist,-std.datetime,-std.datetime.date,-std.experimental.checkedint,-std.internal.test.dummyrange,-std.json,-std.numeric,-std.random,-std.socket,-std.sumtype,-std.typecons,-std.uni"
|
|
; Check for properly documented public functions (Returns, Params)
|
|
; Note: DScanner doesn't understand documenting parameters of IFTI/eponymous templates.
|
|
properly_documented_public_functions="-etc.c.odbc,\
|
|
-etc.c.zlib,\
|
|
-std.algorithm.comparison,\
|
|
-std.algorithm.mutation,\
|
|
-std.algorithm.searching,\
|
|
-std.algorithm.setops,\
|
|
-std.algorithm.sorting,\
|
|
-std.array,\
|
|
-std.base64,\
|
|
-std.bigint,\
|
|
-std.bitmanip,\
|
|
-std.checkedint,\
|
|
-std.complex,\
|
|
-std.container,\
|
|
-std.container.array,\
|
|
-std.container.binaryheap,\
|
|
-std.container.dlist,\
|
|
-std.container.rbtree,\
|
|
-std.container.slist,\
|
|
-std.container.util,\
|
|
-std.csv,\
|
|
-std.datetime,\
|
|
-std.datetime.interval,\
|
|
-std.digest.crc,\
|
|
-std.digest,\
|
|
-std.digest.hmac,\
|
|
-std.digest.md,\
|
|
-std.digest.murmurhash,\
|
|
-std.digest.ripemd,\
|
|
-std.digest.sha,\
|
|
-std.encoding,\
|
|
-std.exception,\
|
|
-std.experimental.allocator,\
|
|
-std.experimental.allocator.building_blocks.affix_allocator,\
|
|
-std.experimental.allocator.building_blocks.allocator_list,\
|
|
-std.experimental.allocator.building_blocks.bitmapped_block,\
|
|
-std.experimental.allocator.building_blocks.bucketizer,\
|
|
-std.experimental.allocator.building_blocks.fallback_allocator,\
|
|
-std.experimental.allocator.building_blocks.free_list,\
|
|
-std.experimental.allocator.building_blocks.free_tree,\
|
|
-std.experimental.allocator.building_blocks.kernighan_ritchie,\
|
|
-std.experimental.allocator.building_blocks.null_allocator,\
|
|
-std.experimental.allocator.building_blocks.quantizer,\
|
|
-std.experimental.allocator.building_blocks.region,\
|
|
-std.experimental.allocator.building_blocks.scoped_allocator,\
|
|
-std.experimental.allocator.building_blocks.segregator,\
|
|
-std.experimental.allocator.building_blocks.stats_collector,\
|
|
-std.experimental.allocator.common,\
|
|
-std.experimental.allocator.gc_allocator,\
|
|
-std.experimental.allocator.mallocator,\
|
|
-std.experimental.allocator.showcase,\
|
|
-std.experimental.allocator.typed,\
|
|
-std.experimental.checkedint,\
|
|
-std.logger.core,\
|
|
-std.logger.filelogger,\
|
|
-std.format,\
|
|
-std.getopt,\
|
|
-std.internal.cstring,\
|
|
-std.internal.math.biguintcore,\
|
|
-std.internal.math.biguintnoasm,\
|
|
-std.internal.scopebuffer,\
|
|
-std.internal.test.dummyrange,\
|
|
-std.internal.unicode_tables,\
|
|
-std.json,\
|
|
-std.math,\
|
|
-std.mathspecial,\
|
|
-std.meta,\
|
|
-std.mmfile,\
|
|
-std.net.curl,\
|
|
-std.net.isemail,\
|
|
-std.numeric,\
|
|
-std.outbuffer,\
|
|
-std.parallelism,\
|
|
-std.path,\
|
|
-std.random,\
|
|
-std.range,\
|
|
-std.range.interfaces,\
|
|
-std.range.primitives,\
|
|
-std.regex,\
|
|
-std.regex.internal.backtracking,\
|
|
-std.regex.internal.ir,\
|
|
-std.regex.internal.kickstart,\
|
|
-std.regex.internal.parser,\
|
|
-std.regex.internal.thompson,\
|
|
-std.signals,\
|
|
-std.socket,\
|
|
-std.stdio,\
|
|
-std.string,\
|
|
-std.sumtype,\
|
|
-std.typecons,\
|
|
-std.uni,\
|
|
-std.uri,\
|
|
-std.utf,\
|
|
-std.uuid,\
|
|
-std.variant,\
|
|
-std.zlib"
|
|
; Check for redundant attributes
|
|
redundant_attributes_check="-std.concurrency,-std.digest.md,-std.digest.ripemd,-std.digest.sha,-std.internal.math.biguintcore,-std.math,-std.meta,-std.range,-std.regex.internal.ir,-std.uni,-std.windows.registry"
|
|
; Check variable, class, struct, interface, union, and function names against
|
|
; the Phobos style guide
|
|
style_check="+disabled"
|
|
;style_check="-etc.c.curl,-etc.c.odbc.sqlext,-etc.c.odbc.sqltypes,-etc.c.odbc.sqlucode,-etc.c.sqlite3,-etc.c.zlib,-std.algorithm.comparison,-std.algorithm.internal,-std.algorithm.iteration,-std.algorithm.mutation,-std.algorithm.sorting,-std.array,-std.base64,-std.bitmanip,-std.c.linux.linux,-std.compiler,-std.container.array,-std.conv,-std.datetime.date,-std.datetime.interval,-std.datetime.systime,-std.digest,-std.digest.murmurhash,-std.digest.sha,-std.encoding,-std.exception,-std.experimental.allocator,-std.experimental.allocator.building_blocks.affix_allocator,-std.experimental.allocator.building_blocks.allocator_list,-std.experimental.allocator.building_blocks.bucketizer,-std.experimental.allocator.building_blocks.fallback_allocator,-std.experimental.allocator.building_blocks.free_list,-std.experimental.allocator.building_blocks.free_tree,-std.experimental.allocator.building_blocks.null_allocator,-std.experimental.allocator.building_blocks.region,-std.experimental.allocator.building_blocks.segregator,-std.experimental.allocator.common,-std.experimental.allocator.gc_allocator,-std.experimental.allocator.mallocator,-std.experimental.allocator.mmap_allocator,-std.experimental.checkedint,-std.format,-std.functional,-std.getopt,-std.internal.digest.sha_SSSE3,-std.internal.math.errorfunction,-std.internal.math.gammafunction,-std.internal.test.dummyrange,-std.internal.unicode_tables,-std.json,-std.math,-std.meta,-std.numeric,-std.parallelism,-std.path,-std.process,-std.random,-std.range,-std.range.primitives,-std.regex,-std.regex.internal.ir,-std.regex.internal.kickstart,-std.signals,-std.socket,-std.stdio,-std.string,-std.uni,-std.uri,-std.utf,-std.uuid,-std.variant,-std.zlib"
|
|
; Checks for undocumented public declarations
|
|
undocumented_declaration_check="-etc.c.curl,-etc.c.odbc,-etc.c.sqlite3,-etc.c.zlib,-std.algorithm.sorting,-std.array,-std.ascii,-std.base64,-std.bitmanip,-std.c.linux.linux,-std.c.linux.socket,-std.c.osx.socket,-std.c.process,-std.compiler,-std.complex,-std.concurrency,-std.container,-std.container.array,-std.container.binaryheap,-std.container.dlist,-std.container.rbtree,-std.container.slist,-std.conv,-std.csv,-std.datetime,-std.datetime.date,-std.digest,-std.digest.hmac,-std.digest.md,-std.digest.murmurhash,-std.digest.ripemd,-std.digest.sha,-std.encoding,-std.exception,-std.experimental.allocator,-std.experimental.allocator.building_blocks.affix_allocator,-std.experimental.allocator.building_blocks.allocator_list,-std.experimental.allocator.building_blocks.bitmapped_block,-std.experimental.allocator.building_blocks.fallback_allocator,-std.experimental.allocator.building_blocks.free_list,-std.experimental.allocator.building_blocks.free_tree,-std.experimental.allocator.building_blocks.kernighan_ritchie,-std.experimental.allocator.building_blocks.quantizer,-std.experimental.allocator.building_blocks.region,-std.experimental.allocator.building_blocks.segregator,-std.experimental.allocator.building_blocks.stats_collector,-std.experimental.allocator.gc_allocator,-std.experimental.allocator.mallocator,-std.experimental.checkedint,-std.logger.core,-std.file,-std.format,-std.functional,-std.internal.digest.sha_SSSE3,-std.internal.math.biguintcore,-std.internal.math.biguintnoasm,-std.internal.math.biguintx86,-std.internal.math.errorfunction,-std.internal.math.gammafunction,-std.internal.test.dummyrange,-std.internal.test.sumtype_example_overloads,-std.internal.test.uda,-std.internal.windows.advapi32,-std.json,-std.math,-std.mmfile,-std.numeric,-std.outbuffer,-std.parallelism,-std.path,-std.process,-std.regex,-std.regex.internal.parser,-std.signals,-std.socket,-std.stdio,-std.string,-std.system,-std.traits,-std.uni,-std.utf,-std.variant,-std.windows.charset,-std.windows.registry,-std.windows.syserror,-std.zip,-std.zlib,-std.int128,-std.range"
|
|
; Checks for unused labels
|
|
unused_label_check="-std.conv,-std.internal.math.biguintx86,-std.regex.internal.thompson,-std.signals,-std.uni"
|
|
; Checks for unused function parameters
|
|
unused_parameter_check="-std.algorithm.comparison,\
|
|
-std.bitmanip,\
|
|
-std.concurrency,\
|
|
-std.container,\
|
|
-std.csv,\
|
|
-std.datetime,\
|
|
-std.datetime.date,\
|
|
-std.datetime.interval,\
|
|
-std.datetime.systime,\
|
|
-std.datetime.timezone,\
|
|
-std.digest,\
|
|
-std.encoding,\
|
|
-std.experimental.allocator.common,\
|
|
-std.experimental.checkedint,\
|
|
-std.format,\
|
|
-std.functional,\
|
|
-std.getopt,\
|
|
-std.internal.math.biguintx86,\
|
|
-std.math,\
|
|
-std.net.curl,\
|
|
-std.numeric,\
|
|
-std.parallelism,\
|
|
-std.range,\
|
|
-std.regex,\
|
|
-std.socket,\
|
|
-std.traits,\
|
|
-std.typecons"
|
|
; Checks for unused variables
|
|
unused_variable_check="-std.algorithm.comparison,\
|
|
-std.array,\
|
|
-std.bitmanip,\
|
|
-std.complex,\
|
|
-std.concurrency,\
|
|
-std.container,\
|
|
-std.container.array,\
|
|
-std.container.dlist,\
|
|
-std.container.rbtree,\
|
|
-std.container.slist,\
|
|
-std.csv,\
|
|
-std.datetime,\
|
|
-std.datetime.date,\
|
|
-std.datetime.interval,\
|
|
-std.datetime.stopwatch,\
|
|
-std.datetime.systime,\
|
|
-std.datetime.timezone,\
|
|
-std.digest.crc,\
|
|
-std.digest,\
|
|
-std.digest.md,\
|
|
-std.digest.murmurhash,\
|
|
-std.digest.ripemd,\
|
|
-std.digest.sha,\
|
|
-std.encoding,\
|
|
-std.exception,\
|
|
-std.experimental.allocator,\
|
|
-std.experimental.allocator.building_blocks.affix_allocator,\
|
|
-std.experimental.allocator.building_blocks.bitmapped_block,\
|
|
-std.experimental.allocator.building_blocks.bucketizer,\
|
|
-std.experimental.allocator.building_blocks.kernighan_ritchie,\
|
|
-std.experimental.allocator.building_blocks.stats_collector,\
|
|
-std.experimental.allocator.common,\
|
|
-std.experimental.allocator.gc_allocator,\
|
|
-std.experimental.allocator.mallocator,\
|
|
-std.experimental.allocator.typed,\
|
|
-std.experimental.checkedint,\
|
|
-std.logger.core,\
|
|
-std.file,\
|
|
-std.functional,\
|
|
-std.getopt,\
|
|
-std.internal.cstring,\
|
|
-std.internal.digest.sha_SSSE3,\
|
|
-std.internal.math.biguintcore,\
|
|
-std.internal.math.biguintx86,\
|
|
-std.internal.math.errorfunction,\
|
|
-std.internal.scopebuffer,\
|
|
-std.internal.test.dummyrange,\
|
|
-std.json,\
|
|
-std.math,\
|
|
-std.meta,\
|
|
-std.mmfile,\
|
|
-std.net.curl,\
|
|
-std.numeric,\
|
|
-std.parallelism,\
|
|
-std.process,\
|
|
-std.random,\
|
|
-std.range,\
|
|
-std.range.interfaces,\
|
|
-std.range.primitives,\
|
|
-std.regex.internal.backtracking,\
|
|
-std.regex.internal.tests,\
|
|
-std.regex.internal.thompson,\
|
|
-std.signals,\
|
|
-std.socket,\
|
|
-std.traits,\
|
|
-std.typecons,\
|
|
-std.uni,\
|
|
-std.uri,\
|
|
-std.utf,\
|
|
-std.uuid,\
|
|
-std.variant,\
|
|
-std.windows.registry,\
|
|
-std.zip,\
|
|
-std.zlib"
|
|
; Check for virtual calls in the class constructors
|
|
vcall_in_ctor="-std.socket"
|
|
; Check for @trusted applied to a bigger scope than a single function
|
|
trust_too_much="-std.regex,-std.stdio,-std.uni,-std.internal.cstring"
|
|
; Checks for if statements whose 'then' block is the same as the 'else' block
|
|
; Temporarily disable until https://github.com/dlang-community/D-Scanner/issues/593 is fixed
|
|
if_else_same_check="-std.typecons"
|
|
; Disable checks for generated unicode tables
|
|
long_line_check="-etc.c.odbc,-std.internal.unicode_decomp,-std.internal.unicode_comp,-std.internal.unicode_grapheme,-std.internal.unicode_norm,-std.internal.unicode_tables"
|