@@ -301,8 +301,8 @@ mod tests {
301
301
assert_eq ! ( s. clone( ) , vec!( 14 ) ) ;
302
302
}
303
303
304
- fn id ( n : Name , s : SyntaxContext ) -> Ident {
305
- Ident { name : n , ctxt : s}
304
+ fn id ( n : u32 , s : SyntaxContext ) -> Ident {
305
+ Ident { name : Name ( n ) , ctxt : s}
306
306
}
307
307
308
308
// because of the SCTable, I now need a tidy way of
@@ -349,12 +349,12 @@ mod tests {
349
349
fn test_unfold_refold ( ) {
350
350
let mut t = new_sctable_internal ( ) ;
351
351
352
- let test_sc = vec ! ( M ( 3 ) , R ( id( 101 , 0 ) , 14 ) , M ( 9 ) ) ;
352
+ let test_sc = vec ! ( M ( 3 ) , R ( id( 101 , 0 ) , Name ( 14 ) ) , M ( 9 ) ) ;
353
353
assert_eq ! ( unfold_test_sc( test_sc. clone( ) , EMPTY_CTXT , & mut t) , 4 ) ;
354
354
{
355
355
let table = t. table . borrow ( ) ;
356
356
assert ! ( * table. get( 2 ) == Mark ( 9 , 0 ) ) ;
357
- assert ! ( * table. get( 3 ) == Rename ( id( 101 , 0 ) , 14 , 2 ) ) ;
357
+ assert ! ( * table. get( 3 ) == Rename ( id( 101 , 0 ) , Name ( 14 ) , 2 ) ) ;
358
358
assert ! ( * table. get( 4 ) == Mark ( 3 , 3 ) ) ;
359
359
}
360
360
assert_eq ! ( refold_test_sc( 4 , & t) , test_sc) ;
@@ -381,8 +381,8 @@ mod tests {
381
381
382
382
#[ test]
383
383
fn test_marksof ( ) {
384
- let stopname = 242 ;
385
- let name1 = 243 ;
384
+ let stopname = Name ( 242 ) ;
385
+ let name1 = Name ( 243 ) ;
386
386
let mut t = new_sctable_internal ( ) ;
387
387
assert_eq ! ( marksof_internal ( EMPTY_CTXT , stopname, & t) , Vec :: new( ) ) ;
388
388
// FIXME #5074: ANF'd to dodge nested calls
@@ -396,16 +396,16 @@ mod tests {
396
396
assert_eq ! ( marksof_internal ( ans, stopname, & t) , vec!( 16 ) ) ; }
397
397
// rename where stop doesn't match:
398
398
{ let chain = vec ! ( M ( 9 ) ,
399
- R ( id( name1,
399
+ R ( id( name1. uint ( ) as u32 ,
400
400
apply_mark_internal ( 4 , EMPTY_CTXT , & mut t) ) ,
401
- 100101102 ) ,
401
+ Name ( 100101102 ) ) ,
402
402
M ( 14 ) ) ;
403
403
let ans = unfold_test_sc ( chain, EMPTY_CTXT , & mut t) ;
404
404
assert_eq ! ( marksof_internal ( ans, stopname, & t) , vec!( 9 , 14 ) ) ; }
405
405
// rename where stop does match
406
406
{ let name1sc = apply_mark_internal ( 4 , EMPTY_CTXT , & mut t) ;
407
407
let chain = vec ! ( M ( 9 ) ,
408
- R ( id( name1, name1sc) ,
408
+ R ( id( name1. uint ( ) as u32 , name1sc) ,
409
409
stopname) ,
410
410
M ( 14 ) ) ;
411
411
let ans = unfold_test_sc ( chain, EMPTY_CTXT , & mut t) ;
@@ -419,55 +419,55 @@ mod tests {
419
419
let mut t = new_sctable_internal ( ) ;
420
420
let mut rt = HashMap :: new ( ) ;
421
421
// - ctxt is MT
422
- assert_eq ! ( resolve_internal( id( a, EMPTY_CTXT ) , & mut t, & mut rt) , a ) ;
422
+ assert_eq ! ( resolve_internal( id( a, EMPTY_CTXT ) , & mut t, & mut rt) , Name ( a ) ) ;
423
423
// - simple ignored marks
424
424
{ let sc = unfold_marks ( vec ! ( 1 , 2 , 3 ) , EMPTY_CTXT , & mut t) ;
425
- assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , a ) ; }
425
+ assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , Name ( a ) ) ; }
426
426
// - orthogonal rename where names don't match
427
- { let sc = unfold_test_sc ( vec ! ( R ( id( 50 , EMPTY_CTXT ) , 51 ) , M ( 12 ) ) , EMPTY_CTXT , & mut t) ;
428
- assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , a ) ; }
427
+ { let sc = unfold_test_sc ( vec ! ( R ( id( 50 , EMPTY_CTXT ) , Name ( 51 ) ) , M ( 12 ) ) , EMPTY_CTXT , & mut t) ;
428
+ assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , Name ( a ) ) ; }
429
429
// - rename where names do match, but marks don't
430
430
{ let sc1 = apply_mark_internal ( 1 , EMPTY_CTXT , & mut t) ;
431
- let sc = unfold_test_sc ( vec ! ( R ( id( a, sc1) , 50 ) ,
431
+ let sc = unfold_test_sc ( vec ! ( R ( id( a, sc1) , Name ( 50 ) ) ,
432
432
M ( 1 ) ,
433
433
M ( 2 ) ) ,
434
434
EMPTY_CTXT , & mut t) ;
435
- assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , a ) ; }
435
+ assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , Name ( a ) ) ; }
436
436
// - rename where names and marks match
437
437
{ let sc1 = unfold_test_sc ( vec ! ( M ( 1 ) , M ( 2 ) ) , EMPTY_CTXT , & mut t) ;
438
- let sc = unfold_test_sc ( vec ! ( R ( id( a, sc1) , 50 ) , M ( 1 ) , M ( 2 ) ) , EMPTY_CTXT , & mut t) ;
439
- assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , 50 ) ; }
438
+ let sc = unfold_test_sc ( vec ! ( R ( id( a, sc1) , Name ( 50 ) ) , M ( 1 ) , M ( 2 ) ) , EMPTY_CTXT , & mut t) ;
439
+ assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , Name ( 50 ) ) ; }
440
440
// - rename where names and marks match by literal sharing
441
441
{ let sc1 = unfold_test_sc ( vec ! ( M ( 1 ) , M ( 2 ) ) , EMPTY_CTXT , & mut t) ;
442
- let sc = unfold_test_sc ( vec ! ( R ( id( a, sc1) , 50 ) ) , sc1, & mut t) ;
443
- assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , 50 ) ; }
442
+ let sc = unfold_test_sc ( vec ! ( R ( id( a, sc1) , Name ( 50 ) ) ) , sc1, & mut t) ;
443
+ assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , Name ( 50 ) ) ; }
444
444
// - two renames of the same var.. can only happen if you use
445
445
// local-expand to prevent the inner binding from being renamed
446
446
// during the rename-pass caused by the first:
447
447
println ! ( "about to run bad test" ) ;
448
- { let sc = unfold_test_sc ( vec ! ( R ( id( a, EMPTY_CTXT ) , 50 ) ,
449
- R ( id( a, EMPTY_CTXT ) , 51 ) ) ,
448
+ { let sc = unfold_test_sc ( vec ! ( R ( id( a, EMPTY_CTXT ) , Name ( 50 ) ) ,
449
+ R ( id( a, EMPTY_CTXT ) , Name ( 51 ) ) ) ,
450
450
EMPTY_CTXT , & mut t) ;
451
- assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , 51 ) ; }
451
+ assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , Name ( 51 ) ) ; }
452
452
// the simplest double-rename:
453
- { let a_to_a50 = apply_rename_internal ( id ( a, EMPTY_CTXT ) , 50 , EMPTY_CTXT , & mut t) ;
454
- let a50_to_a51 = apply_rename_internal ( id ( a, a_to_a50) , 51 , a_to_a50, & mut t) ;
455
- assert_eq ! ( resolve_internal( id( a, a50_to_a51) , & mut t, & mut rt) , 51 ) ;
453
+ { let a_to_a50 = apply_rename_internal ( id ( a, EMPTY_CTXT ) , Name ( 50 ) , EMPTY_CTXT , & mut t) ;
454
+ let a50_to_a51 = apply_rename_internal ( id ( a, a_to_a50) , Name ( 51 ) , a_to_a50, & mut t) ;
455
+ assert_eq ! ( resolve_internal( id( a, a50_to_a51) , & mut t, & mut rt) , Name ( 51 ) ) ;
456
456
// mark on the outside doesn't stop rename:
457
457
let sc = apply_mark_internal ( 9 , a50_to_a51, & mut t) ;
458
- assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , 51 ) ;
458
+ assert_eq ! ( resolve_internal( id( a, sc) , & mut t, & mut rt) , Name ( 51 ) ) ;
459
459
// but mark on the inside does:
460
- let a50_to_a51_b = unfold_test_sc ( vec ! ( R ( id( a, a_to_a50) , 51 ) ,
460
+ let a50_to_a51_b = unfold_test_sc ( vec ! ( R ( id( a, a_to_a50) , Name ( 51 ) ) ,
461
461
M ( 9 ) ) ,
462
462
a_to_a50,
463
463
& mut t) ;
464
- assert_eq ! ( resolve_internal( id( a, a50_to_a51_b) , & mut t, & mut rt) , 50 ) ; }
464
+ assert_eq ! ( resolve_internal( id( a, a50_to_a51_b) , & mut t, & mut rt) , Name ( 50 ) ) ; }
465
465
}
466
466
467
467
#[ test]
468
468
fn mtwt_resolve_test ( ) {
469
469
let a = 40 ;
470
- assert_eq ! ( resolve( id( a, EMPTY_CTXT ) ) , a ) ;
470
+ assert_eq ! ( resolve( id( a, EMPTY_CTXT ) ) , Name ( a ) ) ;
471
471
}
472
472
473
473
@@ -496,10 +496,10 @@ mod tests {
496
496
497
497
#[ test]
498
498
fn new_resolves_test ( ) {
499
- let renames = vec ! ( ( Ident { name: 23 , ctxt: EMPTY_CTXT } , 24 ) ,
500
- ( Ident { name: 29 , ctxt: EMPTY_CTXT } , 29 ) ) ;
499
+ let renames = vec ! ( ( Ident { name: Name ( 23 ) , ctxt: EMPTY_CTXT } , Name ( 24 ) ) ,
500
+ ( Ident { name: Name ( 29 ) , ctxt: EMPTY_CTXT } , Name ( 29 ) ) ) ;
501
501
let new_ctxt1 = apply_renames ( & renames, EMPTY_CTXT ) ;
502
- assert_eq ! ( resolve( Ident { name: 23 , ctxt: new_ctxt1} ) , 24 ) ;
503
- assert_eq ! ( resolve( Ident { name: 29 , ctxt: new_ctxt1} ) , 29 ) ;
502
+ assert_eq ! ( resolve( Ident { name: Name ( 23 ) , ctxt: new_ctxt1} ) , Name ( 24 ) ) ;
503
+ assert_eq ! ( resolve( Ident { name: Name ( 29 ) , ctxt: new_ctxt1} ) , Name ( 29 ) ) ;
504
504
}
505
505
}
0 commit comments