Commit d904450
Implement deleters (#5699)
* Implement deleters
Adds a #[deleter] macro
When deleter is set, the `PyGetSetDef.setter` function calls the setter or deleter depending on if the value is `NULL` or not
Issue #5686
* Update src/impl_/pymethods.rs
Co-authored-by: David Hewitt <[email protected]>
---------
Co-authored-by: David Hewitt <[email protected]>1 parent b69c767 commit d904450
File tree
12 files changed
+310
-57
lines changed- guide/src
- newsfragments
- pyo3-macros-backend/src
- pytests
- src
- stubs
- tests
- src
- impl_
- pyclass
- tests/hygiene
- tests
12 files changed
+310
-57
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
620 | 621 | | |
621 | 622 | | |
622 | 623 | | |
623 | | - | |
| 624 | + | |
624 | 625 | | |
625 | 626 | | |
626 | 627 | | |
| |||
670 | 671 | | |
671 | 672 | | |
672 | 673 | | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
673 | 704 | | |
674 | 705 | | |
675 | 706 | | |
676 | | - | |
| 707 | + | |
677 | 708 | | |
678 | 709 | | |
679 | | - | |
| 710 | + | |
680 | 711 | | |
681 | 712 | | |
682 | 713 | | |
| |||
702 | 733 | | |
703 | 734 | | |
704 | 735 | | |
705 | | - | |
| 736 | + | |
706 | 737 | | |
707 | 738 | | |
708 | 739 | | |
| |||
728 | 759 | | |
729 | 760 | | |
730 | 761 | | |
731 | | - | |
732 | | - | |
733 | | - | |
734 | 762 | | |
735 | 763 | | |
736 | 764 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
| 224 | + | |
223 | 225 | | |
224 | 226 | | |
225 | 227 | | |
| |||
237 | 239 | | |
238 | 240 | | |
239 | 241 | | |
| 242 | + | |
240 | 243 | | |
241 | 244 | | |
242 | 245 | | |
| |||
247 | 250 | | |
248 | 251 | | |
249 | 252 | | |
250 | | - | |
| 253 | + | |
251 | 254 | | |
252 | | - | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
253 | 258 | | |
254 | 259 | | |
255 | 260 | | |
| |||
262 | 267 | | |
263 | 268 | | |
264 | 269 | | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
271 | 278 | | |
272 | 279 | | |
273 | 280 | | |
| |||
592 | 599 | | |
593 | 600 | | |
594 | 601 | | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
595 | 615 | | |
596 | 616 | | |
597 | 617 | | |
| |||
872 | 892 | | |
873 | 893 | | |
874 | 894 | | |
875 | | - | |
876 | | - | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
877 | 899 | | |
878 | 900 | | |
879 | 901 | | |
| |||
894 | 916 | | |
895 | 917 | | |
896 | 918 | | |
| 919 | + | |
897 | 920 | | |
898 | 921 | | |
899 | 922 | | |
| |||
905 | 928 | | |
906 | 929 | | |
907 | 930 | | |
| 931 | + | |
908 | 932 | | |
909 | 933 | | |
910 | 934 | | |
| |||
973 | 997 | | |
974 | 998 | | |
975 | 999 | | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
976 | 1003 | | |
977 | 1004 | | |
978 | 1005 | | |
| |||
981 | 1008 | | |
982 | 1009 | | |
983 | 1010 | | |
984 | | - | |
985 | | - | |
986 | | - | |
987 | | - | |
988 | | - | |
989 | | - | |
990 | | - | |
991 | | - | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
992 | 1020 | | |
993 | 1021 | | |
994 | 1022 | | |
| |||
1028 | 1056 | | |
1029 | 1057 | | |
1030 | 1058 | | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
1031 | 1063 | | |
1032 | 1064 | | |
1033 | 1065 | | |
| |||
1043 | 1075 | | |
1044 | 1076 | | |
1045 | 1077 | | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
1046 | 1081 | | |
1047 | 1082 | | |
1048 | 1083 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
407 | 407 | | |
408 | 408 | | |
409 | 409 | | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
410 | 414 | | |
411 | 415 | | |
412 | 416 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
285 | 292 | | |
286 | 293 | | |
287 | 294 | | |
| |||
695 | 702 | | |
696 | 703 | | |
697 | 704 | | |
698 | | - | |
699 | | - | |
700 | | - | |
701 | | - | |
| 705 | + | |
702 | 706 | | |
703 | 707 | | |
704 | 708 | | |
| |||
854 | 858 | | |
855 | 859 | | |
856 | 860 | | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
857 | 929 | | |
858 | 930 | | |
859 | 931 | | |
| |||
865 | 937 | | |
866 | 938 | | |
867 | 939 | | |
868 | | - | |
| 940 | + | |
869 | 941 | | |
870 | 942 | | |
871 | 943 | | |
| |||
0 commit comments