|
| 1 | +#![allow(non_snake_case)] |
| 2 | + |
| 3 | +// Ensures that we don't spend an unnecessary amount of compiler time building |
| 4 | +// suggestions for mistyped methods. This used to happen because when we had method |
| 5 | +// lookup failures, we would do subsequent method lookups, and those would themselves |
| 6 | +// do extra work that was unnecessary for the purposes of suggestions. |
| 7 | +// Fixed by #125100. |
| 8 | + |
| 9 | +macro_rules! traits{ |
| 10 | +($($name:ident),*) =>{ |
| 11 | + $( |
| 12 | +trait $name{ |
| 13 | +fn $name(&self); |
| 14 | +} |
| 15 | +)* |
| 16 | +} |
| 17 | +} |
| 18 | + |
| 19 | +traits!( |
| 20 | +A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20, |
| 21 | +A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,A32,A33,A34,A35,A36,A37,A38,A39, |
| 22 | +A40,A41,A42,A43,A44,A45,A46,A47,A48,A49,A50,A51,A52,A53,A54,A55,A56,A57,A58, |
| 23 | +A59,A60,A61,A62,A63,A64,A65,A66,A67,A68,A69,A70,A71,A72,A73,A74,A75,A76,A77, |
| 24 | +A78,A79,A80,A81,A82,A83,A84,A85,A86,A87,A88,A89,A90,A91,A92,A93,A94,A95,A96, |
| 25 | +A97,A98,A99,A100,A101,A102,A103,A104,A105,A106,A107,A108,A109,A110,A111,A112, |
| 26 | +A113,A114,A115,A116,A117,A118,A119,A120,A121,A122,A123,A124,A125,A126,A127,A128, |
| 27 | +A129,A130,A131,A132,A133,A134,A135,A136,A137,A138,A139,A140,A141,A142,A143,A144, |
| 28 | +A145,A146,A147,A148,A149,A150,A151,A152,A153,A154,A155,A156,A157,A158,A159,A160, |
| 29 | +A161,A162,A163,A164,A165,A166,A167,A168,A169,A170,A171,A172,A173,A174,A175,A176, |
| 30 | +A177,A178,A179,A180,A181,A182,A183,A184,A185,A186,A187,A188,A189,A190,A191,A192, |
| 31 | +A193,A194,A195,A196,A197,A198,A199,A200,A201,A202,A203,A204,A205,A206,A207,A208, |
| 32 | +A209,A210,A211,A212,A213,A214,A215,A216,A217,A218,A219,A220,A221,A222,A223,A224, |
| 33 | +A225,A226,A227,A228,A229,A230,A231,A232,A233,A234,A235,A236,A237,A238,A239,A240, |
| 34 | +A241,A242,A243,A244,A245,A246,A247,A248,A249,A250,A251,A252,A253,A254,A255,A256, |
| 35 | +A257,A258,A259,A260,A261,A262,A263,A264,A265,A266,A267,A268,A269,A270,A271,A272, |
| 36 | +A273,A274,A275,A276,A277,A278,A279,A280,A281,A282,A283,A284,A285,A286,A287,A288, |
| 37 | +A289,A290,A291,A292,A293,A294,A295,A296,A297,A298,A299,A300,A301,A302,A303,A304, |
| 38 | +A305,A306,A307,A308,A309,A310,A311,A312,A313,A314,A315,A316,A317,A318,A319,A320, |
| 39 | +A321,A322,A323,A324,A325,A326,A327,A328,A329,A330,A331,A332,A333,A334,A335,A336, |
| 40 | +A337,A338,A339,A340,A341,A342,A343,A344,A345,A346,A347,A348,A349,A350,A351,A352, |
| 41 | +A353,A354,A355,A356,A357,A358,A359,A360,A361,A362,A363,A364,A365,A366,A367,A368, |
| 42 | +A369,A370,A371,A372,A373,A374,A375,A376,A377,A378,A379,A380,A381,A382,A383,A384, |
| 43 | +A385,A386,A387,A388,A389,A390,A391,A392,A393,A394,A395,A396,A397,A398,A399,A400, |
| 44 | +A401,A402,A403,A404,A405,A406,A407,A408,A409,A410,A411,A412,A413,A414,A415,A416, |
| 45 | +A417,A418,A419,A420,A421,A422,A423,A424,A425,A426,A427,A428,A429,A430,A431,A432, |
| 46 | +A433,A434,A435,A436,A437,A438,A439,A440,A441,A442,A443,A444,A445,A446,A447,A448, |
| 47 | +A449,A450,A451,A452,A453,A454,A455,A456,A457,A458,A459,A460,A461,A462,A463,A464, |
| 48 | +A465,A466,A467,A468,A469,A470,A471,A472,A473,A474,A475,A476,A477,A478,A479,A480, |
| 49 | +A481,A482,A483,A484,A485,A486,A487,A488,A489,A490,A491,A492,A493,A494,A495,A496, |
| 50 | +A497,A498,A499,A500,A501,A502,A503,A504,A505,A506,A507,A508,A509,A510,A511,A512, |
| 51 | +A513,A514,A515,A516,A517,A518,A519,A520,A521,A522,A523,A524,A525,A526,A527,A528, |
| 52 | +A529,A530,A531,A532,A533,A534,A535,A536,A537,A538,A539,A540,A541,A542,A543,A544, |
| 53 | +A545,A546,A547,A548,A549,A550,A551,A552,A553,A554,A555,A556,A557,A558,A559,A560, |
| 54 | +A561,A562,A563,A564,A565,A566,A567,A568,A569,A570,A571,A572,A573,A574,A575,A576, |
| 55 | +A577,A578,A579,A580,A581,A582,A583,A584,A585,A586,A587,A588,A589,A590,A591,A592, |
| 56 | +A593,A594,A595,A596,A597,A598,A599,A600,A601,A602,A603,A604,A605,A606,A607,A608, |
| 57 | +A609,A610,A611,A612,A613,A614,A615,A616,A617,A618,A619,A620,A621,A622,A623,A624, |
| 58 | +A625,A626,A627,A628,A629,A630,A631,A632,A633,A634,A635,A636,A637,A638,A639,A640, |
| 59 | +A641,A642,A643,A644,A645,A646,A647,A648,A649,A650,A651,A652,A653,A654,A655,A656, |
| 60 | +A657,A658,A659,A660,A661,A662,A663,A664,A665,A666,A667,A668,A669,A670,A671,A672, |
| 61 | +A673,A674,A675,A676,A677,A678,A679,A680,A681,A682,A683,A684,A685,A686,A687,A688, |
| 62 | +A689,A690,A691,A692,A693,A694,A695,A696,A697,A698,A699,A700,A701,A702,A703,A704, |
| 63 | +A705,A706,A707,A708,A709,A710,A711,A712,A713,A714,A715,A716,A717,A718,A719,A720, |
| 64 | +A721,A722,A723,A724,A725,A726,A727,A728,A729,A730,A731,A732,A733,A734,A735,A736, |
| 65 | +A737,A738,A739,A740,A741,A742,A743,A744,A745,A746,A747,A748,A749,A750,A751,A752, |
| 66 | +A753,A754,A755,A756,A757,A758,A759,A760,A761,A762,A763,A764,A765,A766,A767,A768, |
| 67 | +A769,A770,A771,A772,A773,A774,A775,A776,A777,A778,A779,A780,A781,A782,A783,A784, |
| 68 | +A785,A786,A787,A788,A789,A790,A791,A792,A793,A794,A795,A796,A797,A798,A799,A800, |
| 69 | +A801,A802,A803,A804,A805,A806,A807,A808,A809,A810,A811,A812,A813,A814,A815,A816, |
| 70 | +A817,A818,A819,A820,A821,A822,A823,A824,A825,A826,A827,A828,A829,A830,A831,A832, |
| 71 | +A833,A834,A835,A836,A837,A838,A839,A840,A841,A842,A843,A844,A845,A846,A847,A848, |
| 72 | +A849,A850,A851,A852,A853,A854,A855,A856,A857,A858,A859,A860,A861,A862,A863,A864, |
| 73 | +A865,A866,A867,A868,A869,A870,A871,A872,A873,A874,A875,A876,A877,A878,A879,A880, |
| 74 | +A881,A882,A883,A884,A885,A886,A887,A888,A889,A890,A891,A892,A893,A894,A895,A896, |
| 75 | +A897,A898,A899,A900,A901,A902,A903,A904,A905,A906,A907,A908,A909,A910,A911,A912, |
| 76 | +A913,A914,A915,A916,A917,A918,A919,A920,A921,A922,A923,A924,A925,A926,A927,A928, |
| 77 | +A929,A930,A931,A932,A933,A934,A935,A936,A937,A938,A939,A940,A941,A942,A943,A944, |
| 78 | +A945,A946,A947,A948,A949,A950,A951,A952,A953,A954,A955,A956,A957,A958,A959,A960, |
| 79 | +A961,A962,A963,A964,A965,A966,A967,A968,A969,A970,A971,A972,A973,A974,A975,A976, |
| 80 | +A977,A978,A979,A980,A981,A982,A983,A984,A985,A986,A987,A988,A989,A990,A991,A992, |
| 81 | +A993,A994,A995,A996,A997,A998,A999 |
| 82 | +); |
| 83 | + |
| 84 | +#[derive(Default)] |
| 85 | +structM0{ |
| 86 | +m1:M1, |
| 87 | +m2:M1, |
| 88 | +m3:M1, |
| 89 | +m4:M1, |
| 90 | +m5:M1, |
| 91 | +m6:M1, |
| 92 | +m7:M1, |
| 93 | +m8:M1, |
| 94 | +m9:M1, |
| 95 | +m10:M1, |
| 96 | +m11:M1, |
| 97 | +m12:M1, |
| 98 | +m13:M1, |
| 99 | +m14:M1, |
| 100 | +m15:M1, |
| 101 | +} |
| 102 | + |
| 103 | +#[derive(Default)] |
| 104 | +structM1{ |
| 105 | +m1:M2, |
| 106 | +m2:M2, |
| 107 | +m3:M2, |
| 108 | +m4:M2, |
| 109 | +m5:M2, |
| 110 | +m6:M2, |
| 111 | +m7:M2, |
| 112 | +m8:M2, |
| 113 | +m9:M2, |
| 114 | +m10:M2, |
| 115 | +m11:M2, |
| 116 | +m12:M2, |
| 117 | +m13:M2, |
| 118 | +m14:M2, |
| 119 | +m15:M2, |
| 120 | +} |
| 121 | + |
| 122 | +#[derive(Default)] |
| 123 | +structM2{ |
| 124 | +m1:M3, |
| 125 | +m2:M3, |
| 126 | +m3:M3, |
| 127 | +m4:M3, |
| 128 | +m5:M3, |
| 129 | +m6:M3, |
| 130 | +m7:M3, |
| 131 | +m8:M3, |
| 132 | +m9:M3, |
| 133 | +m10:M3, |
| 134 | +m11:M3, |
| 135 | +m12:M3, |
| 136 | +m13:M3, |
| 137 | +m14:M3, |
| 138 | +m15:M3, |
| 139 | +} |
| 140 | + |
| 141 | +#[derive(Default)] |
| 142 | +structM3{} |
| 143 | + |
| 144 | +fnmain(){ |
| 145 | +M0::default().Au(); |
| 146 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 147 | +M0::default().Au(); |
| 148 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 149 | +M0::default().Au(); |
| 150 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 151 | +M0::default().Au(); |
| 152 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 153 | +M0::default().Au(); |
| 154 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 155 | +M0::default().Au(); |
| 156 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 157 | +M0::default().Au(); |
| 158 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 159 | +M0::default().Au(); |
| 160 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 161 | +M0::default().Au(); |
| 162 | +//~^ ERROR no method named `Au` found for struct `M0` in the current scope |
| 163 | +} |