Skip to content

Commit f816470

Browse files
committed
python3.8 says "cannot", <3.8 says "cant"
1 parent 9d0f27d commit f816470

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

test-data/unit/semanal-errors.test

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,81 +361,107 @@ main:2: error: "yield" outside function
361361
[case testInvalidLvalues1]
362362
1 = 1
363363
[out]
364+
main:1: error: can't assign to literal
365+
[out version>=3.8]
364366
main:1: error: cannot assign to literal
365367
[out version>=3.10]
366368
main:1: error: cannot assign to literal here. Maybe you meant '==' instead of '='?
367369

368370
[case testInvalidLvalues2]
369371
(1) = 1
370372
[out]
373+
main:1: error: can't assign to literal
374+
[out version>=3.8]
371375
main:1: error: cannot assign to literal
372376
[out version>=3.10]
373377
main:1: error: cannot assign to literal here. Maybe you meant '==' instead of '='?
374378

375379
[case testInvalidLvalues3]
376380
(1, 1) = 1
377381
[out]
382+
main:1: error: can't assign to literal
383+
[out version>=3.8]
378384
main:1: error: cannot assign to literal
379385

380386
[case testInvalidLvalues4]
381387
[1, 1] = 1
382388
[out]
389+
main:1: error: can't assign to literal
390+
[out version>=3.8]
383391
main:1: error: cannot assign to literal
384392

385393
[case testInvalidLvalues6]
386394
x = y = z = 1 # ok
387395
x, (y, 1) = 1
388396
[out]
397+
main:2: error: can't assign to literal
398+
[out version>=3.8]
389399
main:2: error: cannot assign to literal
390400

391401
[case testInvalidLvalues7]
392402
x, [y, 1] = 1
393403
[out]
404+
main:1: error: can't assign to literal
405+
[out version>=3.8]
394406
main:1: error: cannot assign to literal
395407

396408
[case testInvalidLvalues8]
397409
x, [y, [z, 1]] = 1
398410
[out]
411+
main:1: error: can't assign to literal
412+
[out version>=3.8]
399413
main:1: error: cannot assign to literal
400414

401415
[case testInvalidLvalues9]
402416
x, (y) = 1 # ok
403417
x, (y, (z, z)) = 1 # ok
404418
x, (y, (z, 1)) = 1
405419
[out]
420+
main:3: error: can't assign to literal
421+
[out version>=3.8]
406422
main:3: error: cannot assign to literal
407423

408424
[case testInvalidLvalues10]
409425
x + x = 1
410426
[out]
427+
main:1: error: can't assign to operator
428+
[out version>=3.8]
411429
main:1: error: cannot assign to operator
412430
[out version>=3.10]
413431
main:1: error: cannot assign to expression here. Maybe you meant '==' instead of '='?
414432

415433
[case testInvalidLvalues11]
416434
-x = 1
417435
[out]
436+
main:1: error: can't assign to operator
437+
[out version>=3.8]
418438
main:1: error: cannot assign to operator
419439
[out version>=3.10]
420440
main:1: error: cannot assign to expression here. Maybe you meant '==' instead of '='?
421441

422442
[case testInvalidLvalues12]
423443
1.1 = 1
424444
[out]
445+
main:1: error: can't assign to literal
446+
[out version>=3.8]
425447
main:1: error: cannot assign to literal
426448
[out version>=3.10]
427449
main:1: error: cannot assign to literal here. Maybe you meant '==' instead of '='?
428450

429451
[case testInvalidLvalues13]
430452
'x' = 1
431453
[out]
454+
main:1: error: can't assign to literal
455+
[out version>=3.8]
432456
main:1: error: cannot assign to literal
433457
[out version>=3.10]
434458
main:1: error: cannot assign to literal here. Maybe you meant '==' instead of '='?
435459

436460
[case testInvalidLvalues14]
437461
x() = 1
438462
[out]
463+
main:1: error: can't assign to function call
464+
[out version>=3.8]
439465
main:1: error: cannot assign to function call
440466
[out version>=3.10]
441467
main:1: error: cannot assign to function call here. Maybe you meant '==' instead of '='?
@@ -897,6 +923,8 @@ import typing
897923
def f(): pass
898924
f() = 1 # type: int
899925
[out]
926+
main:3: error: can't assign to function call
927+
[out version>=3.8]
900928
main:3: error: cannot assign to function call
901929
[out version>=3.10]
902930
main:3: error: cannot assign to function call here. Maybe you meant '==' instead of '='?
@@ -975,6 +1003,8 @@ x, y = 1, 2 # type: int # E: Tuple type expected for multiple variables
9751003
a = 1
9761004
a() = None # type: int
9771005
[out]
1006+
main:2: error: can't assign to function call
1007+
[out version>=3.8]
9781008
main:2: error: cannot assign to function call
9791009
[out version>=3.10]
9801010
main:2: error: cannot assign to function call here. Maybe you meant '==' instead of '='?
@@ -1290,6 +1320,8 @@ import typing
12901320
def f() -> None:
12911321
f() = 1 # type: int
12921322
[out]
1323+
main:3: error: can't assign to function call
1324+
[out version>=3.8]
12931325
main:3: error: cannot assign to function call
12941326
[out version>=3.10]
12951327
main:3: error: cannot assign to function call here. Maybe you meant '==' instead of '='?

0 commit comments

Comments
 (0)