ionide / ionide/FsAutoComplete

FSAC0002 incorrectly tagged on nullable join clause in query expression

Open
#824 7 comments 0 reactions 0 assignees View on GitHub
bug needs-upstream-work
Dominant language
F#
Stars
486
Forks
169
Avg merge
2d 8h
Merged PRs (30d)
5

Description

In Ionide, the redundant qualifier tip (FSAC0002) is tagged on the first identifier when joining on a nullable property in a query expression. For example, if `table1.column1` is of type `int` and `table2.column2` is of type `Nullable`, the following code snipped gets the FSAC0002 tip on `row1` in `row1.column1 =? row2.column2`.
```fs
query {
for row1 in table1 do
join row2 in table2 on (row1.column1 =? row2.column2)
select (row1, row2)
}
```
Here, the `row1` identifier is actually not redundant and will break the code if removed. Interestingly, this only seems to happen when using the `=?` operator. If you write the same line with the condition as `row1.column1 = row2.column2.value`, no tool tip is shown.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.