From f25308d1ebd6554d35d512584ca4c3034f230240 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sun, 16 Jun 2024 09:48:03 +0200 Subject: [PATCH] Tight lists only attach to preceding paragraphs, not blocks anymore (#4396) --- crates/typst/src/layout/spacing.rs | 5 +++-- crates/typst/src/realize/mod.rs | 10 +++++----- tests/ref/issue-1850-list-attach-spacing.png | Bin 0 -> 884 bytes tests/ref/issue-grid-base-auto-row-list.png | Bin 225 -> 234 bytes tests/ref/list-mix.png | Bin 968 -> 1020 bytes tests/ref/par-first-line-indent.png | Bin 11026 -> 10996 bytes tests/ref/set-instantiation-site-markup.png | Bin 1084 -> 1127 bytes tests/suite/model/list.typ | 20 +++++++++++++++++++ 8 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 tests/ref/issue-1850-list-attach-spacing.png diff --git a/crates/typst/src/layout/spacing.rs b/crates/typst/src/layout/spacing.rs index 5c02a0cf1..571cc8704 100644 --- a/crates/typst/src/layout/spacing.rs +++ b/crates/typst/src/layout/spacing.rs @@ -126,12 +126,13 @@ pub struct VElem { #[external] pub weak: bool, - /// The element's weakness level, see also [`Behaviour`]. + /// The spacing's weakness level, see also [`Behaviour`]. #[internal] #[parse(args.named("weak")?.map(|v: bool| v as usize))] pub weakness: usize, - /// Whether the element collapses if there is a parbreak in front. + /// Whether the spacing collapses if not immediately preceded by a + /// paragraph. #[internal] #[parse(Some(false))] pub attach: bool, diff --git a/crates/typst/src/realize/mod.rs b/crates/typst/src/realize/mod.rs index 005c399be..824ad3b1a 100644 --- a/crates/typst/src/realize/mod.rs +++ b/crates/typst/src/realize/mod.rs @@ -385,16 +385,15 @@ impl<'a> FlowBuilder<'a> { content: &'a Content, styles: StyleChain<'a>, ) -> bool { + let last_was_par = self.1; + self.1 = false; + if content.is::() { - self.1 = true; return true; } - let last_was_parbreak = self.1; - self.1 = false; - if let Some(elem) = content.to_packed::() { - if !elem.attach(styles) || !last_was_parbreak { + if !elem.attach(styles) || last_was_par { self.0.push(content, styles); } return true; @@ -434,6 +433,7 @@ impl<'a> FlowBuilder<'a> { self.0.push(*par_spacing, styles); self.0.push(content, styles); self.0.push(*par_spacing, styles); + self.1 = true; return true; } diff --git a/tests/ref/issue-1850-list-attach-spacing.png b/tests/ref/issue-1850-list-attach-spacing.png new file mode 100644 index 0000000000000000000000000000000000000000..45faa56c42ebaa392a1e01993706c54f9924e58f GIT binary patch literal 884 zcmV-)1B?8LP)_$d)dkc1sX%B&D z3GibP0g}jcq*QOgMt6&mvN04JjopAM+Y@npnv<*QQ4~})aaCkXabqe^)$yoUs^qFB zpBFV{@>H$0WhH|_sm7pa*a#d|K>I7jY2m6gkTGTCsvLS!2U#2Z?r6s6LmX|g+sjA~zqi7HzpvS=NxY7kwcO3ww^ z%?w)Q-nrdQwKex-k+W;5W)GE9A0`w47sqK;>0t}i-T)ZQq*eL@4OIF5EkJ^qR^`Vz z|Bb4OY1M~_4ytVX3UI_hso-2*xB%FLb`;TI3e(?b^5=7Cs~$uk_DB3fq}OKS3xbf=F+`fT5z%MRbXJ? zzHqMH%PrW7Ag&WIF!09URl731q*ST5QSl9f~>&^smPVt z>fC09G-MNykXQu?(L#F+V2keVA@u$QzQ#K1B?FZR6DE8oI0saNv#5KbHCWBPOqeiX zUs$qxQiDwc;_pNl155I&KZ8@$0l~x5ih;*Ri-G6Y*B|ENx=TL{yIlMv2xH-Y$S^M( znwVi;!tdY%Vmk`{=!SvYXNQ4*i(z0h!ohG8GtA364s*hU311RE06CNijTSXy5&!@I M07*qoM6N<$f)NW@q5uE@ diff --git a/tests/ref/list-mix.png b/tests/ref/list-mix.png index 0f2b03cf9eefac3d1eed7c87504dd72c5122edad..2c263c02c54847f56e10ec7f2b81fdced3868913 100644 GIT binary patch delta 1011 zcmVNE5Zowv$pfFD-<#LW_$|S^ONWMU!wy$Or#sERTR0fG9srJH zpp>$`yYDIMsjqm&a4d?U#itcmv%vnTu-`72Yh;6O%?W&CeZqlrMYG&W{4xIep~U9s z635Y$Yt-$ZfZDy8hd&$Gmvi&$xofy396VikREIrS&+-%z+?fwx@vQ`EZUT_Ea@f`UB6#W#^jRPk?UcQL-rnof zFf~GF#Hbw{8YgW9J|6i`@Gh@QW!ShhD#H6lS^bRWlrBR2YzsGFjMP-kSDPS`*Y({60R=7 zCo>Z>fb=Tzqk(6}@$?a=;}k~1VE{p zg9#WP7%>g0#x$xKmD*x#x5HHHf>ouoVQ#U2V!Fo#hAy>Qx%g@AXanuIxLhJE!Xhlf z|9>1Dl^C@(A@mA=-K974fm|H`Zb9KfiX;;wwfs#_&jW)F0K*PJVJMea;CopfCnK5? z>pzmmB`ZJ4!_#^f9`=VnDy8WK(nA1n`PKB)AZ=*cPe;;}uHaMR hfQYaNi}3#t{u8xs-zCx|fhYg~002ovPDHLkV1g_|^#cF^ delta 959 zcmV;w13>)z2gnDI7k@Pf00000ugP${000AzNkl z>DCW6fvmQ!Z_ZlIz<`!yNh~1=NH|UbLB5FsN+4i>l0@8z2?vswCST@-K`C6vos9AQ zI4Qa#m6LMfhHazct)wn*Fz6 zV{k;}ZW{pXE;O&T0ARHP&5xG?DMJ95g@!p?M&eljs4ZsG4FI-|0{A%rI{+hZ3Jw?L z=_4!y!PDv}H|(maIyLcB-Y~Elm<%y2e3IW%6QC3bwrni%z;UXudZg2?^=`O)f2%KB zO?Y75`|;}gc7Mb0TL=WVNj7-kGKT$l*-C&L-cf71?u8xBNS!MuuwOVB^*8_=$U`qB zw14O^+wns@Kan4W>CV#zte8XoYxwtPtY_1WTV@2_@p$r{Q&qRLB2&Pe?(uEudN zvxBeYW@z43kR3mgP~3H-=x08z6EBwt|KH(pJ&Uq-2!8^5C(C0%zeT~_mG59tgDZi~ zje8xSXait&>9DiN&pYs;LP+Kh=^|NNAi!oVV70qHmJY)+;A!~inoDGnd-`TvZ+oJ8 zS65MjUH3{^iG#+PdRt6=#QZmkYHkW_-8P68&XiGlhjTi zow1}`)J1YemYm(w?aFPSBv#vPf5J)N?{J}lBmP(Z9=rwy<^j-GgKPyIAF^G=lW3xm zox20e+bg$m)0v?}{UWor7cS5F&H=CW(A<9LqFNAfjrNf_vsK^=taAnBMI5Sz0 z=jH8d4eKe2Hpb)*$Z8sJq@^}lV&&5m$dnkiSH`NK^WC(9(4qJ}*Y+LlM0R*Vyj&tI z!cnPFuP29{=g<3U^D&@g3;>s)a0OKo^H0tEMXP23qXS@Ko1ic#CAZ;=^in>J)TFjV ztA7*s>pv>R(^?n&A{#_me5H21LU_3PIqUN7CQ13RnFrD|k}B2mTXT_w(r~htvr*{6G;7P&ZlaeW79_i~FYxS9e2bEKjmTM9n?)>Jd zn2h+L&Hj1%Sdg&r=uT<2(-Q8V$zJIR8aSlsUrKY!r5ONl?xozUS4YEgE*!|wJA;mk h2SkKLScLCG_&2oqyRlpQAolt z8ixoG1Orj=1`(qOF@zwb5*r^t1TB1n_yQ5)Q&{_%1sg<@nIa%&)+&a5&e`V-{Cl5u z*1r7zIy^_)%hg+ezI}5s&V1Y3Te?2K`Ru{>{rxg$^y1F7mE}$x#*U7E&5c)`g}Jv| zYwxz7FE3s`f9BNJ-Q5KGP_wP;&DO@_)w^E~rafa{&W$T`uv>p}uhiLoxU|w);Lzh$ z2=t#mx<7yM!qrRd*|Vo-&;6pOCD7ehu;P%#c5&O!>?<<>33=8J?{{`yuPZool0}+U zyU{;?vPtcu4JUCafzHK$*|Y>Yflf=H6X*mwErCv;(-P-9p3 z#a07!sI6Efa)>cln1QnWP%=`EwGV_if;<5jXJD?>BTRSl1%K+LOFj2s}b9i`|_fTzmdOFm;U2;Yp_#(RU4+^NYx<3-RPj1kdRp5Vg zXE$1->KCBViO0sq$eHo2x*KXWynGTt)@rpTCMJm00SgI#xmK%*D`sY9km%LqIuNpD zTN@b}vAD!pyOER82JofhhfA#B3&~~6(uY&;8-TSd@v{feL?UQD2SGGZ{Iv98s~J!_J3 zDC`T7^GL*1ERv`T78B^-OfY9~Cs3>KKQ_SWfF!13_ZuNA;zz)hL(3U5 zS9FdvfFaMHK=UDuMk8iIj3>DfjihYO56Z^zCTY!${8!SL>}Pv-uj5n_gkd=23J?hy z0VzaeNCZe^q$G%h5Q%%>&i7fpQt7Nccsw&6k3HKRSoZPx>GO4Ub$!*<)%OBgJ~fQ4 zMD6>3h4fJ!vPsETJ-Phzy3r?a$0Tbc3C8zgvBLV1<*vhgQ&bj z^AP|4>S*$qxJAC}M1oJ}&gNv&8iQib_pZwYQviiK~4IRE>OO3Vn*fURu6GGUx@0gu` z`8cz#4`_r?&S4Z>VfMC-7z>)C0}Dq$2)G?(cYK#!L)-bn-N z-cu0$ivt=u-cVBX8-d0qz@hja&}cM&GKs3R&kuY>7U-~!%cX557g026yWKeQ{rmSQ z3D$$!_=yU(f8NKBAGdqV;5e=C{PgJ)>GlZtiUaxn{d;@T0NSHbf6b;D~E!FI1utYrYQed?V1IsR$4VXxZKgoqX|#pP#}Ch$`O`Xr#)<)J zC{_V20Wuo7r1k{DnZkWEtxf}d3GOvKWlb#LOMSbLu&ds(qZeUWWdXf^fL`VCfi_?Y zV8mY(U(CRs_U5w_u$T$gKt(--JI-r zSLK%SB8cu~0c}ri!jj#}UKWPn%|&h?)3C4%2^@$rlx?i#eSC+7PrU(Oha;>>oK+n; zHwpsAYuMDRcnqHX9*)tdII4fmrhAGFv=CRmMhyc{4c2UZ5->o2yP+vibDLU)oz57? zcT`Ceno4fM6SIY{3$5J2eobj!oJ2>a<1D6e6K6XdatXCi4zIBVBK=^uIOxn?;2cbN z2j;15b|Rz@>s%r!jcEh1574pns7JJ%i3)bB*=)|g`LG7)SS}T3L?OH+7w#tM^9gJC zLb;=|h)=tPT^!JVN*mzO24BB^4PTCkhM;1@lC=>`;yj1|nhf3uw1o!&Jw@+P+6GSZ zP&@6fh#vylQzGR(dVo$xTis;b)^&dW{ta0({S(CPiFpnz&!PP;NJp!d#VH(^WC}0W z899B7UAzrEM;sb-D+jTFF`9u+BtG11ghkK+pjiT9am1*9(~^1s-_r!sQ1@=j(x7Ty zzkUtMosrXKesodZJ{ajw8kLozNj`k|px zeJwe;x<4O)Zb9%xuv`StUPGtT2NhooZeBIt2rXR3GzUr9^m@2>+ay{)rCY;GafuV= zOg|M(;?CQD7^oBx&*C;fkc3hu(@5&$xyqc=-R8ELkA7C$&e=KNyF3TNl4Ix|7qSOP zobh%s!`lnPi%9Zo-(#_bg`v!{MZp&ZKUdMU)6SPx;wFZ^s|VWHVni|#l{I>S1$APs z>>rQdTnEr-NSuZ8E&TZc%YjKn?EJ}qWkFHg>}QIxrrnmcXSe-qH8Be&x){rbN)*|@&SwRx z0}8`bFF`McVmMU?2Cq*xj9anua39siN?NgiPx-`acw-#FP)w*Zt1;MlQ=yc?=2 z!yn;)G-96#Xe7!fRp61{)2t|P`3LZbBL3kBVg#YCr@BeB#wZd&Q<-Dr-eXG3Bmq|Q zez0!+R%IsCaRjas@6V{vIh@%(<>o4DOYiT9D3R*My~pvy(^9|~1ewN6dw;c^I~yGC zSdvE7D%#9()nLn`TIQ7foMKg3bL}LCDn~MZHR_pw=E|XMP46c}m|IRY@4&X_4C*vt zAzo<Cbz zd&2T_u)!-=hG}&+bvJ=H>K~x$lOK+k4$z!-RokkAi5Z*Msq{L@mJ9R1c#$(nG)1Oi zsb(H8!9m;_IyL8{KF$-*P7-%Pe)%hZT0N*qNCc!}ZZr&7(Pg6T2&WPiz_VCGMaCRh!ZWG@Ve;lZR?T zE>^eIY+lDJOgnLy7)xjj%33|WJ2g$$Js-l7JMFGlrJ8dV9#Ezf9WT;ihW{piJ}|h! zg1Ft)nk0R^dKA$Cm!@+BPqBp-1^<`kG<$N_;;LiLDN)M;digpw-d-k}@n=E#SU@w6 zjP)5_%zy>uV*$<3$#i2UVOBI+4$^ zpern(?+G*ySwR#?DjPOGz!1n*0Ol@0&wl*)v4B3d$kHH(q0Z9$qTjLGDfM z;S0UNdFBiM1B-A0y~+Z50lmrsdI7zFUS$EjfL>(*y?|aoud;wX|LiaanLv>R^!->?Q*31|xr&1{H4HB;({gk~l#sBaD6OflUw$pU(}6nt)i zt*!oAD+f4BJSRs5aLv`ddi83nI*7cb=e{`8`Sg$NzN`pds^jK=OxC8{W}V%O7cWR| zq4KjJnY;tnoW0e^bg^(*qFo3wjZrYTMFOHpZ6YX}8I^6abOHUJBG`d27Q#yy;miCm z!R8?CK?N5aEXY_avS43X$Y^R2@?x=T65+g1HV188t@ACSrqH#=0(uda1@t8pgOwnK zZLD;QGY*upQ=GPc7%Hs> zxyGe}R9o#c7D6kcKq*H5#$|rSr4#P=WW5(6<3R>VMn!34l~NV8HmTy@YXX{PDBRSD z-$FTkcFQslu=3Ur_L$hXBWe=wZ;7i_q!8x`YJ(9=lGqP_#rK2ka4s^PMg}FlCqOl- z`gkr&qZBnQeH4wgz0e7C%XI(^1td6=%gQxhP~oB@39^4dW-&`yclJ$VoVcYc$eTOp z7VZ`(m>aJU*~}TVed0*2*g;{jS;T^>M8lS82K2C|knNMgj#zgV(}Knq>b zIjiJ2E=W4WXO9BskB3O6bSqFj)B;60^f4MYK>`IFD=;-$43x}g*~D4Ujo9iY6EIS9 zH9+g6`Zy@L8qfqky`J@&#M8Foj`$+%nvY^95e4>t0ZM}DWL!h&Fg?R%;bdAx$SZ4v zNcwle;F%DkWZj(L>jzej`Xu`{wk zS3&TP$?YR>Tj_fWokNaB=2yCt&(q`Rle1bKp0|BN@%^{XR+PPGE-#1oLrUt~Z3!KL zy=xzTa^bCuv3HJ8=yW|v*U9+p&H*%(vk)o`R-}W;Nk8tNZw<3fnt?$-P_kmzA1?KV zFM6Of5-0CcUW7W{UvkU;C-Dd?`y4>iP~0xtJ~dk~#H04>*MM#gNn?;EOSd1$CWy1q ziM=6LLQbC(mUaW6ub-ZR>qKpaoJ8l`vKWAW8Bj;wW;1SQLSO2zFpA4D_%nO6)owMn zjhSgl;OamY5*VNiTy4Np&Iy{=s(-_jXZ_7;24bquwL3{&+36er*%i!^O99#|8RZ#O zL_n?#oYi+iO;Ip=9qD90+R}r6*e!D=BTp_<)pMqh+o3Emj zbV^D|8++d;09vJ4MMH}vyCqE}{sNi74I&Kq_Vnd4C(+vh(*Obj%2eC<;#!ot^sEh} z&>ROs!l*#RtOtY4B|cFPx}J2qKXvaCkG3u*8z55Wl3I&b-cvf$7v{F!CV>rqc87!T z=#vI_OWqZv2EOj;pvUQ~YV|Y{t!8X{3J#`JSQ%e#H0ES+K=7K*s0>HQ{-2V!(lVz;noIFVgTUf%DPbhR{hP6wnM^b8i$i*F-{z-w z#;hKlZdlV@^70&CNHO)&hDC&by&4{{?sZdTmh~C5*9^;11;o@2!-I>X-gbP^+feWY z^qR^#xb%}3Cc3>h)_3|CbbM!KC!)&)H2 z2h^M|aoN8C&3CTS+2bzRI5uxDtRU`Yq~k^_uv_i;_6`&4SP~YtvxTF6IX|OU%qsR0 zzWOvk>q?nrCM=-9KrZtH+yfdSJKfC;R@LQXNHCGWlskKiA>os2Lav0wisft9juH>D zwNW8WmBCO0qZD`=U8GL1PP`7gft?@Ox4u#GU78ODPys($Swn=NrCSg=w-gE_qt#CQXTVs+` zW4P8O91cD)J%F-{{p0}PJaKb)p{C9^RjA+ac<4ij`*3|mw0S?Hf@_`W=B6cmQ6=~E z2oQ6*cw8xgo6u>0#Li9VDZDGG2oDldssbch9b_GGf0guTSr93iOSGd24$wKq9v&Kc zVD^VMwbZVanFgW_s3wJ1EBZ>VhxF=I8qBqHi?(rspZdpD5*AXEljQM=jK?&IKE6L! z!1qG%o8)Cka8c1?+Xx=RIMtt!vYog|!M&K_Vuq_Mpcl|03+PoA&eAKmxZE;FSyX{Fq>J`u3(4~X4NJH2@0d! zG#D5J30Cw5MizmINZ=~k^Z_EMMc=@_fT4Yg*8TE<12yT)LWrE_SzOMUd(IXA_uS{a zJ^%kX{EW7jE4KiB`{sfy`?kBgcztf;*@N%<`(@4O#hq)*OU=keM90Q|`m5&r?Ay)N zcU#Yw7A~JZbL#8PP6BT7=wiw=(Hb7M$)nOfe=TKCxFIu!wIy9f}7@dbx~!1Rf)pbhWKt6aOkn# zBC?w-!L_af+CgEf2ZnqZKwBfGD}=i2_-XiJe4@l+^bHRW^Dyr67|5_VihvI8xQg(_ z`;@@-bPUGe;GjpLDb{K=j~X2v#hI`M?YJzQMp8%FqJJP^!xSB!pj}WWIR~0j?qYx9 zcaDvXh1gI44fLpg$XWOH_QH`Am;?a=P1~RFdOR@r;*CbbTlAdn0@?xW1!&!1;03|H zzP^wqff4NkvUcd#0kl4|zrUaNP;7jBJk-A3@{2O?MResKBv5NLe-CY55n^?~LPDN@o}MG_*fpM05-je9!UnQDO*C%Wpio`SJSQy2Y-9^42x-W^9v&lShR1K^ zvmmOXMH`cUZq6!dmea&S^J82?3wh zFdF3(=s%5M7cJ(t170e@ATTGExpT*DllTOjUC z$tOm2w6BcYDwRqr&@?|o?y$p_khZb}lWRIO&o z!j#Y5;sH!dLJ*AvJSSj@LjhR|=YMU{^p{P$e78U%DtcTOCevo%E$Gv%dV5zC~dp8_hV&b zWUPpP$jJXtHIEl z0UEtTGKoAY^!S0U^k4JXR#U1gKWEkHxSm7MsBd2fbDElKc)8*bCd17NmoTk>*t>V{ z@;&*Bw&)}ropTDfed!81+l|Qezfnh%MeueH8s_C=T3qPZL1YDVB6iD;UTp!rfL=hac1}QB zKcf1xCd$VqsXSblA-_CS#sI z!A4g=(EGmMDyBO?yH^1k_eI|ktFGq2=0)P1gyS56_8LL63$zd-+M>xF0CZt;WZFIm z_y}kO66q7reE_^aTSK1^2JzxrQ`zfLlud!m<9(WV9N&a#!a*R>C>k|U;ZT& zDfZ}g+$)hp=HGu3?@-)`>q5D{U`-!s`TF z)JNa~noI~8V>&#yim}VuX&XEp<59cFnW_#_K;p2z1A+DpWQh+MZ_ZRN-Fvq4nms*s zuM@tZ5Gii}K~UDmF3>-I{HOrCL7)qD-T;kH0(yP|Xxkw=;CD6b>eLI<(bON0kI_vV zwm*dYg0`LG8{yTXRTw0>lNcv|#aXCG;s)^vulULH=g;*M*_7lbtHz~t63DRg&Eo1W zUc8X_!QaGf;-(yay3J!40j^0DPG)J!}R?`3tmS%SjjqLFpm;-f~&d3A42+JZYt1X}x(5GlLxOT@R9%}tk zfi}OfuB;X?`?F7kZtwBpHpoG{+dIeg`2!+Bw`)vE;mr${=(ekABevMbtphqXDe8EP znTS67{qDIqGFrugFBoWljG4GOXlFNEhHr>@Cj!gi=NsWJbf!o-i_P*2l#fAX=O(+4 z3Pmz|+h7j!j&oRWTK7?>JD6_+p)OYp2(GpZEEcZPNH2$ zmPD~T{y7lFry&F+}Z>Q^3>k?J{7GdDdWpzX;`ShyW>31KvU)?rAy3FY?ThCUVP zOvB#^;6viQo_G8D^(*qiQr=o?1eb!4lAfHl=`*myU)b>|`P;qZiol39&7%^n72Dhd z8vPMOHg0rDi)bL;rNlFP{-oX>eq3WZOwP&KN%SaCFOLBdiZo-p)hBn7Z*WMtI7FV4 zq#d@v0n=TeX(YsddKc*S*h8H-s*0>rZ8w zQd}hs_FDcwtDB0Nb3Eyiq>>C0RldUl1xb3XJ??wp9FR_bm>umk-a%qP=d^*H4lDeB zE>?$q_{bDQcpLnMo#Dn);cd-7j4JZQ&zW2sp1*(phKLt{uNUL$tDl@{(xVwCJylAS zWF4yC{(qwcMuXcH)InJ2R3`u~PR}di;_k)WL6sH6;J;Xok60zj{K0455#* z)8G?i;K|W{Px|uW?dVj;t<7rsXAzcz=!1km2KX(K!Q}K9LyH+68jz&5wOdpO^pi!w zm#^bgjX8l$Ffh&&3%1R5rZFXU898NZZ+2k_Y3ig74rIPU7=iY&B0Jl_i= zIvp~9Dg~Qu@9Z)xETR_qJrU5HGLT}2mD*CJ89*QcI{fqJ&z&Zff)pSZ9yf`Ol;Z_L z*QkVd29W4A`Vf)Z%Js^x1T|a+B}0XEj3LsR3||(FoLf?k%5ag@p{5` zcaIABi2>w!_=Y@fWRf>yk{UJ-=3_v6k+v;ISx*5p3DU`2ZiX#rCu1E5Pv(d8w9P#x6)02xWAF?{L1cFgy^`I*Kb$Zy`f@fN&VUI+SP zEJ=2#YL4`s1cLfHkwg;~&NkYRD~kkwK~2J^gewQU9G;R4TIB7Z{0*K8{lR_Xdou38 ze~SrtNuU78ml^~&fwo+Ou5isVptjxwN+a_MGnMspyJ? zy~h@s0klO;E=VR4Sf|NNFajKyQAS7m=sHBo?dCakz~dn-O>sBMpmsyd!hpOSGSU}%wGL$Sp zdvJ_#wa~m&2Xes$Y(WF8B@58bzI3chUcGvS=@N6I%?HB!vw&W00lk2KUTp!rfL=ha zwt!whueN|*Krf(ITR<Roc7u06f0M6nv@T|vjy})O;VsVs{@nYoZRtL zZLf9d+<;b(NM@Q1z$5~S)jfOmOgO1TDq%b+wZ30K zUr}IAg0tj2sm8^9G&ovOT8;`RmIW(N{E?cI1&FPQBVQ zjhu?ZNdr2ag-p6F(l7NP6Ib#x_QXMAuN`#r*t<0&Sv?@z~%z*5($pvW@p@mg~yUpdx3(N9L<#Yi+K18L=Cpd!2*PE0T% zXu-Qa@GqijC9K`EyfLcg*G)L$cACpl-T2vSNTp={*$ z@882tnya6?KHr4{b&C8}H&-NCp|{S5Z?kSy+j=&CcK3zpX#O+Oy;(?*h?)BL3}XRTO})ou!!LZGw?P`b)^U5n(=!xNtH}>< ze#I0yDbQwv%}KxzOT5* z;S@lBSHEmNR>I$01ZB>bD_5#o3!X(`u=5p6*}yw)6iR9GOH>Ep9viEJD!)?XQ#&V; zXm{FNCt;?_4mAZ=PH@`D0uwl(t)=!FCazoGz18%3i=o1i&$5nFWK<-EcW`mUU%%FjP!_Tdh_ob>5WCS|mcp!f*O%sZR7 zs4$TW^O$d}8fs6LaPdvryosJc=9SPnW~`YiRgwJ{EScd!R8s{Am;$6@jS(U!2_CEA9LabsR}9Sl$bl!~et4LI9?mA*yR(jVdF<6DoIq;%Zw3 z!919^pilJQgSkn)Gob*tzf7yh{*_%qu@ETlwj1sDlDn4$Q2bkKm>UglhLv%}jlEq@>W@H0YYV8>E!eTKKm@tl7ZP(1Xb$zyGW~j;b zVSr{=ncSPcSzUn6AcaNK`u#RV**Gfsqa!l+(hwG{;~G;h18K|a;7zgrhXESHX1z6= zP4ErqX3^__CX&Nb!i#Bjh;5@ zopxOyVvPFk==uy2>Vi4%F*4XiVOZ!0&cgtWPb)SR+z`W?0TIyX0D86+*oSq# zr#uhXb35hW6gUxB36!3H^L;>Yt$EeDL@@;%Z)&st{ri_S%@QB=ihMRhfXM-~kG63m zY(O^N<}OAhH1R7Sy#@84DlaMaNtxgTJ!45Ld$DyOQJ*%Wmd_g!F zvVah#0)1?IbcJWd6%l$r7cpVXIvmuAz!Va#Zk53IW>FaHQ3rc_K0kJ#LQi?nEO=%Ez;xN42Am#Vr>g07(UzG!dw}j?} zxC0;pj^;5P`I1t9^5(AKOZ;AcR9pyyA03TV``-Sj`ibmQ9WL%tq|(IYVMufX%cZ`2 z`7*qpd<@$X?&5%Sz?nnp!AhL<6Sad33o3dT&>J_btaG%Zg||iZkGiv+u&EJH*VYC~ zh*xD)uaus!88ZZ>XX8BJy5eIo)TkgLe3693z>ioTuR-%bI!>4e$^#(%)HGGF>kOF3 z(;3vrVumZpakT~X0(t?x+5&n3z1jl$A=>`{X|2`2-vKnQ00000NkvXXu0mjfE?)J_ diff --git a/tests/ref/set-instantiation-site-markup.png b/tests/ref/set-instantiation-site-markup.png index 180444b99a97c9d16817a1827434e1609df1475f..95193e5cd70415ac52d51d3c98abbe99367c4198 100644 GIT binary patch delta 1119 zcmV-l1fcu82prM$bekaPl(34|rHK%y+sIDmo5B>@5B;sQJ{4jm*x3J8!CJk_`ehC+y3uEMLm`X#B^n(+Ac^f}m18jn|@M!A)e zXnb1?Z-6!7s-+v};7p8o_o8*;=NLY_f`z6N#4)i2IHDZ+q~){$A;+% zN`ivpWk*{=zJDcBA{2-K3$OqS@P8QAb}SeZ5^V)bTo#NqU)l&Zr#X*c{?pWDpkLpk zqahFm?^zG-odN*LyQInVKA)B9dT(Py?%JtYII-IAsK2a^A z;)X!g%Dku&Yr%sKp#ab=1&>Y~b?oUE)pK$dmcM9&9eom$JoEl<1)fa+<0R~2#JVeG40LHz;Jawoj-9{JV%`;R&;5BEIj z4*;*VfpQ&jr6@m_Z=gPyOesDk67u}5vt#4@)m@tvA#DcV7_-c;&Y@f4VGIe?f6~-! z7=2lGX~L@Csk(leiR!9JbNz73otkP@Rh1%Ant!~PyBBZUxhNnVh+%E}YV80mCh!<`Ov;F0+$0hjhTlV zLGAfPhtEN`+Lg)++c*>{UvX;iVc}cP27k`MCfN#I4687|VuI=Asr}o9Bmq14o+uu?Le3mNf`Ll{aEtM z&2xdc*D4mf<9=}gXs@Bm&eZ}H;@<3x!PCW5Nt!4X*P}Tt)x(51V=PlVj3T`)N1iDj l`y<;ZG?xGiumIa8e*slsRnc zn1@VT1}5zyk4ILfC6*j41ZPU0{xq?tGDs0cY|*55Z_B0vqdDOj7wIw_RFHzVLOr{a zszmlHb&g<8_=e5)WjF^t{zE+5MXiKjv%@ru0e~a}_@W1$Eg2!~?a%CE;G8FxddE&`K-6yW0=f6b_b{<7SSxh30GklLEX%rJv;v%50h!0G z0Ivshud2kqMCn?K?;@=!JUPd2rP3Jg{#b4XcwSToz|7kK?~TNWdgi3K(d6>%RJqz0 z&zXt+lYef5riUACwgF&#MGI`uBv(PLd^5L>kyBvs*7|AXeofa@riZoZ9RMIshDI?7 z3fiNwr6nBcC0%s=EH`#w)R=L{MrlSx5z`04)nf-s{IACc%p5tg$?HCSh2cs#lv%EZ0=cQhwr6)fjL ztA8nA#P7~wJj(w>euO*Zz+uzz9x{cDnitzf4D?GDP%5;*YnO|B+r9ALdH zw+T2?MR_vpQe#g;Jnl2AhSdiY0FbET;fCXejRu@_pm9Wz%HBS)4B5p6M|f=-fRqZ# zQo(gf{{eNexWD|4hd;@N`b0`2vq}Kj=AlELqubM_zsil)Tz;n=x$F5mp!#gzR4w4{ u35pJ7ZE6j6of3zR3(Y0K0xZC59R3>^-rTFQTd`*V0000