profile
viewpoint
Iskander (Alex) Sharipov quasilyte @VKCOM Germany, Aachen https://twitter.com/quasilyte Moving software bugs from one dimension into another.

cristaloleg/go-perftuner 78

Helper tool for manual Go code optimization.

gosh-lang/gosh 62

Gosh is an interpreted language for Go ecosystem written in Go

quasilyte/astnorm 42

AST normalization experiment

quasilyte/concat 14

Demo repository for habr.com article about faster Go string concatenation.

quasilyte/benchstat.el 8

Proper Emacs Lisp benchmarking made simple.

quasilyte/avx512test 7

Utility that was used to generate initial Go AVX-512 encoder test suite.

go-toolsmith/astequal 3

Package astequal provides AST (deep) equallity check operations.

quasilyte/cffi 3

Lazy way to call CGo functions.

cristaloleg/astify 2

CHAOTIC EVIL PRE-ALPHA WIP

quasilyte/3d-printing 1

My 3D models, their descriptions and useful resources.

push eventVKCOM/noverify

Iskander Sharipov

commit sha bf4c756bc26915a9184bbd7beb377dfaa6a2c64c

solver: improve magic methods type inference Preserve __call() and __callStatic() types info. Use @method annotations to load additional instance and static methods info in a same way as we do it for @property annotation. All auto-generated func infos have a pos set to a class position. Fixes #358 Fixes #360 Signed-off-by: Iskander Sharipov <quasilyte@gmail.com>

view details

push time in 10 hours

push eventVKCOM/noverify

Iskander Sharipov

commit sha 36e2de4c5bb2aa4b84a05d52472b8093fb299bb7

solver: improve magic methods type inference Preserve __call() and __callStatic() types info. Use @method annotations to load additional instance and static methods info in a same way as we do it for @property annotation. All auto-generated func infos have a pos set to a class position. Fixes #358 Signed-off-by: Iskander Sharipov <quasilyte@gmail.com>

view details

push time in 10 hours

pull request commentVKCOM/noverify

solver: add __call return type inference

TODO:

  • Add __callStatic support?
  • Add @method annotation support.
quasilyte

comment created time in 11 hours

issue commentVKCOM/noverify

support virtual (magic) methods (from php doc) or examples how i can to use it?

I've submitted a fix to improve __call() type inference. The next step is to support @method annotation #360.

6umpukc-uHKBu3umop

comment created time in 11 hours

issue openedVKCOM/noverify

Add @method annotation support

Code Example

/**
 * Class Magic
 * @method Magic foo() 
 * @method int bar()
 */
class Magic {}

$v = new Magic();
$v->foo()->foo();
$v->foo()->bar();
$v->bar();

Actual Behavior

Warnings about undefined methods.

Expected Behavior

No warnings.

We can report "@method annotation in a class without __call method" as a new diagnostic. But it requires some research of the PHP open source code (to see whether people do that on purpose).

created time in 11 hours

PR opened VKCOM/noverify

solver: add __call return type inference

We already do something similar for __get() methods to resolve unknown property fetches. This patch implements the same trick for __call(). It only applies for method calls that were not resolved by a direct method name (0 result types found for a given methodName).

Fixes #358

Signed-off-by: Iskander Sharipov quasilyte@gmail.com

+38 -8

0 comment

2 changed files

pr created time in 11 hours

create barnchVKCOM/noverify

branch : quasilyte/fix/magic_call_return_type_infer

created branch time in 11 hours

issue commentVKCOM/noverify

Preserve __call() types info

Partially addresses #354. The other part is to add @method support.

quasilyte

comment created time in 11 hours

issue openedVKCOM/noverify

Preserve __call() types info

Code Example

class Magic {
  public function __call() { return $this; }
  public function notMagic() { return 10; }
}

$m = new Magic();
$m->magic1()->magic2()->notMagic();

Actual Behavior

$m->magic1() inferred to mixed and "undefined method {mixed}->magic2` is reported.

Expected Behavior

No warnings.

created time in 11 hours

issue commentgolangci/golangci-lint

Linter request: go-ruleguard

I think we need to get maintainers approval before working on this.

benjaminjkraft

comment created time in 11 hours

issue openedVKCOM/noverify

Report is_T($x) where $x is always/never is T

Code Example

$x = new Foo();
if (is_int($x)) { // <----
}
$y = 10;
if (is_int($y)) { // <----
}

Actual Behavior

NoVerify gives no warnings right now.

Expected Behavior

Warning about is_int($x) being always false. Warning about is_int($y) being always true.

created time in 14 hours

issue openedVKCOM/noverify

Add always-true and always-false expressions detection

This is an epic issue for all related work.

created time in 14 hours

issue closedVKCOM/noverify

Separate regression tests from other tests

We have several tests that were added to check the resolution of some particular issues. It would be convenient to separate these regression tests from other tests.

Algorithm:

  1. Find bug-reporting issue that was closed with some fix.
  2. Usually, that issue contains a commit reference.
  3. Check that commit to see whether it added tests (usually, it does).
  4. Rename that test in for of TestIssueXxx, where Xxx is closed issue ID.
  5. Send PR with that change.

There can be more than 1 such test. It's OK to send them one-by-one, so it's easier for me to check them (and more people can potentially participate).

The next step would be to place all such tests in a separate file, it can be named, for example, regression_test.go.

Note: all linter tests reside in src/linttest folder.

closed time in 14 hours

quasilyte

issue closedVKCOM/noverify

Simplify readme, move detailed docs to a separate file

Right now README is quite complicated and big.

We can make it simpler and move important details to another document that can be linked from there.

closed time in 14 hours

quasilyte

push eventquasilyte/talks

Iskander (Alex) Sharipov

commit sha 3d945f277445e878128c3ed2bf7077b69472608c

readme: add "calling go funcs from asm" article

view details

push time in 5 days

issue openedVKCOM/noverify

Checkout phpstorm meta updates from PhpStorm 2020.1 EAP 4

https://blog.jetbrains.com/phpstorm/2020/02/phpstorm-2020-1-eap-4/

created time in 5 days

issue commentVKCOM/noverify

support virtual (magic) methods (from php doc) or examples how i can to use it?

NoVerify permits calling any method on a type that has __call method.

The problem is that it loses types info after this call:

<?php

class Magic {
  public function __call($method, $args) {
    return $this;
  }
}

$m = new Magic();
$m->a()->b()->c(); // No warnings

It permits $m->a(), but then it treats the result as mixed. I think it can be fixed. After we make type inference work better for __call, the problem should go away.

6umpukc-uHKBu3umop

comment created time in 6 days

delete branch VKCOM/noverify

delete branch : quasilyte/fix/godirwalk_symlink

delete time in 6 days

push eventVKCOM/noverify

Iskander (Alex) Sharipov

commit sha bdc19b9d5d3d853b219590085b0b038462a3cecc

src/linter: don't do Fatal if filename is a symlink (#353) We used filepath.Walk before, now we use godirwalk.Walk. filepath.Walk does not follow symlinks, but it does accept it as a root argument without an error. godirwalk.Walk can traverse symlinks with FollowSymbolicLinks=true, but we don't use it. It will give an error if root is a symlink, so we avoid calling Walk() on them. This fix attempts to restore the old behavior. Also added logging of the actual traversal error to make this error debugging easier in the future. Signed-off-by: Iskander Sharipov <quasilyte@gmail.com>

view details

push time in 6 days

PR merged VKCOM/noverify

src/linter: don't do Fatal if filename is a symlink

We used filepath.Walk before, now we use godirwalk.Walk.

filepath.Walk does not follow symlinks, but it does accept it as a root argument without an error. godirwalk.Walk can traverse symlinks with FollowSymbolicLinks=true, but we don't use it. It will give an error if root is a symlink, so we avoid calling Walk() on them.

This fix attempts to restore the old behavior.

Also added logging of the actual traversal error to make this error debugging easier in the future.

Signed-off-by: Iskander Sharipov quasilyte@gmail.com

+15 -2

0 comment

1 changed file

quasilyte

pr closed time in 6 days

PR opened VKCOM/noverify

src/linter: don't do Fatal if filename is a symlink

We used filepath.Walk before, now we use godirwalk.Walk.

filepath.Walk does not follow symlinks, but it does accept it as a root argument without an error. godirwalk.Walk can traverse symlinks with FollowSymbolicLinks=true, but we don't use it. It will give an error if root is a symlink, so we avoid calling Walk() on them.

This fix attempts to restore the old behavior.

Also added logging of the actual traversal error to make this error debugging easier in the future.

Signed-off-by: Iskander Sharipov quasilyte@gmail.com

+15 -2

0 comment

1 changed file

pr created time in 6 days

create barnchVKCOM/noverify

branch : quasilyte/fix/godirwalk_symlink

created branch time in 6 days

push eventgo-critic/go-critic

Sergey Fedchenko

commit sha 0d5eff4c8f21d251cb535414900b8814f45b7b33

checkers: add draw.Draw to draw.DrawMask checker (#904) Fixes #819

view details

push time in 7 days

issue closedgo-critic/go-critic

checkers: add image.DrawMask->image.Draw to wrapperFunc checker

// Draw calls DrawMask with a nil mask.
func Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op) {
	DrawMask(dst, r, src, sp, nil, image.Point{}, op)
}

// DrawMask aligns r.Min in dst with sp in src and mp in mask and then replaces the rectangle r
// in dst with the result of a Porter-Duff composition. A nil mask is treated as opaque.
func DrawMask(dst Image, r image.Rectangle, src image.Image, sp image.Point, mask image.Image, mp image.Point, op Op) {

See how other patterns are implemented in wrapperFunc checker to get an idea on how to do this.

closed time in 7 days

quasilyte

PR opened cristaloleg/go-advice

readme: remove redundant whitespace
+1 -1

0 comment

1 changed file

pr created time in 9 days

push eventquasilyte/go-advice

Iskander (Alex) Sharipov

commit sha c3c41bde16f3ab8ba791a2a111fbc627f5417574

readme: remove redundant whitespace

view details

push time in 9 days

fork quasilyte/go-advice

List of advice and tricks for Go ʕ◔ϖ◔ʔ

fork in 9 days

issue openedquasilyte/go-ruleguard

Add rules that implement suggestions from crdb

https://wiki.crdb.io/wiki/spaces/CRDB/pages/181371303/Go+coding+guidelines

created time in 9 days

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 2b52e424c4dd2a2946c35b156f509329bb932c28

Update README.md

view details

push time in 9 days

push eventGolangKazan/talks

Iskander (Alex) Sharipov

commit sha d4a73abeee6d84220bceb65afc2619738d185d3c

readme: add feb8 meetup habr article link

view details

push time in 13 days

issue openedcristaloleg/awesome-go-perf

Add go-benchrun

https://github.com/quasilyte/go-benchrun

created time in 15 days

issue openedcristaloleg/awesome-go-perf

Add missing metadata

  • [ ] GitHub topics
  • [ ] Repo description

created time in 15 days

startedcristaloleg/awesome-go-perf

started time in 15 days

push eventGolangKazan/talks

Iskander (Alex) Sharipov

commit sha 03719180c77a9c6e6ddaa4757f1d36a033bbcd15

readme: add 30nov meetup Emil talk slides

view details

push time in 15 days

push eventGolangKazan/talks

Iskander (Alex) Sharipov

commit sha 64ef48058b6ddb5b2a1e40bcadccbd3dcea22f36

readme: add feb8 meetup live record video link

view details

push time in 15 days

push eventGolangKazan/talks

Iskander (Alex) Sharipov

commit sha f1241844e7cf78abaf08a9cdcefdc2db8b16c7f4

readme: add A-level meetup talk slides Photos and video are coming soon.

view details

push time in 15 days

issue commentVKCOM/noverify

how to check only some errors "undefined" - in example 'ERROR undefined: Class not found'

It's probably related to #83. We can start from a mode that treats mixed usages in a more conservative way. There is a chance that this will be implemented, but we lack users' feedback on it. I would also like to see more @YuriyNasretdinov thoughts on it before it's actually done.

Luckily, there is another way:

  1. Don't run checks on the code that you can't modify.
  2. Inside your code, when you have mixed-typed value, annotate it with @var or @param, depending on the context.

The benefit is that your code is more IDE-friendly and static analysis tools can do more for you.

Here are some examples that can be helpful:

// Suppose we have 3rd party foo function that returns mixed result.
function foo() {}

// This is error-prone and linter will trigger a warning:
$x = foo();
$x->bar(); // Error, calling {mixed}->bar()

// Solution 1: use instanceof to ensure that $x has bar method:
$x = foo();
if ($x instanceof CanDoBar) {
  $x->bar();
}

// Solution 2: do a call-site var annotation
/** @var CanDoBar */
$x = foo();
$x->bar(); // No error.

// Solution 3: wrap the function with a proper types info.
// Use wrapper function inside your code.
/** @return CanDoBar */
function my_foo() { return foo(); }

Solutions 1 and 2 are adhoc and only suitable if foo is called in 1-2 places. If it's a frequently used function, it's better to write a wrapper function.

Classes and methods/static methods are essentially the same for this. You need a typed wrapper or annotate local variable.

6umpukc-uHKBu3umop

comment created time in 15 days

startedSuperPaintman/the-evolution-of-a-go-programmer

started time in 17 days

push eventquasilyte/gopher-arts

Iskander Sharipov

commit sha 3a9da6be37b464661d3afd3f80c0eb6df77afd4d

add senya gopher

view details

push time in 20 days

push eventquasilyte/quasilyte.github.io

quasilyte

commit sha 5b4c45a23ad90e0502c06a862bd66d623fe67d2f

update gophercon Signed-off-by: quasilyte <quasilyte@gmail.com>

view details

push time in 22 days

push eventquasilyte/gopherkon

Gram

commit sha 9298de27d6b8a3e8848ed91c0984f39c5af62189

Make the site more search-engine friendly

view details

Iskander (Alex) Sharipov

commit sha 21c8b5fce3ee138ce00778be904f200fca38ce5b

Merge pull request #17 from orsinium/patch-1 Make the site more search-engine friendly

view details

push time in 22 days

PR merged quasilyte/gopherkon

Make the site more search-engine friendly

Now the site is hard to find, and it's titled "Shuffle" in Google. This PR adds a title and description to make it more search-friendly.

Probably, it's good to add html, head, and title but up to you. I didn't even know that it works without the classic markup.

+2 -0

1 comment

1 changed file

orsinium

pr closed time in 22 days

pull request commentquasilyte/gopherkon

Make the site more search-engine friendly

Thank you. :)

orsinium

comment created time in 22 days

issue commentVKCOM/noverify

need better option for "exclude" param - trying to check Bitrix project or WordPress or other CMS

Hello @6umpukc-uHKBu3umop.

let's check only files by mask

You can already do that by either passing an appropriate lint target arguments or, if you need to index other parts of the project as well, by specifying full-analysis-files argument.

For example, noverify --full-analysis-files=bitrix/modules /path/to/project would index the entire project, but warnings are produced only for files matching full-analysis-files.

--exclude usually used for vendor folders. If you want to check a specific project part, use full-analysis-files flag.

Hope that helps.

6umpukc-uHKBu3umop

comment created time in 25 days

startedcli/cli

started time in a month

issue commentGolangKazan/talks

Talk ideas

Доклад: Ищем утечки в Go программах

Разобрать как отлаживать утечки ресурсов (файлы, горутины, соединения с БД) в Go. Для горутин есть как минимум goleak.

quasilyte

comment created time in a month

startedtamaravedenina/simple-migrations

started time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha e7752db04927d3320ed5b8213b851f7121b5c477

Update README.md

view details

push time in a month

issue commentgo-critic/go-critic

Possible File Corrupt On Save

In some distant future, transition to go/analisis framework will be completed and it will be easy to use go-critic as one of the gopls plugins (fortunately).

johneboldt

comment created time in a month

pull request commentVKCOM/noverify

Add flag to disable exclusion of changes on master

Thank you for the contribution!

setpill

comment created time in a month

push eventVKCOM/noverify

setpill

commit sha d5823bb6680544c27102a8b4e28b95b2659b8b94

Add flag to disable exclusion of changes on master (#348)

view details

push time in a month

PR merged VKCOM/noverify

Add flag to disable exclusion of changes on master

Followup on #347

+25 -20

4 comments

2 changed files

setpill

pr closed time in a month

pull request commentVKCOM/noverify

Add flag to disable exclusion of changes on master

Looks good to me. @YuriyNasretdinov, what do you think?

setpill

comment created time in a month

startedgovim/govim

started time in a month

startedjosharian/rulesfile

started time in a month

issue commentgo-critic/go-critic

Possible File Corrupt On Save

I've noticed that you're using go-critic extension for VSCode.

Please consider using golangci-lint extension, I believe it's better maintained.

johneboldt

comment created time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha fac1a37ffe170352e87a8dcbee07924f52e267ed

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 6a0ce1a29e0c7ed13dd1ecbbdc7256dbcd135f96

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha b4cfd5d5c9a90f17497fad48dc1fd75569bf5f06

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 6679ba6b6a702114adcfa992cf94598ed7603e77

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha b5148035fc73ed587a9797354fdb0725772e0ec7

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha bce2e4ac898211e70cd7317f08086b85e0cc8711

Update and rename resume/README.md to me/README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 32aad095ddce9232cfd98eaf974cdc8193581cd3

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha f8e61129c71e187d62efa63f1db20b90df44c30a

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha fc0cc61f52ae13f243cc7d6bee19f453396f02af

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 3df65d21a6450b94170c8acbaf35027a297ce123

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 164346adb1465474cd22aef400e6260d5cb56c73

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha fc1238a4d8432f4a88d67dd6928ab14ecb16b55a

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 7d5e28e11e9b84544d3715843a345ef9a549e2e2

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 4df008719c26f3cdf71e206c22fbcccda34cb3aa

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 3172a8203a0e98d40f5dd09ae12828f7763f21b5

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha fe1e47e5aadd7a7fa3f832a06b6e4baf547d39b3

fix links

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha e766de48312df3ac17f44df080aa67d8a64c9963

Update README.md

view details

push time in a month

push eventquasilyte/quasilyte.github.io

Iskander (Alex) Sharipov

commit sha 267bda952d26faef40ea4c19673c5b8ffd8bf34f

Create README.md

view details

push time in a month

issue commentVKCOM/noverify

Refactor phpdoc parsing implementation

We already have a dedicated types parser that supports all kinds of phpdoc-permitted types. Examples: https://github.com/VKCOM/noverify/blob/master/src/phpdoc/type_parser_test.go It produces an AST that can be then converted to a linter-compatible types representation.

YuriyNasretdinov

comment created time in a month

push eventVKCOM/noverify

Yuriy Nasretdinov

commit sha 2f81ae701ae5b3b932d1d2480b3838f1223a5a91

Parse "?A" as "A|null". Fixes #340 (#345)

view details

push time in a month

issue closedVKCOM/noverify

Support nullable types

Code Example

<?php
class A {
/** @var ?B */
public $b;
}

class B {
public $c;
}

function test() {
return (new A)->b->c;
}

Actual Behavior

Property {?B}->c does not exist

Expected Behavior

Either no errors or warning that {A->b} might be null.

closed time in a month

YuriyNasretdinov

created repositoryquasilyte/gopherjava

created time in a month

push eventVKCOM/noverify

Yuriy Nasretdinov

commit sha d4edbf4b1e1072126235dbff9328134b5ef943a4

Parse array<K,V>, list<V>, etc as V[]. Currently the key type is ignored. (#343) Fixes #290

view details

push time in a month

issue closedVKCOM/noverify

Parsing of array<K,V>-like types from phpdoc

Code Example

<?php

class Foo { public $value = 1; }

/**
 * @param array<int,Foo> $xs
 */
function f($xs) {
  return $xs[0]->value;
}

Actual Behavior

MAYBE   arrayAccess: Array access to non-array type \array<int,Foo> at /home/isharipov/CODE/php/hello.php:9
  return $xs[0]->value;
         ^^^
<critical> ERROR   undefined: Property {mixed}->value does not exist at /home/isharipov/CODE/php/hello.php:9
  return $xs[0]->value;
                 ^^^^^

Expected Behavior

No warnings.

This notation is not very popular, but we should at least try not to interpret it as \array<int,Foo> class. Throwing away key type info is OK-ish, we could record that param type as Foo[].

closed time in a month

quasilyte

delete branch speaking-clubs-nizhny/speaking-clubs-nizhny.github.io

delete branch : some_updates

delete time in a month

push eventspeaking-clubs-nizhny/speaking-clubs-nizhny.github.io

ildar nizamov

commit sha 226d6e1655cd81c066a7ce1c427bab94bfa1f4ad

[clubs] remove spanish club in Boroda reason: six months without meetings

view details

ildar nizamov

commit sha 0af2339e3e4f7418279f94a7a944256e9bb14777

[clubs] add serbian center meetings

view details

ildar nizamov

commit sha 7bb9a825a4dccf5e2d399d9443c0c182b7dea80e

[site] telegram -> tg

view details

ildar nizamov

commit sha 3898aa64f4d6dd0d8c880a4843e0038b183a5176

[site] unify formats

view details

ildar nizamov

commit sha e94c1ed2ca8241f68584003252d16a01b0778d52

[site] rewrite header and footer, add links to DM

view details

Iskander (Alex) Sharipov

commit sha 9206d00b5956a5382ae5a85057484bbe5c064326

Merge pull request #4 from speaking-clubs-nizhny/some_updates Some updates

view details

push time in a month

Pull request review commentmgaudet/CompilerJobs

Added CompilerWorks

 Derived from job postings or other knowledge, this is where the team works. Defi  * Clang, LLVM, LLDB +## [CompilerWorks](http://http://www.compilerworks.com/about.html#jobs)

Link has a typo, http:// is repeated twice.

geraldcw

comment created time in a month

issue commentVKCOM/noverify

Support nullable types

We have nullable types parsing support, but it's not used yet. :)

YuriyNasretdinov

comment created time in a month

delete branch go-critic/go-critic

delete branch : quasilyte/followup/901

delete time in a month

push eventgo-critic/go-critic

Iskander (Alex) Sharipov

commit sha 571443405f5c7ce01e83f1403838198b83ab9c69

checkers: rename deferAtTheEnd to unnecessaryDefer (#902) Also used lintutil.ContainsNode to remove containsCallExpr func. Signed-off-by: Iskander Sharipov <quasilyte@gmail.com>

view details

push time in a month

PR merged go-critic/go-critic

checkers: rename deferAtTheEnd to unnecessaryDefer

Also used lintutil.ContainsNode to remove containsCallExpr func.

Signed-off-by: Iskander Sharipov quasilyte@gmail.com

CC @janisz

+10 -17

0 comment

3 changed files

quasilyte

pr closed time in a month

PR opened go-critic/go-critic

checkers: rename deferAtTheEnd to unnecessaryDefer

Also used lintutil.ContainsNode to remove containsCallExpr func.

Signed-off-by: Iskander Sharipov quasilyte@gmail.com

CC @janisz

+10 -17

0 comment

3 changed files

pr created time in a month

create barnchgo-critic/go-critic

branch : quasilyte/followup/901

created branch time in a month

issue openedmgaudet/CompilerJobs

Aicas link doesn't work

When using Aicas link from a readme, "page not found" appears.

created time in a month

issue openedquasilyte/phpgrep

Borrow ideas from the ruleguard

https://github.com/quasilyte/go-ruleguard

created time in a month

delete branch quasilyte/awesome-go-linters

delete branch : patch-1

delete time in a month

delete branch quasilyte/awesome-go-linters

delete branch : patch-2

delete time in a month

issue commentgolang/go

x/tools/gopls: infinite recursion, crash when presented with a recursively defined type

I'll try fixing that today.

cespare

comment created time in a month

PR closed zhuxiujia/GoMybatis

readme: add missing "go" marker

This enables proper syntax highlighting on GitHub.

+1 -1

1 comment

1 changed file

quasilyte

pr closed time in a month

push eventVKCOM/noverify

Yuriy Nasretdinov

commit sha 50562b6dcd2df4f02ba9cbfecc6bb6509ad93bf1

add debug-parse-duration option (#334) Adding an option to print information about files that take a long time to parse and that can potentially prevent them from being able to parallellize efficiently.

view details

push time in a month

more