File: generics-match-ambiguity.js

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (88 lines) | stat: -rw-r--r-- 3,162 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
// ignore-order
// exact-check

// Make sure that results are order-agnostic, even when there's search items that only differ
// by generics.

const EXPECTED = [
    {
        'query': 'Wrap',
        'in_args': [
            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
        ],
    },
    {
        'query': 'Wrap<i32>',
        'in_args': [
            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
        ],
    },
    {
        'query': 'Wrap<i32>, Wrap<i32, u32>',
        'others': [
            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
        ],
    },
    {
        'query': 'Wrap<i32, u32>, Wrap<i32>',
        'others': [
            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
        ],
    },
    {
        'query': 'W3<i32>, W3<i32, u32>',
        'others': [
            { 'path': 'generics_match_ambiguity', 'name': 'baaa' },
            { 'path': 'generics_match_ambiguity', 'name': 'baab' },
            { 'path': 'generics_match_ambiguity', 'name': 'baac' },
            { 'path': 'generics_match_ambiguity', 'name': 'baad' },
            { 'path': 'generics_match_ambiguity', 'name': 'baae' },
            { 'path': 'generics_match_ambiguity', 'name': 'baaf' },
            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
        ],
    },
    {
        'query': 'W3<i32, u32>, W3<i32>',
        'others': [
            { 'path': 'generics_match_ambiguity', 'name': 'baaa' },
            { 'path': 'generics_match_ambiguity', 'name': 'baab' },
            { 'path': 'generics_match_ambiguity', 'name': 'baac' },
            { 'path': 'generics_match_ambiguity', 'name': 'baad' },
            { 'path': 'generics_match_ambiguity', 'name': 'baae' },
            { 'path': 'generics_match_ambiguity', 'name': 'baaf' },
            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
        ],
    },
    {
        // strict generics matching; W2<i32, u32> doesn't match W2<W3<i32, u32>>,
        // even though W2<i32> works just fine (ignoring the W3)
        'query': 'W2<i32>, W2<i32, u32>',
        'others': [],
    },
    {
        'query': 'W2<i32, u32>, W2<i32>',
        'others': [],
    },
    {
        'query': 'W2<i32>, W3<i32, u32>',
        'others': [
            { 'path': 'generics_match_ambiguity', 'name': 'baac' },
            { 'path': 'generics_match_ambiguity', 'name': 'baaf' },
            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
        ],
    },
    {
        'query': 'W2<i32>, W2<i32>',
        'others': [
            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
        ],
    },
];