@@ -2,7 +2,7 @@ use ruff_python_ast::name::Name;
22use rustc_hash:: FxHashMap ;
33
44use crate :: {
5- Db , FxOrderSet ,
5+ Db , FxOrderMap ,
66 place:: { Place , PlaceAndQualifiers , place_from_bindings, place_from_declarations} ,
77 semantic_index:: { place_table, use_def_map} ,
88 types:: {
@@ -13,7 +13,7 @@ use crate::{
1313
1414#[ derive( Debug , PartialEq , Eq ) ]
1515pub ( crate ) struct EnumMetadata {
16- pub ( crate ) members : FxOrderSet < Name > ,
16+ pub ( crate ) members : FxOrderMap < Name , Name > ,
1717 pub ( crate ) aliases : FxHashMap < Name , Name > ,
1818}
1919
@@ -22,13 +22,13 @@ impl get_size2::GetSize for EnumMetadata {}
2222impl EnumMetadata {
2323 fn empty ( ) -> Self {
2424 EnumMetadata {
25- members : FxOrderSet :: default ( ) ,
25+ members : FxOrderMap :: default ( ) ,
2626 aliases : FxHashMap :: default ( ) ,
2727 }
2828 }
2929
3030 pub ( crate ) fn resolve_member < ' a > ( & ' a self , name : & ' a Name ) -> Option < & ' a Name > {
31- if self . members . contains ( name) {
31+ if self . members . contains_key ( name) {
3232 Some ( name)
3333 } else {
3434 self . aliases . get ( name)
@@ -217,9 +217,9 @@ pub(crate) fn enum_metadata<'db>(
217217 }
218218 }
219219
220- Some ( name. clone ( ) )
220+ Some ( ( name. clone ( ) , name . clone ( ) ) )
221221 } )
222- . collect :: < FxOrderSet < _ > > ( ) ;
222+ . collect :: < FxOrderMap < _ , _ > > ( ) ;
223223
224224 if members. is_empty ( ) {
225225 // Enum subclasses without members are not considered enums.
@@ -237,7 +237,7 @@ pub(crate) fn enum_member_literals<'a, 'db: 'a>(
237237 enum_metadata ( db, class) . map ( |metadata| {
238238 metadata
239239 . members
240- . iter ( )
240+ . keys ( )
241241 . filter ( move |name| Some ( * name) != exclude_member)
242242 . map ( move |name| Type :: EnumLiteral ( EnumLiteralType :: new ( db, class, name. clone ( ) ) ) )
243243 } )
0 commit comments