File tree Expand file tree Collapse file tree 1 file changed +25
-10
lines changed Expand file tree Collapse file tree 1 file changed +25
-10
lines changed Original file line number Diff line number Diff line change @@ -742,20 +742,33 @@ L4:
742742 return 1
743743
744744[case testTupleBuiltFromFinalFixedLengthTuple]
745- from typing import Final
745+ from typing import Final, Literal
746746
747747def varint() -> int:
748748 # this helper lets us break constant folding for this test
749749 return 2
750750
751+ def varint_check() -> Literal[10]:
752+ # this helper lets us make sure a literal hint is not honored if not certain
753+ return 2
754+
751755source: Final = (1, varint(), 3)
756+ source_check: Final = (1, varint_check(), 3)
752757
753758def f(val: int) -> bool:
754759 return val % 2 == 0
755760
756761def test() -> None:
757762 a = tuple(f(x) for x in source)
763+ a = tuple(f(x) for x in source_check)
764+
758765[out]
766+ def varint():
767+ L0:
768+ return 4
769+ def varint_check():
770+ L0:
771+ return 4
759772def f(val):
760773 val, r0 :: int
761774 r1 :: bit
@@ -769,15 +782,17 @@ def test():
769782 r2 :: object
770783 r3 :: native_int
771784 r4 :: bit
772- r5, r6, r7 :: object
773- r8, r9 :: tuple
774- r10 :: native_int
775- r11 :: bit
776- r12 :: object
777- r13, x :: int
778- r14 :: bool
779- r15 :: object
780- r16 :: native_int
785+ r5 :: object
786+ r6 :: int
787+ r7, r8 :: object
788+ r9, r10 :: tuple
789+ r11 :: native_int
790+ r12 :: bit
791+ r13 :: object
792+ r14, x :: int
793+ r15 :: bool
794+ r16 :: object
795+ r17 :: native_int
781796 a :: tuple
782797L0:
783798 r0 = __main__.source :: static
You can’t perform that action at this time.
0 commit comments