@@ -170,7 +170,9 @@ def item(
170
170
elif isinstance (value , float ):
171
171
return Float (value , Trivia (), str (value ))
172
172
elif isinstance (value , dict ):
173
- table_constructor = InlineTable if isinstance (_parent , Array ) else Table
173
+ table_constructor = (
174
+ InlineTable if isinstance (_parent , (Array , InlineTable )) else Table
175
+ )
174
176
val = table_constructor (Container (), Trivia (), False )
175
177
for k , v in sorted (
176
178
value .items (),
@@ -1517,7 +1519,7 @@ def __getitem__(self, key: Union[Key, str]) -> Item:
1517
1519
1518
1520
def __setitem__ (self , key : Union [Key , str ], value : Any ) -> None :
1519
1521
if not isinstance (value , Item ):
1520
- value = item (value )
1522
+ value = item (value , _parent = self )
1521
1523
1522
1524
is_replace = key in self
1523
1525
self ._value [key ] = value
@@ -1581,7 +1583,7 @@ def append(self, key, _item):
1581
1583
Appends a (key, item) to the table.
1582
1584
"""
1583
1585
if not isinstance (_item , Item ):
1584
- _item = item (_item )
1586
+ _item = item (_item , _parent = self )
1585
1587
1586
1588
self ._value .append (key , _item )
1587
1589
@@ -1692,7 +1694,7 @@ def append(self, key, _item):
1692
1694
Appends a (key, item) to the table.
1693
1695
"""
1694
1696
if not isinstance (_item , Item ):
1695
- _item = item (_item )
1697
+ _item = item (_item , _parent = self )
1696
1698
1697
1699
if not isinstance (_item , (Whitespace , Comment )):
1698
1700
if not _item .trivia .indent and len (self ._value ) > 0 and not self ._new :
0 commit comments