@@ -456,18 +456,25 @@ fn expression_to_ast(vm: &VirtualMachine, expression: &ast::Expression) -> PyRes
456
456
let py_generators = map_ast ( comprehension_to_ast, vm, generators) ?;
457
457
458
458
match kind. deref ( ) {
459
- ast:: ComprehensionKind :: GeneratorExpression { .. } => {
460
- node ! ( vm, GeneratorExp , { generators => py_generators} )
461
- }
462
- ast:: ComprehensionKind :: List { .. } => {
463
- node ! ( vm, ListComp , { generators => py_generators} )
464
- }
465
- ast:: ComprehensionKind :: Set { .. } => {
466
- node ! ( vm, SetComp , { generators => py_generators} )
467
- }
468
- ast:: ComprehensionKind :: Dict { .. } => {
469
- node ! ( vm, DictComp , { generators => py_generators} )
459
+ ast:: ComprehensionKind :: GeneratorExpression { element } => {
460
+ node ! ( vm, GeneratorExp , {
461
+ elt => expression_to_ast( vm, element) ?,
462
+ generators => py_generators
463
+ } )
470
464
}
465
+ ast:: ComprehensionKind :: List { element } => node ! ( vm, ListComp , {
466
+ elt => expression_to_ast( vm, element) ?,
467
+ generators => py_generators
468
+ } ) ,
469
+ ast:: ComprehensionKind :: Set { element } => node ! ( vm, SetComp , {
470
+ elt => expression_to_ast( vm, element) ?,
471
+ generators => py_generators
472
+ } ) ,
473
+ ast:: ComprehensionKind :: Dict { key, value } => node ! ( vm, DictComp , {
474
+ key => expression_to_ast( vm, key) ?,
475
+ value => expression_to_ast( vm, value) ?,
476
+ generators => py_generators
477
+ } ) ,
471
478
}
472
479
}
473
480
Await { value } => {
0 commit comments