Skip to content

Commit 16cb014

Browse files
committed
release
1 parent f936e57 commit 16cb014

File tree

3 files changed

+7
-10
lines changed

3 files changed

+7
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<!-- do not remove -->
44

5-
## 1.5.50
5+
## 1.5.51
66

77
### New Features
88

fastcore/xtras.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -647,8 +647,7 @@ def dataclass_src(cls):
647647
def nullable_dc(cls):
648648
"Like `dataclass`, but default of `None` added to fields without defaults"
649649
from dataclasses import dataclass, field
650-
from inspect import get_annotations
651-
for k,v in get_annotations(cls).items():
650+
for k,v in get_annotations_ex(cls)[0].items():
652651
if not hasattr(cls,k): setattr(cls, k, field(default=None))
653652
return dataclass(cls)
654653

@@ -678,9 +677,8 @@ def __init__(self, *args, **kwargs):
678677
# %% ../nbs/03_xtras.ipynb 177
679678
def mk_dataclass(cls):
680679
from dataclasses import dataclass, field, is_dataclass, MISSING
681-
from inspect import get_annotations
682680
if is_dataclass(cls): return make_nullable(cls)
683-
for k,v in get_annotations(cls).items():
681+
for k,v in get_annotations_ex(cls)[0].items():
684682
if not hasattr(cls,k) or getattr(cls,k) is MISSING:
685683
setattr(cls, k, field(default=None))
686684
dataclass(cls, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False)

nbs/03_xtras.ipynb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@
4848
"from fastcore.nb_imports import *\n",
4949
"\n",
5050
"from time import sleep\n",
51-
"import shutil,tempfile,pickle,random"
51+
"import shutil,tempfile,pickle,random\n",
52+
"from dataclasses import dataclass"
5253
]
5354
},
5455
{
@@ -2678,8 +2679,7 @@
26782679
"def nullable_dc(cls):\n",
26792680
" \"Like `dataclass`, but default of `None` added to fields without defaults\"\n",
26802681
" from dataclasses import dataclass, field\n",
2681-
" from inspect import get_annotations\n",
2682-
" for k,v in get_annotations(cls).items():\n",
2682+
" for k,v in get_annotations_ex(cls)[0].items():\n",
26832683
" if not hasattr(cls,k): setattr(cls, k, field(default=None))\n",
26842684
" return dataclass(cls)"
26852685
]
@@ -2809,9 +2809,8 @@
28092809
"#| export\n",
28102810
"def mk_dataclass(cls):\n",
28112811
" from dataclasses import dataclass, field, is_dataclass, MISSING\n",
2812-
" from inspect import get_annotations\n",
28132812
" if is_dataclass(cls): return make_nullable(cls)\n",
2814-
" for k,v in get_annotations(cls).items():\n",
2813+
" for k,v in get_annotations_ex(cls)[0].items():\n",
28152814
" if not hasattr(cls,k) or getattr(cls,k) is MISSING:\n",
28162815
" setattr(cls, k, field(default=None))\n",
28172816
" dataclass(cls, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False)"

0 commit comments

Comments
 (0)