Skip to content

AnyEnumConv warning when iterating over set #22860

@etan-status

Description

@etan-status

Description

When iterating over a set, AnyEnumConv warning is triggered in the stdlib.

{.push warning[AnyEnumConv]:on.} type Foo = enum A, B, C var f: set[Foo] for f in f: discard

Nim Version

Nim Compiler Version 2.0.1 [MacOSX: amd64] Compiled at 2023-10-24 Copyright (c) 2006-2023 by Andreas Rumpf git hash: d30565f810ba5165ea2e5bcd91ea3dee9950051f active boot switches: -d:release 

Current Output

/Users/etan/Documents/Repos/nimbus-eth2/test.nim(1, 1) template/generic instantiation from here /Users/etan/Documents/Repos/nimbus-eth2/test.nim(10, 10) template/generic instantiation of `items` from here /Users/etan/Documents/Repos/nimbus-eth2/vendor/nimbus-build-system/vendor/Nim/lib/system/iterators.nim(59, 9) Warning: enum conversion: T(i) [AnyEnumConv] if T(i) in a: yield T(i) ^ /Users/etan/Documents/Repos/nimbus-eth2/test.nim(1, 1) template/generic instantiation from here /Users/etan/Documents/Repos/nimbus-eth2/test.nim(10, 10) template/generic instantiation of `items` from here /Users/etan/Documents/Repos/nimbus-eth2/vendor/nimbus-build-system/vendor/Nim/lib/system/iterators.nim(59, 26) Warning: enum conversion: T(i) [AnyEnumConv] if T(i) in a: yield T(i) ^ 

Expected Output

No compile warning in stdlib 

Possible Solution

No response

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions