Skip to content

Commit 17fe180

Browse files
authored
fix: correct constructor diagnostics for overloads (#731)
1 parent 376a929 commit 17fe180

83 files changed

Lines changed: 6657 additions & 2160 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/diagnostics.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -445,10 +445,10 @@ impl DiagnosticDocNodeVisitor<'_, '_> {
445445
if def.constructors.len() == 1 {
446446
self.visit_class_ctor_def(&def.constructors[0]);
447447
} else if !def.constructors.is_empty() {
448-
// skip the first one
449-
let ctors = &def.constructors[1..];
450-
for ctor in ctors {
451-
self.visit_class_ctor_def(ctor);
448+
for ctor in &def.constructors {
449+
if !ctor.has_body {
450+
self.visit_class_ctor_def(ctor);
451+
}
452452
}
453453
}
454454

src/html/templates/icons/arrow.svg

Lines changed: 12 additions & 6 deletions
Loading

src/html/templates/icons/check.svg

Lines changed: 14 additions & 3 deletions
Loading

src/html/templates/icons/copy.svg

Lines changed: 14 additions & 4 deletions
Loading

src/html/templates/icons/moon.svg

Lines changed: 11 additions & 3 deletions
Loading

src/html/templates/icons/sun.svg

Lines changed: 36 additions & 11 deletions
Loading

tests/snapshots/html_test__html_doc_dts-2.snap

Lines changed: 59 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,18 @@ expression: files.get(file_name).unwrap()
2121
<ul><li><a href=".&#x2F;uncategorized.html" title="Uncategorized">Uncategorized</a></li><li>
2222
<a class="!flex items-center gap-0.5" href=".&#x2F;all_symbols.html">
2323
<span class="leading-none">view all 2 symbols</span><svg
24-
width="16"
25-
height="16"
26-
viewBox="0 0 16 16"
27-
fill="none"
28-
xmlns="http://www.w3.org/2000/svg">
29-
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
24+
width="16"
25+
height="16"
26+
viewBox="0 0 16 16"
27+
fill="none"
28+
xmlns="http://www.w3.org/2000/svg"
29+
>
30+
<path
31+
fill-rule="evenodd"
32+
clip-rule="evenodd"
33+
d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z"
34+
fill="currentColor"
35+
/>
3036
</svg>
3137
</a>
3238
</li>
@@ -38,21 +44,54 @@ expression: files.get(file_name).unwrap()
3844
</div>
3945

4046
<div class="flex items-center gap-2">
41-
<button id="theme-toggle" type="button" aria-label="Toggle dark mode" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
42-
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
43-
<path d="M12 1.992a10 10 0 1 0 9.236 13.838c.341 -.82 -.476 -1.644 -1.298 -1.31a6.5 6.5 0 0 1 -6.864 -10.787l.077 -.08c.551 -.63 .113 -1.653 -.758 -1.653h-.266l-.068 -.006l-.06 -.002z" />
47+
<button id="theme-toggle" type="button" aria-label="Toggle dark mode" style="display: none;"><svg
48+
xmlns="http://www.w3.org/2000/svg"
49+
width="14"
50+
height="14"
51+
viewBox="0 0 24 24"
52+
fill="currentColor"
53+
>
54+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
55+
<path
56+
d="M12 1.992a10 10 0 1 0 9.236 13.838c.341 -.82 -.476 -1.644 -1.298 -1.31a6.5 6.5 0 0 1 -6.864 -10.787l.077 -.08c.551 -.63 .113 -1.653 -.758 -1.653h-.266l-.068 -.006l-.06 -.002z"
57+
/>
4458
</svg>
45-
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="currentColor" class=hidden>
46-
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
47-
<path d="M12 19a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z" />
48-
<path d="M18.313 16.91l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.218 -1.567l.102 .07z" />
49-
<path d="M7.007 16.993a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z" />
50-
<path d="M4 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z" />
51-
<path d="M21 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z" />
52-
<path d="M6.213 4.81l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.217 -1.567l.102 .07z" />
53-
<path d="M19.107 4.893a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z" />
54-
<path d="M12 2a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z" />
55-
<path d="M12 7a5 5 0 1 1 -4.995 5.217l-.005 -.217l.005 -.217a5 5 0 0 1 4.995 -4.783z" />
59+
<svg
60+
xmlns="http://www.w3.org/2000/svg"
61+
width="14"
62+
height="14"
63+
viewBox="0 0 24 24"
64+
fill="currentColor"
65+
class="hidden"
66+
>
67+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
68+
<path
69+
d="M12 19a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z"
70+
/>
71+
<path
72+
d="M18.313 16.91l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.218 -1.567l.102 .07z"
73+
/>
74+
<path
75+
d="M7.007 16.993a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z"
76+
/>
77+
<path
78+
d="M4 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z"
79+
/>
80+
<path
81+
d="M21 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z"
82+
/>
83+
<path
84+
d="M6.213 4.81l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.217 -1.567l.102 .07z"
85+
/>
86+
<path
87+
d="M19.107 4.893a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z"
88+
/>
89+
<path
90+
d="M12 2a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z"
91+
/>
92+
<path
93+
d="M12 7a5 5 0 1 1 -4.995 5.217l-.005 -.217l.005 -.217a5 5 0 0 1 4.995 -4.783z"
94+
/>
5695
</svg>
5796
</button>
5897

tests/snapshots/html_test__html_doc_dts-3.snap

Lines changed: 71 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,18 @@ expression: files.get(file_name).unwrap()
2121
<ul><li><a href="..&#x2F;.&#x2F;uncategorized.html" title="Uncategorized">Uncategorized</a></li><li>
2222
<a class="!flex items-center gap-0.5" href="..&#x2F;.&#x2F;all_symbols.html">
2323
<span class="leading-none">view all 2 symbols</span><svg
24-
width="16"
25-
height="16"
26-
viewBox="0 0 16 16"
27-
fill="none"
28-
xmlns="http://www.w3.org/2000/svg">
29-
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
24+
width="16"
25+
height="16"
26+
viewBox="0 0 16 16"
27+
fill="none"
28+
xmlns="http://www.w3.org/2000/svg"
29+
>
30+
<path
31+
fill-rule="evenodd"
32+
clip-rule="evenodd"
33+
d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z"
34+
fill="currentColor"
35+
/>
3036
</svg>
3137
</a>
3238
</li>
@@ -35,32 +41,71 @@ expression: files.get(file_name).unwrap()
3541
<div><nav id="topnav">
3642
<div class="h-full">
3743
<div class="flex items-center"><ul class="breadcrumbs"><li><a href="..&#x2F;" class="contextLink">index</a></li><span class="text-black dark:text-white"><svg
38-
width="16"
39-
height="16"
40-
viewBox="0 0 16 16"
41-
fill="none"
42-
xmlns="http://www.w3.org/2000/svg">
43-
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
44+
width="16"
45+
height="16"
46+
viewBox="0 0 16 16"
47+
fill="none"
48+
xmlns="http://www.w3.org/2000/svg"
49+
>
50+
<path
51+
fill-rule="evenodd"
52+
clip-rule="evenodd"
53+
d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z"
54+
fill="currentColor"
55+
/>
4456
</svg>
4557
</span><ul><li>ResponseInit</li></ul></ul>
4658
</div>
4759

4860
<div class="flex items-center gap-2">
49-
<button id="theme-toggle" type="button" aria-label="Toggle dark mode" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
50-
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
51-
<path d="M12 1.992a10 10 0 1 0 9.236 13.838c.341 -.82 -.476 -1.644 -1.298 -1.31a6.5 6.5 0 0 1 -6.864 -10.787l.077 -.08c.551 -.63 .113 -1.653 -.758 -1.653h-.266l-.068 -.006l-.06 -.002z" />
61+
<button id="theme-toggle" type="button" aria-label="Toggle dark mode" style="display: none;"><svg
62+
xmlns="http://www.w3.org/2000/svg"
63+
width="14"
64+
height="14"
65+
viewBox="0 0 24 24"
66+
fill="currentColor"
67+
>
68+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
69+
<path
70+
d="M12 1.992a10 10 0 1 0 9.236 13.838c.341 -.82 -.476 -1.644 -1.298 -1.31a6.5 6.5 0 0 1 -6.864 -10.787l.077 -.08c.551 -.63 .113 -1.653 -.758 -1.653h-.266l-.068 -.006l-.06 -.002z"
71+
/>
5272
</svg>
53-
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="currentColor" class=hidden>
54-
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
55-
<path d="M12 19a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z" />
56-
<path d="M18.313 16.91l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.218 -1.567l.102 .07z" />
57-
<path d="M7.007 16.993a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z" />
58-
<path d="M4 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z" />
59-
<path d="M21 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z" />
60-
<path d="M6.213 4.81l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.217 -1.567l.102 .07z" />
61-
<path d="M19.107 4.893a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z" />
62-
<path d="M12 2a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z" />
63-
<path d="M12 7a5 5 0 1 1 -4.995 5.217l-.005 -.217l.005 -.217a5 5 0 0 1 4.995 -4.783z" />
73+
<svg
74+
xmlns="http://www.w3.org/2000/svg"
75+
width="14"
76+
height="14"
77+
viewBox="0 0 24 24"
78+
fill="currentColor"
79+
class="hidden"
80+
>
81+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
82+
<path
83+
d="M12 19a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z"
84+
/>
85+
<path
86+
d="M18.313 16.91l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.218 -1.567l.102 .07z"
87+
/>
88+
<path
89+
d="M7.007 16.993a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z"
90+
/>
91+
<path
92+
d="M4 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z"
93+
/>
94+
<path
95+
d="M21 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z"
96+
/>
97+
<path
98+
d="M6.213 4.81l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.217 -1.567l.102 .07z"
99+
/>
100+
<path
101+
d="M19.107 4.893a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z"
102+
/>
103+
<path
104+
d="M12 2a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z"
105+
/>
106+
<path
107+
d="M12 7a5 5 0 1 1 -4.995 5.217l-.005 -.217l.005 -.217a5 5 0 0 1 4.995 -4.783z"
108+
/>
64109
</svg>
65110
</button>
66111

0 commit comments

Comments
 (0)