Skip to content

Commit 7268234

Browse files
vlad20012yopox
authored andcommitted
Raise the default recursion limit from 64 to 128
The limit has been raised in Rustc a long time ago: rust-lang/rust#62450 This affects macro expansion depth and trait solving depth
1 parent d542879 commit 7268234

File tree

2 files changed

+70
-6
lines changed

2 files changed

+70
-6
lines changed

src/main/kotlin/org/rust/lang/core/resolve/ImplLookup.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import kotlin.LazyThreadSafetyMode.PUBLICATION
3636
private val RsTraitItem.typeParamSingle: TyTypeParameter?
3737
get() = typeParameters.singleOrNull()?.let { TyTypeParameter.named(it) }
3838

39-
const val DEFAULT_RECURSION_LIMIT = 64
39+
const val DEFAULT_RECURSION_LIMIT = 128
4040

4141
// libcore/num/mod.rs (impl_from!)
4242
val HARDCODED_FROM_IMPLS_MAP: Map<TyPrimitive, List<TyPrimitive>> = run {

src/test/kotlin/org/rust/lang/core/dfa/RsControlFlowGraphTest.kt

Lines changed: 69 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1370,11 +1370,75 @@ class RsControlFlowGraphTest : RsTestBase() {
13701370
"68: infinite_macro ! ( )" -> "69: infinite_macro ! ( )";
13711371
"69: infinite_macro ! ( )" -> "70: infinite_macro ! ( )";
13721372
"70: infinite_macro ! ( )" -> "71: infinite_macro ! ( )";
1373-
"71: infinite_macro ! ( )" -> "72: infinite_macro ! ( );";
1374-
"72: infinite_macro ! ( );" -> "73: 2";
1375-
"73: 2" -> "74: 2;";
1376-
"74: 2;" -> "75: BLOCK";
1377-
"75: BLOCK" -> "1: Exit";
1373+
"71: infinite_macro ! ( )" -> "72: infinite_macro ! ( )";
1374+
"72: infinite_macro ! ( )" -> "73: infinite_macro ! ( )";
1375+
"73: infinite_macro ! ( )" -> "74: infinite_macro ! ( )";
1376+
"74: infinite_macro ! ( )" -> "75: infinite_macro ! ( )";
1377+
"75: infinite_macro ! ( )" -> "76: infinite_macro ! ( )";
1378+
"76: infinite_macro ! ( )" -> "77: infinite_macro ! ( )";
1379+
"77: infinite_macro ! ( )" -> "78: infinite_macro ! ( )";
1380+
"78: infinite_macro ! ( )" -> "79: infinite_macro ! ( )";
1381+
"79: infinite_macro ! ( )" -> "80: infinite_macro ! ( )";
1382+
"80: infinite_macro ! ( )" -> "81: infinite_macro ! ( )";
1383+
"81: infinite_macro ! ( )" -> "82: infinite_macro ! ( )";
1384+
"82: infinite_macro ! ( )" -> "83: infinite_macro ! ( )";
1385+
"83: infinite_macro ! ( )" -> "84: infinite_macro ! ( )";
1386+
"84: infinite_macro ! ( )" -> "85: infinite_macro ! ( )";
1387+
"85: infinite_macro ! ( )" -> "86: infinite_macro ! ( )";
1388+
"86: infinite_macro ! ( )" -> "87: infinite_macro ! ( )";
1389+
"87: infinite_macro ! ( )" -> "88: infinite_macro ! ( )";
1390+
"88: infinite_macro ! ( )" -> "89: infinite_macro ! ( )";
1391+
"89: infinite_macro ! ( )" -> "90: infinite_macro ! ( )";
1392+
"90: infinite_macro ! ( )" -> "91: infinite_macro ! ( )";
1393+
"91: infinite_macro ! ( )" -> "92: infinite_macro ! ( )";
1394+
"92: infinite_macro ! ( )" -> "93: infinite_macro ! ( )";
1395+
"93: infinite_macro ! ( )" -> "94: infinite_macro ! ( )";
1396+
"94: infinite_macro ! ( )" -> "95: infinite_macro ! ( )";
1397+
"95: infinite_macro ! ( )" -> "96: infinite_macro ! ( )";
1398+
"96: infinite_macro ! ( )" -> "97: infinite_macro ! ( )";
1399+
"97: infinite_macro ! ( )" -> "98: infinite_macro ! ( )";
1400+
"98: infinite_macro ! ( )" -> "99: infinite_macro ! ( )";
1401+
"99: infinite_macro ! ( )" -> "100: infinite_macro ! ( )";
1402+
"100: infinite_macro ! ( )" -> "101: infinite_macro ! ( )";
1403+
"101: infinite_macro ! ( )" -> "102: infinite_macro ! ( )";
1404+
"102: infinite_macro ! ( )" -> "103: infinite_macro ! ( )";
1405+
"103: infinite_macro ! ( )" -> "104: infinite_macro ! ( )";
1406+
"104: infinite_macro ! ( )" -> "105: infinite_macro ! ( )";
1407+
"105: infinite_macro ! ( )" -> "106: infinite_macro ! ( )";
1408+
"106: infinite_macro ! ( )" -> "107: infinite_macro ! ( )";
1409+
"107: infinite_macro ! ( )" -> "108: infinite_macro ! ( )";
1410+
"108: infinite_macro ! ( )" -> "109: infinite_macro ! ( )";
1411+
"109: infinite_macro ! ( )" -> "110: infinite_macro ! ( )";
1412+
"110: infinite_macro ! ( )" -> "111: infinite_macro ! ( )";
1413+
"111: infinite_macro ! ( )" -> "112: infinite_macro ! ( )";
1414+
"112: infinite_macro ! ( )" -> "113: infinite_macro ! ( )";
1415+
"113: infinite_macro ! ( )" -> "114: infinite_macro ! ( )";
1416+
"114: infinite_macro ! ( )" -> "115: infinite_macro ! ( )";
1417+
"115: infinite_macro ! ( )" -> "116: infinite_macro ! ( )";
1418+
"116: infinite_macro ! ( )" -> "117: infinite_macro ! ( )";
1419+
"117: infinite_macro ! ( )" -> "118: infinite_macro ! ( )";
1420+
"118: infinite_macro ! ( )" -> "119: infinite_macro ! ( )";
1421+
"119: infinite_macro ! ( )" -> "120: infinite_macro ! ( )";
1422+
"120: infinite_macro ! ( )" -> "121: infinite_macro ! ( )";
1423+
"121: infinite_macro ! ( )" -> "122: infinite_macro ! ( )";
1424+
"122: infinite_macro ! ( )" -> "123: infinite_macro ! ( )";
1425+
"123: infinite_macro ! ( )" -> "124: infinite_macro ! ( )";
1426+
"124: infinite_macro ! ( )" -> "125: infinite_macro ! ( )";
1427+
"125: infinite_macro ! ( )" -> "126: infinite_macro ! ( )";
1428+
"126: infinite_macro ! ( )" -> "127: infinite_macro ! ( )";
1429+
"127: infinite_macro ! ( )" -> "128: infinite_macro ! ( )";
1430+
"128: infinite_macro ! ( )" -> "129: infinite_macro ! ( )";
1431+
"129: infinite_macro ! ( )" -> "130: infinite_macro ! ( )";
1432+
"130: infinite_macro ! ( )" -> "131: infinite_macro ! ( )";
1433+
"131: infinite_macro ! ( )" -> "132: infinite_macro ! ( )";
1434+
"132: infinite_macro ! ( )" -> "133: infinite_macro ! ( )";
1435+
"133: infinite_macro ! ( )" -> "134: infinite_macro ! ( )";
1436+
"134: infinite_macro ! ( )" -> "135: infinite_macro ! ( )";
1437+
"135: infinite_macro ! ( )" -> "136: infinite_macro ! ( );";
1438+
"136: infinite_macro ! ( );" -> "137: 2";
1439+
"137: 2" -> "138: 2;";
1440+
"138: 2;" -> "139: BLOCK";
1441+
"139: BLOCK" -> "1: Exit";
13781442
"1: Exit" -> "2: Termination";
13791443
}
13801444
""")

0 commit comments

Comments
 (0)