D-Scanner icon indicating copy to clipboard operation
D-Scanner copied to clipboard

Swiss-army knife for D source code

Results 126 D-Scanner issues
Sort by recently updated
recently updated
newest added

While executing dscanner -S for d-unit there are false positives like this example: ``` .\src\dunit\ng\assertion.d(24:18)[warn]: Argument 1 is named 'expected', but this is the name of parameter 2 ``` In...

bug

eg: bar.d: ```d module bar; class Bar{ void toString(); } void toString(int a=2); ``` dscanner --declaration=fqname,signature toString ``` bar.d(2): bar.Bar.toString: void toString(); bar.d(4): bar.toString: void toString(int a=2); ``` super useful...

enhancement

```d import b; import a; // there is a clear separation using an empty line between these two imports ``` or a more extreme example: ```d import b; void foo()...

enhancement
static analysis

Using IntelliJ Idea with Dscanner I get a tip: "Variable foo is never used" ``` void test() { int foo; { foo = 1; } } ```

Just an idea - they seem to feature a lot of code analysis tools for various languages, except for D. https://codeclimate.com/engines

eventually

From `std.zlib`: ```d class Compress { import std.conv : to; private: z_stream zs; int level = Z_DEFAULT_COMPRESSION; int inited; immutable bool gzip; void error(int err) { if (inited) { deflateEnd(&zs);...

bug

Usually using an unknown label results in compile errors and shouldn't happen, but it turns out it does: https://github.com/dlang-community/D-Scanner/pull/466 However, checking that a label is undefined goes a bit over...

``` private { int a; // [warn]: non-indented block, indent for four more characters } ```

eg: `dscanner --declarations --ctfe_config=" -version=linux -version=foo"` obviously making this 100% correct would potentially require full semantic analysis but perhaps some simple cases could be handled? version(foo){ void fun(){} } else{...

enhancement

It seems like function code (as opposed to declarations of ints/strings/functions/etc) don't have line numbers. Is there a way to add this, am I missing it, or is there some...

enhancement
eventually