Skip to content

ICE: IndexSet: index out of bounds', /rustc/8460ca823e8367a30dda430efda790588b8c84d3/compiler/rustc_span/src/span_encoding.rs #110230

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
deepink-mas opened this issue Apr 12, 2023 · 4 comments · Fixed by #110497
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@deepink-mas
Copy link

deepink-mas commented Apr 12, 2023

Put the following code in a new crate's src/main.rs and call 'cargo init'. Then 'cargo c' will ICE. I've tried to reduce further but it seems like if I remove any random line (even if it is a comment) the ICE goes away.

Code

// For backwards compatibility and tests
impl WeightInfo for () {
	/// Storage: NominationPools MinJoinBond (r:1 w:0)
	/// Proof: NominationPools MinJoinBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:1 w:0)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:2 w:1)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPoolMembersPerPool (r:1 w:0)
	/// Proof: NominationPools MaxPoolMembersPerPool (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPoolMembers (r:1 w:0)
	/// Proof: NominationPools MaxPoolMembers (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
	/// Proof: NominationPools CounterForPoolMembers (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// Storage: VoterList ListNodes (r:3 w:3)
	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
	/// Storage: VoterList ListBags (r:2 w:2)
	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
	fn join() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `3300`
		//  Estimated: `52435`
		// Minimum execution time: 160_675_000 picoseconds.
		Weight::from_parts(162_605_000, 52435)
			.saturating_add(RocksDbWeight::get().reads(18_u64))
			.saturating_add(RocksDbWeight::get().writes(12_u64))
	}
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:1 w:0)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:3 w:2)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// Storage: VoterList ListNodes (r:3 w:3)
	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
	/// Storage: VoterList ListBags (r:2 w:2)
	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
	fn bond_extra_transfer() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `3310`
		//  Estimated: `49070`
		// Minimum execution time: 156_820_000 picoseconds.
		Weight::from_parts(159_798_000, 49070)
			.saturating_add(RocksDbWeight::get().reads(15_u64))
			.saturating_add(RocksDbWeight::get().writes(12_u64))
	}
	/// Storage: NominationPools ClaimPermissions (r:1 w:0)
	/// Proof: NominationPools ClaimPermissions (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:1 w:0)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:3 w:3)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// Storage: VoterList ListNodes (r:3 w:3)
	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
	/// Storage: VoterList ListBags (r:2 w:2)
	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
	fn bond_extra_other() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `3375`
		//  Estimated: `52576`
		// Minimum execution time: 175_820_000 picoseconds.
		Weight::from_parts(177_378_000, 52576)
			.saturating_add(RocksDbWeight::get().reads(16_u64))
			.saturating_add(RocksDbWeight::get().writes(13_u64))
	}
	/// Storage: NominationPools ClaimPermissions (r:1 w:0)
	/// Proof: NominationPools ClaimPermissions (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:1 w:0)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:1 w:1)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	fn claim_payout() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `1171`
		//  Estimated: `19532`
		// Minimum execution time: 62_011_000 picoseconds.
		Weight::from_parts(62_680_000, 19532)
			.saturating_add(RocksDbWeight::get().reads(6_u64))
			.saturating_add(RocksDbWeight::get().writes(4_u64))
	}
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:1 w:0)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:2 w:1)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	/// Storage: Staking CurrentEra (r:1 w:0)
	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Staking Nominators (r:1 w:0)
	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
	/// Storage: Staking MinNominatorBond (r:1 w:0)
	/// Proof: Staking MinNominatorBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// Storage: VoterList ListNodes (r:3 w:3)
	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
	/// Storage: VoterList ListBags (r:2 w:2)
	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
	/// Storage: NominationPools SubPoolsStorage (r:1 w:1)
	/// Proof: NominationPools SubPoolsStorage (max_values: None, max_size: Some(24382), added: 26857, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForSubPoolsStorage (r:1 w:1)
	/// Proof: NominationPools CounterForSubPoolsStorage (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	fn unbond() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `3586`
		//  Estimated: `82816`
		// Minimum execution time: 163_294_000 picoseconds.
		Weight::from_parts(164_375_000, 82816)
			.saturating_add(RocksDbWeight::get().reads(19_u64))
			.saturating_add(RocksDbWeight::get().writes(13_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:0)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Staking CurrentEra (r:1 w:0)
	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// The range of component `s` is `[0, 100]`.
	fn pool_withdraw_unbonded(s: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `1687`
		//  Estimated: `18031`
		// Minimum execution time: 54_775_000 picoseconds.
		Weight::from_parts(55_724_944, 18031)
			// Standard Error: 536
			.saturating_add(Weight::from_parts(10_059, 0).saturating_mul(s.into()))
			.saturating_add(RocksDbWeight::get().reads(5_u64))
			.saturating_add(RocksDbWeight::get().writes(2_u64))
	}
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: Staking CurrentEra (r:1 w:0)
	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools SubPoolsStorage (r:1 w:1)
	/// Proof: NominationPools SubPoolsStorage (max_values: None, max_size: Some(24382), added: 26857, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// Storage: System Account (r:1 w:1)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
	/// Proof: NominationPools CounterForPoolMembers (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools ClaimPermissions (r:0 w:1)
	/// Proof: NominationPools ClaimPermissions (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)
	/// The range of component `s` is `[0, 100]`.
	fn withdraw_unbonded_update(s: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `2115`
		//  Estimated: `54662`
		// Minimum execution time: 106_820_000 picoseconds.
		Weight::from_parts(109_870_849, 54662)
			// Standard Error: 11_111
			.saturating_add(Weight::from_parts(2_006, 0).saturating_mul(s.into()))
			.saturating_add(RocksDbWeight::get().reads(9_u64))
			.saturating_add(RocksDbWeight::get().writes(8_u64))
	}
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: Staking CurrentEra (r:1 w:0)
	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools SubPoolsStorage (r:1 w:1)
	/// Proof: NominationPools SubPoolsStorage (max_values: None, max_size: Some(24382), added: 26857, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:1)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Staking SlashingSpans (r:1 w:0)
	/// Proof Skipped: Staking SlashingSpans (max_values: None, max_size: None, mode: Measured)
	/// Storage: Staking Validators (r:1 w:0)
	/// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen)
	/// Storage: Staking Nominators (r:1 w:0)
	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
	/// Storage: System Account (r:2 w:2)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
	/// Proof: NominationPools CounterForPoolMembers (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools ReversePoolIdLookup (r:1 w:1)
	/// Proof: NominationPools ReversePoolIdLookup (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForReversePoolIdLookup (r:1 w:1)
	/// Proof: NominationPools CounterForReversePoolIdLookup (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForRewardPools (r:1 w:1)
	/// Proof: NominationPools CounterForRewardPools (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForSubPoolsStorage (r:1 w:1)
	/// Proof: NominationPools CounterForSubPoolsStorage (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools Metadata (r:1 w:1)
	/// Proof: NominationPools Metadata (max_values: None, max_size: Some(270), added: 2745, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForBondedPools (r:1 w:1)
	/// Proof: NominationPools CounterForBondedPools (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Staking Payee (r:0 w:1)
	/// Proof: Staking Payee (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
	/// Storage: NominationPools ClaimPermissions (r:0 w:1)
	/// Proof: NominationPools ClaimPermissions (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)
	/// The range of component `s` is `[0, 100]`.
	fn withdraw_unbonded_kill(s: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `2470`
		//  Estimated: `87490`
		// Minimum execution time: 170_908_000 picoseconds.
		Weight::from_parts(173_616_555, 87490)
			// Standard Error: 2_324
			.saturating_add(Weight::from_parts(4_397, 0).saturating_mul(s.into()))
			.saturating_add(RocksDbWeight::get().reads(20_u64))
			.saturating_add(RocksDbWeight::get().writes(18_u64))
	}
	/// Storage: NominationPools LastPoolId (r:1 w:1)
	/// Proof: NominationPools LastPoolId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Staking MinNominatorBond (r:1 w:0)
	/// Proof: Staking MinNominatorBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: NominationPools MinCreateBond (r:1 w:0)
	/// Proof: NominationPools MinCreateBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: NominationPools MinJoinBond (r:1 w:0)
	/// Proof: NominationPools MinJoinBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPools (r:1 w:0)
	/// Proof: NominationPools MaxPools (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForBondedPools (r:1 w:1)
	/// Proof: NominationPools CounterForBondedPools (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools PoolMembers (r:1 w:1)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPoolMembersPerPool (r:1 w:0)
	/// Proof: NominationPools MaxPoolMembersPerPool (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPoolMembers (r:1 w:0)
	/// Proof: NominationPools MaxPoolMembers (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
	/// Proof: NominationPools CounterForPoolMembers (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:2 w:2)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:1)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:1)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Staking CurrentEra (r:1 w:0)
	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Balances Locks (r:1 w:1)
	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForRewardPools (r:1 w:1)
	/// Proof: NominationPools CounterForRewardPools (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools ReversePoolIdLookup (r:1 w:1)
	/// Proof: NominationPools ReversePoolIdLookup (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForReversePoolIdLookup (r:1 w:1)
	/// Proof: NominationPools CounterForReversePoolIdLookup (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: Staking Payee (r:0 w:1)
	/// Proof: Staking Payee (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
	fn create() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `1289`
		//  Estimated: `51410`
		// Minimum execution time: 148_934_000 picoseconds.
		Weight::from_parts(149_702_000, 51410)
			.saturating_add(RocksDbWeight::get().reads(21_u64))
			.saturating_add(RocksDbWeight::get().writes(15_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:0)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:0)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Staking MinNominatorBond (r:1 w:0)
	/// Proof: Staking MinNominatorBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: Staking Nominators (r:1 w:1)
	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
	/// Storage: Staking MaxNominatorsCount (r:1 w:0)
	/// Proof: Staking MaxNominatorsCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Staking Validators (r:17 w:0)
	/// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen)
	/// Storage: Staking CurrentEra (r:1 w:0)
	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: VoterList ListNodes (r:1 w:1)
	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
	/// Storage: VoterList ListBags (r:1 w:1)
	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
	/// Storage: VoterList CounterForListNodes (r:1 w:1)
	/// Proof: VoterList CounterForListNodes (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: Staking CounterForNominators (r:1 w:1)
	/// Proof: Staking CounterForNominators (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// The range of component `n` is `[1, 16]`.
	fn nominate(n: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `1849`
		//  Estimated: `33934 + n * (2520 ±0)`
		// Minimum execution time: 68_986_000 picoseconds.
		Weight::from_parts(69_474_269, 33934)
			// Standard Error: 6_602
			.saturating_add(Weight::from_parts(1_416_294, 0).saturating_mul(n.into()))
			.saturating_add(RocksDbWeight::get().reads(12_u64))
			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
			.saturating_add(RocksDbWeight::get().writes(5_u64))
			.saturating_add(Weight::from_parts(0, 2520).saturating_mul(n.into()))
	}
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:0)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	fn set_state() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `1438`
		//  Estimated: `11778`
		// Minimum execution time: 36_300_000 picoseconds.
		Weight::from_parts(36_713_000, 11778)
			.saturating_add(RocksDbWeight::get().reads(3_u64))
			.saturating_add(RocksDbWeight::get().writes(1_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:0)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools Metadata (r:1 w:1)
	/// Proof: NominationPools Metadata (max_values: None, max_size: Some(270), added: 2745, mode: MaxEncodedLen)
	/// Storage: NominationPools CounterForMetadata (r:1 w:1)
	/// Proof: NominationPools CounterForMetadata (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// The range of component `n` is `[1, 256]`.
	fn set_metadata(n: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `531`
		//  Estimated: `8909`
		// Minimum execution time: 14_976_000 picoseconds.
		Weight::from_parts(15_538_088, 8909)
			// Standard Error: 71
			.saturating_add(Weight::from_parts(1_548, 0).saturating_mul(n.into()))
			.saturating_add(RocksDbWeight::get().reads(3_u64))
			.saturating_add(RocksDbWeight::get().writes(2_u64))
	}
	/// Storage: NominationPools MinJoinBond (r:0 w:1)
	/// Proof: NominationPools MinJoinBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPoolMembers (r:0 w:1)
	/// Proof: NominationPools MaxPoolMembers (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPoolMembersPerPool (r:0 w:1)
	/// Proof: NominationPools MaxPoolMembersPerPool (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools MinCreateBond (r:0 w:1)
	/// Proof: NominationPools MinCreateBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:0 w:1)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: NominationPools MaxPools (r:0 w:1)
	/// Proof: NominationPools MaxPools (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	fn set_configs() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `0`
		//  Estimated: `0`
		// Minimum execution time: 7_259_000 picoseconds.
		Weight::from_parts(7_499_000, 0)
			.saturating_add(RocksDbWeight::get().writes(6_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	fn update_roles() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `531`
		//  Estimated: `3685`
		// Minimum execution time: 20_454_000 picoseconds.
		Weight::from_parts(20_771_000, 3685)
			.saturating_add(RocksDbWeight::get().reads(1_u64))
			.saturating_add(RocksDbWeight::get().writes(1_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:0)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: Staking Bonded (r:1 w:0)
	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
	/// Storage: Staking Ledger (r:1 w:0)
	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
	/// Storage: Staking Validators (r:1 w:0)
	/// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen)
	/// Storage: Staking Nominators (r:1 w:1)
	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
	/// Storage: Staking CounterForNominators (r:1 w:1)
	/// Proof: Staking CounterForNominators (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: VoterList ListNodes (r:1 w:1)
	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
	/// Storage: VoterList ListBags (r:1 w:1)
	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
	/// Storage: VoterList CounterForListNodes (r:1 w:1)
	/// Proof: VoterList CounterForListNodes (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	fn chill() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `2012`
		//  Estimated: `29455`
		// Minimum execution time: 66_404_000 picoseconds.
		Weight::from_parts(66_872_000, 29455)
			.saturating_add(RocksDbWeight::get().reads(9_u64))
			.saturating_add(RocksDbWeight::get().writes(5_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:1 w:0)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:1 w:0)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	fn set_commission() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `770`
		//  Estimated: `12324`
		// Minimum execution time: 34_240_000 picoseconds.
		Weight::from_parts(34_797_000, 12324)
			.saturating_add(RocksDbWeight::get().reads(4_u64))
			.saturating_add(RocksDbWeight::get().writes(2_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	fn set_commission_max() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `571`
		//  Estimated: `3685`
		// Minimum execution time: 19_469_000 picoseconds.
		Weight::from_parts(19_865_000, 3685)
			.saturating_add(RocksDbWeight::get().reads(1_u64))
			.saturating_add(RocksDbWeight::get().writes(1_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:1)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	fn set_commission_change_rate() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `531`
		//  Estimated: `3685`
		// Minimum execution time: 20_423_000 picoseconds.
		Weight::from_parts(20_620_000, 3685)
			.saturating_add(RocksDbWeight::get().reads(1_u64))
			.saturating_add(RocksDbWeight::get().writes(1_u64))
	}
	/// Storage: NominationPools PoolMembers (r:1 w:0)
	/// Proof: NominationPools PoolMembers (max_values: None, max_size: Some(237), added: 2712, mode: MaxEncodedLen)
	/// Storage: NominationPools ClaimPermissions (r:1 w:1)
	/// Proof: NominationPools ClaimPermissions (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)
	fn set_claim_permission() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `542`
		//  Estimated: `7208`
		// Minimum execution time: 15_346_000 picoseconds.
		Weight::from_parts(15_613_000, 7208)
			.saturating_add(RocksDbWeight::get().reads(2_u64))
			.saturating_add(RocksDbWeight::get().writes(1_u64))
	}
	/// Storage: NominationPools BondedPools (r:1 w:0)
	/// Proof: NominationPools BondedPools (max_values: None, max_size: Some(220), added: 2695, mode: MaxEncodedLen)
	/// Storage: NominationPools RewardPools (r:1 w:1)
	/// Proof: NominationPools RewardPools (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
	/// Storage: NominationPools GlobalMaxCommission (r:1 w:0)
	/// Proof: NominationPools GlobalMaxCommission (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
	/// Storage: System Account (r:1 w:1)
	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
	fn claim_commission() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `968`
		//  Estimated: `12324`
		// Minimum execution time: 48_749_000 picoseconds.
		Weight::from_parts(49_131_000, 12324)
			.saturating_add(RocksDbWeight::get().reads(4_u64))
			.saturating_add(RocksDbWeight::get().writes(2_u64))
	}
}

Meta

rustc --version --verbose:

rustc 1.68.1-nightly (8460ca823 2023-03-20) (gentoo)
binary: rustc
commit-hash: 8460ca823e8367a30dda430efda790588b8c84d3
commit-date: 2023-03-20
host: x86_64-unknown-linux-gnu
release: 1.68.1-nightly
LLVM version: 15.0.7

Error output

    Checking ICE v0.1.0 (/home/werk/Code/ICE)
error[E0405]: cannot find trait `WeightInfo` in this scope
 --> src/main.rs:2:6
  |
2 | impl WeightInfo for () {
  |      ^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
  --> src/main.rs:31:15
   |
31 |     fn join() -> Weight {
   |                  ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
  --> src/main.rs:60:30
   |
60 |     fn bond_extra_transfer() -> Weight {
   |                                 ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
  --> src/main.rs:91:27
   |
91 |     fn bond_extra_other() -> Weight {
   |                              ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:112:23
    |
112 |     fn claim_payout() -> Weight {
    |                          ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:151:17
    |
151 |     fn unbond() -> Weight {
    |                    ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:171:41
    |
171 |     fn pool_withdraw_unbonded(s: u32, ) -> Weight {
    |                                            ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:203:43
    |
203 |     fn withdraw_unbonded_update(s: u32, ) -> Weight {
    |                                              ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:257:41
    |
257 |     fn withdraw_unbonded_kill(s: u32, ) -> Weight {
    |                                            ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:310:17
    |
310 |     fn create() -> Weight {
    |                    ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:344:27
    |
344 |     fn nominate(n: u32, ) -> Weight {
    |                              ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:363:20
    |
363 |     fn set_state() -> Weight {
    |                       ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:379:31
    |
379 |     fn set_metadata(n: u32, ) -> Weight {
    |                                  ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:402:22
    |
402 |     fn set_configs() -> Weight {
    |                         ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:412:23
    |
412 |     fn update_roles() -> Weight {
    |                          ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:439:16
    |
439 |     fn chill() -> Weight {
    |                   ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:456:25
    |
456 |     fn set_commission() -> Weight {
    |                            ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:467:29
    |
467 |     fn set_commission_max() -> Weight {
    |                                ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:478:37
    |
478 |     fn set_commission_change_rate() -> Weight {
    |                                        ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:491:31
    |
491 |     fn set_claim_permission() -> Weight {
    |                                  ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:508:27
    |
508 |     fn claim_commission() -> Weight {
    |                              ^^^^^^ not found in this scope

thread 'rustc' panicked at 'IndexSet: index out of bounds', /rustc/8460ca823e8367a30dda430efda790588b8c84d3/compiler/rustc_span/src/span_encoding.rs:171:43
stack backtrace:
   0:     0x7f7f9417169a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h242e92bfcd76c25c
   1:     0x7f7f941d0f2e - core::fmt::write::hc7ee4725bf6ec055
   2:     0x7f7f941636b5 - <unknown>
   3:     0x7f7f94171465 - <unknown>
   4:     0x7f7f9417422f - <unknown>
   5:     0x7f7f94173f6b - std::panicking::default_hook::h0942c91941751b73
   6:     0x7f7f949ce725 - <unknown>
   7:     0x7f7f94174a0a - std::panicking::rust_panic_with_hook::h6c1ecda8df88c71e
   8:     0x7f7f94174789 - <unknown>
   9:     0x7f7f94171b4c - <unknown>
  10:     0x7f7f94174492 - rust_begin_unwind
  11:     0x7f7f94136933 - core::panicking::panic_fmt::h75045854e17762a6
  12:     0x7f7f941cde01 - <unknown>
  13:     0x7f7f941cddab - <unknown>
  14:     0x7f7f941368f6 - core::option::expect_failed::h75554d3e7513dd7b
  15:     0x7f7f95438752 - <unknown>
  16:     0x7f7f95452e15 - <unknown>
  17:     0x7f7f953f7aa6 - <unknown>
  18:     0x7f7f9541c378 - <unknown>
  19:     0x7f7f9542450d - <unknown>
  20:     0x7f7f9545374f - <unknown>
  21:     0x7f7f9541b7b8 - rustc_ast_lowering[a87ba9146a712fc5]::lower_to_hir
  22:     0x7f7f960ba9ef - <unknown>
  23:     0x7f7f963498f3 - <unknown>
  24:     0x7f7f95ff76be - <unknown>
  25:     0x7f7f9729b400 - <unknown>
  26:     0x7f7f96081f1c - <unknown>
  27:     0x7f7f96348ca5 - <unknown>
  28:     0x7f7f95ff7b90 - <unknown>
  29:     0x7f7f97194466 - <rustc_middle[c475cd1495d17e2a]::hir::map::Map>::attrs
  30:     0x7f7f957ed253 - <unknown>
  31:     0x7f7f960b52a4 - <unknown>
  32:     0x7f7f96343833 - <unknown>
  33:     0x7f7f96001264 - <unknown>
  34:     0x7f7f94aa34a2 - <unknown>
  35:     0x7f7f94aa68c0 - <unknown>
  36:     0x7f7f94a8ebf6 - rustc_interface[e2ff45a6b04e9c5e]::passes::analysis
  37:     0x7f7f960b582b - <unknown>
  38:     0x7f7f9634096b - <unknown>
  39:     0x7f7f95ff800e - <unknown>
  40:     0x7f7f949553bb - <unknown>
  41:     0x7f7f949a316a - <unknown>
  42:     0x7f7f949a22af - <unknown>
  43:     0x7f7f94997f35 - <unknown>
  44:     0x7f7f94950630 - <unknown>
  45:     0x7f7f9493439d - <unknown>
  46:     0x7f7f9417e873 - <unknown>
  47:     0x7f7f93f68258 - <unknown>
  48:     0x7f7f93fe6eec - <unknown>
  49:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.68.1-nightly (8460ca823 2023-03-20) (gentoo) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
thread 'rustc' panicked at 'already borrowed: BorrowMutError', /rustc/8460ca823e8367a30dda430efda790588b8c84d3/compiler/rustc_query_system/src/query/plumbing.rs:193:43
stack backtrace:
   0:     0x7f7f9417169a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h242e92bfcd76c25c
   1:     0x7f7f941d0f2e - core::fmt::write::hc7ee4725bf6ec055
   2:     0x7f7f941636b5 - <unknown>
   3:     0x7f7f94171465 - <unknown>
   4:     0x7f7f9417422f - <unknown>
   5:     0x7f7f94173f6b - std::panicking::default_hook::h0942c91941751b73
   6:     0x7f7f949ce725 - <unknown>
   7:     0x7f7f94174a0a - std::panicking::rust_panic_with_hook::h6c1ecda8df88c71e
   8:     0x7f7f94174789 - <unknown>
   9:     0x7f7f94171b4c - <unknown>
  10:     0x7f7f94174492 - rust_begin_unwind
  11:     0x7f7f94136933 - core::panicking::panic_fmt::h75045854e17762a6
  12:     0x7f7f94136de3 - core::result::unwrap_failed::hd9eb388624b0558a
  13:     0x7f7f96349012 - <unknown>
  14:     0x7f7f95ff7b90 - <unknown>
  15:     0x7f7f97194466 - <rustc_middle[c475cd1495d17e2a]::hir::map::Map>::attrs
  16:     0x7f7f9718d284 - <unknown>
  17:     0x7f7f960b9820 - <unknown>
  18:     0x7f7f9633ca90 - <unknown>
  19:     0x7f7f96005083 - <unknown>
  20:     0x7f7f972629f9 - <rustc_middle[c475cd1495d17e2a]::ty::context::TyCtxt>::type_length_limit
  21:     0x7f7f971f9fb1 - rustc_middle[c475cd1495d17e2a]::query::descs::hir_attrs
  22:     0x7f7f961454dd - <unknown>
  23:     0x7f7f96139c26 - <unknown>
  24:     0x7f7f95f43499 - <unknown>
  25:     0x7f7f94aa01bf - rustc_interface[e2ff45a6b04e9c5e]::interface::try_print_query_stack
  26:     0x7f7f949cf57a - rustc_driver[ba33e5f0ea0d3e62]::report_ice
  27:     0x7f7f94174a0a - std::panicking::rust_panic_with_hook::h6c1ecda8df88c71e
  28:     0x7f7f94174789 - <unknown>
  29:     0x7f7f94171b4c - <unknown>
  30:     0x7f7f94174492 - rust_begin_unwind
  31:     0x7f7f94136933 - core::panicking::panic_fmt::h75045854e17762a6
  32:     0x7f7f941cde01 - <unknown>
  33:     0x7f7f941cddab - <unknown>
  34:     0x7f7f941368f6 - core::option::expect_failed::h75554d3e7513dd7b
  35:     0x7f7f95438752 - <unknown>
  36:     0x7f7f95452e15 - <unknown>
  37:     0x7f7f953f7aa6 - <unknown>
  38:     0x7f7f9541c378 - <unknown>
  39:     0x7f7f9542450d - <unknown>
  40:     0x7f7f9545374f - <unknown>
  41:     0x7f7f9541b7b8 - rustc_ast_lowering[a87ba9146a712fc5]::lower_to_hir
  42:     0x7f7f960ba9ef - <unknown>
  43:     0x7f7f963498f3 - <unknown>
  44:     0x7f7f95ff76be - <unknown>
  45:     0x7f7f9729b400 - <unknown>
  46:     0x7f7f96081f1c - <unknown>
  47:     0x7f7f96348ca5 - <unknown>
  48:     0x7f7f95ff7b90 - <unknown>
  49:     0x7f7f97194466 - <rustc_middle[c475cd1495d17e2a]::hir::map::Map>::attrs
  50:     0x7f7f957ed253 - <unknown>
  51:     0x7f7f960b52a4 - <unknown>
  52:     0x7f7f96343833 - <unknown>
  53:     0x7f7f96001264 - <unknown>
  54:     0x7f7f94aa34a2 - <unknown>
  55:     0x7f7f94aa68c0 - <unknown>
  56:     0x7f7f94a8ebf6 - rustc_interface[e2ff45a6b04e9c5e]::passes::analysis
  57:     0x7f7f960b582b - <unknown>
  58:     0x7f7f9634096b - <unknown>
  59:     0x7f7f95ff800e - <unknown>
  60:     0x7f7f949553bb - <unknown>
  61:     0x7f7f949a316a - <unknown>
  62:     0x7f7f949a22af - <unknown>
  63:     0x7f7f94997f35 - <unknown>
  64:     0x7f7f94950630 - <unknown>
  65:     0x7f7f9493439d - <unknown>
  66:     0x7f7f9417e873 - <unknown>
  67:     0x7f7f93f68258 - <unknown>
  68:     0x7f7f93fe6eec - <unknown>
  69:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.68.1-nightly (8460ca823 2023-03-20) (gentoo) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [limits] looking up limits
#1 [hir_crate] getting the crate HIR
end of query stack
thread panicked while panicking. aborting.
error: could not compile `ICE` due to 21 previous errors

Caused by:
  process didn't exit successfully: `rustc --crate-name ICE --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=254 --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C metadata=08df37aa47daef5c -C extra-filename=-08df37aa47daef5c --out-dir /home/werk/Code/ICE/target/debug/deps -C incremental=/home/werk/Code/ICE/target/debug/incremental -L dependency=/home/werk/Code/ICE/target/debug/deps` (signal: 6, SIGABRT: process abort signal)
Backtrace

    Checking ICE v0.1.0 (/home/werk/Code/ICE)
error[E0405]: cannot find trait `WeightInfo` in this scope
 --> src/main.rs:2:6
  |
2 | impl WeightInfo for () {
  |      ^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
  --> src/main.rs:31:15
   |
31 |     fn join() -> Weight {
   |                  ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
  --> src/main.rs:60:30
   |
60 |     fn bond_extra_transfer() -> Weight {
   |                                 ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
  --> src/main.rs:91:27
   |
91 |     fn bond_extra_other() -> Weight {
   |                              ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:112:23
    |
112 |     fn claim_payout() -> Weight {
    |                          ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:151:17
    |
151 |     fn unbond() -> Weight {
    |                    ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:171:41
    |
171 |     fn pool_withdraw_unbonded(s: u32, ) -> Weight {
    |                                            ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:203:43
    |
203 |     fn withdraw_unbonded_update(s: u32, ) -> Weight {
    |                                              ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:257:41
    |
257 |     fn withdraw_unbonded_kill(s: u32, ) -> Weight {
    |                                            ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:310:17
    |
310 |     fn create() -> Weight {
    |                    ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:344:27
    |
344 |     fn nominate(n: u32, ) -> Weight {
    |                              ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:363:20
    |
363 |     fn set_state() -> Weight {
    |                       ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:379:31
    |
379 |     fn set_metadata(n: u32, ) -> Weight {
    |                                  ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:402:22
    |
402 |     fn set_configs() -> Weight {
    |                         ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:412:23
    |
412 |     fn update_roles() -> Weight {
    |                          ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:439:16
    |
439 |     fn chill() -> Weight {
    |                   ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:456:25
    |
456 |     fn set_commission() -> Weight {
    |                            ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:467:29
    |
467 |     fn set_commission_max() -> Weight {
    |                                ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:478:37
    |
478 |     fn set_commission_change_rate() -> Weight {
    |                                        ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:491:31
    |
491 |     fn set_claim_permission() -> Weight {
    |                                  ^^^^^^ not found in this scope

error[E0412]: cannot find type `Weight` in this scope
   --> src/main.rs:508:27
    |
508 |     fn claim_commission() -> Weight {
    |                              ^^^^^^ not found in this scope

thread 'rustc' panicked at 'IndexSet: index out of bounds', /rustc/8460ca823e8367a30dda430efda790588b8c84d3/compiler/rustc_span/src/span_encoding.rs:171:43
stack backtrace:
   0:     0x7fdc6d82c69a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h242e92bfcd76c25c
   1:     0x7fdc6d88bf2e - core::fmt::write::hc7ee4725bf6ec055
   2:     0x7fdc6d81e6b5 - <unknown>
   3:     0x7fdc6d82c465 - <unknown>
   4:     0x7fdc6d82f22f - <unknown>
   5:     0x7fdc6d82ef6b - std::panicking::default_hook::h0942c91941751b73
   6:     0x7fdc6e089725 - <unknown>
   7:     0x7fdc6d82fa0a - std::panicking::rust_panic_with_hook::h6c1ecda8df88c71e
   8:     0x7fdc6d82f789 - <unknown>
   9:     0x7fdc6d82cb4c - <unknown>
  10:     0x7fdc6d82f492 - rust_begin_unwind
  11:     0x7fdc6d7f1933 - core::panicking::panic_fmt::h75045854e17762a6
  12:     0x7fdc6d888e01 - <unknown>
  13:     0x7fdc6d888dab - <unknown>
  14:     0x7fdc6d7f18f6 - core::option::expect_failed::h75554d3e7513dd7b
  15:     0x7fdc6eaf3752 - <unknown>
  16:     0x7fdc6eb0de15 - <unknown>
  17:     0x7fdc6eab2aa6 - <unknown>
  18:     0x7fdc6ead7378 - <unknown>
  19:     0x7fdc6eadf50d - <unknown>
  20:     0x7fdc6eb0e74f - <unknown>
  21:     0x7fdc6ead67b8 - rustc_ast_lowering[a87ba9146a712fc5]::lower_to_hir
  22:     0x7fdc6f7759ef - <unknown>
  23:     0x7fdc6fa048f3 - <unknown>
  24:     0x7fdc6f6b26be - <unknown>
  25:     0x7fdc70956400 - <unknown>
  26:     0x7fdc6f73cf1c - <unknown>
  27:     0x7fdc6fa03ca5 - <unknown>
  28:     0x7fdc6f6b2b90 - <unknown>
  29:     0x7fdc7084f466 - <rustc_middle[c475cd1495d17e2a]::hir::map::Map>::attrs
  30:     0x7fdc6eea8253 - <unknown>
  31:     0x7fdc6f7702a4 - <unknown>
  32:     0x7fdc6f9fe833 - <unknown>
  33:     0x7fdc6f6bc264 - <unknown>
  34:     0x7fdc6e15e4a2 - <unknown>
  35:     0x7fdc6e1618c0 - <unknown>
  36:     0x7fdc6e149bf6 - rustc_interface[e2ff45a6b04e9c5e]::passes::analysis
  37:     0x7fdc6f77082b - <unknown>
  38:     0x7fdc6f9fb96b - <unknown>
  39:     0x7fdc6f6b300e - <unknown>
  40:     0x7fdc6e0103bb - <unknown>
  41:     0x7fdc6e05e16a - <unknown>
  42:     0x7fdc6e05d2af - <unknown>
  43:     0x7fdc6e052f35 - <unknown>
  44:     0x7fdc6e00b630 - <unknown>
  45:     0x7fdc6dfef39d - <unknown>
  46:     0x7fdc6d839873 - <unknown>
  47:     0x7fdc6d623258 - <unknown>
  48:     0x7fdc6d6a1eec - <unknown>
  49:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.68.1-nightly (8460ca823 2023-03-20) (gentoo) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
thread 'rustc' panicked at 'already borrowed: BorrowMutError', /rustc/8460ca823e8367a30dda430efda790588b8c84d3/compiler/rustc_query_system/src/query/plumbing.rs:193:43
stack backtrace:
   0:     0x7fdc6d82c69a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h242e92bfcd76c25c
   1:     0x7fdc6d88bf2e - core::fmt::write::hc7ee4725bf6ec055
   2:     0x7fdc6d81e6b5 - <unknown>
   3:     0x7fdc6d82c465 - <unknown>
   4:     0x7fdc6d82f22f - <unknown>
   5:     0x7fdc6d82ef6b - std::panicking::default_hook::h0942c91941751b73
   6:     0x7fdc6e089725 - <unknown>
   7:     0x7fdc6d82fa0a - std::panicking::rust_panic_with_hook::h6c1ecda8df88c71e
   8:     0x7fdc6d82f789 - <unknown>
   9:     0x7fdc6d82cb4c - <unknown>
  10:     0x7fdc6d82f492 - rust_begin_unwind
  11:     0x7fdc6d7f1933 - core::panicking::panic_fmt::h75045854e17762a6
  12:     0x7fdc6d7f1de3 - core::result::unwrap_failed::hd9eb388624b0558a
  13:     0x7fdc6fa04012 - <unknown>
  14:     0x7fdc6f6b2b90 - <unknown>
  15:     0x7fdc7084f466 - <rustc_middle[c475cd1495d17e2a]::hir::map::Map>::attrs
  16:     0x7fdc70848284 - <unknown>
  17:     0x7fdc6f774820 - <unknown>
  18:     0x7fdc6f9f7a90 - <unknown>
  19:     0x7fdc6f6c0083 - <unknown>
  20:     0x7fdc7091d9f9 - <rustc_middle[c475cd1495d17e2a]::ty::context::TyCtxt>::type_length_limit
  21:     0x7fdc708b4fb1 - rustc_middle[c475cd1495d17e2a]::query::descs::hir_attrs
  22:     0x7fdc6f8004dd - <unknown>
  23:     0x7fdc6f7f4c26 - <unknown>
  24:     0x7fdc6f5fe499 - <unknown>
  25:     0x7fdc6e15b1bf - rustc_interface[e2ff45a6b04e9c5e]::interface::try_print_query_stack
  26:     0x7fdc6e08a57a - rustc_driver[ba33e5f0ea0d3e62]::report_ice
  27:     0x7fdc6d82fa0a - std::panicking::rust_panic_with_hook::h6c1ecda8df88c71e
  28:     0x7fdc6d82f789 - <unknown>
  29:     0x7fdc6d82cb4c - <unknown>
  30:     0x7fdc6d82f492 - rust_begin_unwind
  31:     0x7fdc6d7f1933 - core::panicking::panic_fmt::h75045854e17762a6
  32:     0x7fdc6d888e01 - <unknown>
  33:     0x7fdc6d888dab - <unknown>
  34:     0x7fdc6d7f18f6 - core::option::expect_failed::h75554d3e7513dd7b
  35:     0x7fdc6eaf3752 - <unknown>
  36:     0x7fdc6eb0de15 - <unknown>
  37:     0x7fdc6eab2aa6 - <unknown>
  38:     0x7fdc6ead7378 - <unknown>
  39:     0x7fdc6eadf50d - <unknown>
  40:     0x7fdc6eb0e74f - <unknown>
  41:     0x7fdc6ead67b8 - rustc_ast_lowering[a87ba9146a712fc5]::lower_to_hir
  42:     0x7fdc6f7759ef - <unknown>
  43:     0x7fdc6fa048f3 - <unknown>
  44:     0x7fdc6f6b26be - <unknown>
  45:     0x7fdc70956400 - <unknown>
  46:     0x7fdc6f73cf1c - <unknown>
  47:     0x7fdc6fa03ca5 - <unknown>
  48:     0x7fdc6f6b2b90 - <unknown>
  49:     0x7fdc7084f466 - <rustc_middle[c475cd1495d17e2a]::hir::map::Map>::attrs
  50:     0x7fdc6eea8253 - <unknown>
  51:     0x7fdc6f7702a4 - <unknown>
  52:     0x7fdc6f9fe833 - <unknown>
  53:     0x7fdc6f6bc264 - <unknown>
  54:     0x7fdc6e15e4a2 - <unknown>
  55:     0x7fdc6e1618c0 - <unknown>
  56:     0x7fdc6e149bf6 - rustc_interface[e2ff45a6b04e9c5e]::passes::analysis
  57:     0x7fdc6f77082b - <unknown>
  58:     0x7fdc6f9fb96b - <unknown>
  59:     0x7fdc6f6b300e - <unknown>
  60:     0x7fdc6e0103bb - <unknown>
  61:     0x7fdc6e05e16a - <unknown>
  62:     0x7fdc6e05d2af - <unknown>
  63:     0x7fdc6e052f35 - <unknown>
  64:     0x7fdc6e00b630 - <unknown>
  65:     0x7fdc6dfef39d - <unknown>
  66:     0x7fdc6d839873 - <unknown>
  67:     0x7fdc6d623258 - <unknown>
  68:     0x7fdc6d6a1eec - <unknown>
  69:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.68.1-nightly (8460ca823 2023-03-20) (gentoo) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [limits] looking up limits
#1 [hir_crate] getting the crate HIR
end of query stack
thread panicked while panicking. aborting.
error: could not compile `ICE` due to 21 previous errors

Caused by:
  process didn't exit successfully: `rustc --crate-name ICE --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=254 --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C metadata=08df37aa47daef5c -C extra-filename=-08df37aa47daef5c --out-dir /home/werk/Code/ICE/target/debug/deps -C incremental=/home/werk/Code/ICE/target/debug/incremental -L dependency=/home/werk/Code/ICE/target/debug/deps` (signal: 6, SIGABRT: process abort signal)

@deepink-mas deepink-mas added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 12, 2023
@deepink-mas
Copy link
Author

deepink-mas commented Apr 12, 2023

I noticed there is an older bug that is probably the same: #100715.

@jyn514 jyn514 changed the title ICE when checking pallet-nomination-pools ICE: IndexSet: index out of bounds', /rustc/8460ca823e8367a30dda430efda790588b8c84d3/compiler/rustc_span/src/span_encoding.rs Apr 12, 2023
@deepink-mas
Copy link
Author

So like I said this ICE is extremely sensitive to the exact number of characters and lines. The contents of those lines seems to matter less; it is possible to replace most comment and identifier characters with another character (I tried 'x') as long as the total number of characters stays the same. Likewise, a tab can be replaced with a space.

The code that triggers is the last code line in this function (from https://github.com/rust-lang/rust/blob/1.68.1/compiler/rustc_span/src/span_encoding.rs):

    /// Internal function to translate between an encoded span and the expanded representation.
    /// This function must not be used outside the incremental engine.
    #[inline]
    pub fn data_untracked(self) -> SpanData {
        if self.len_or_tag != LEN_TAG {
            // Inline format.
            if self.len_or_tag & PARENT_MASK == 0 {
                debug_assert!(self.len_or_tag as u32 <= MAX_LEN);
                SpanData {
                    lo: BytePos(self.base_or_index),
                    hi: BytePos(self.base_or_index + self.len_or_tag as u32),
                    ctxt: SyntaxContext::from_u32(self.ctxt_or_tag as u32),
                    parent: None,
                }
            } else {
                let len = self.len_or_tag & !PARENT_MASK;
                debug_assert!(len as u32 <= MAX_LEN);
                let parent =
                    LocalDefId { local_def_index: DefIndex::from_u32(self.ctxt_or_tag as u32) };
                SpanData {
                    lo: BytePos(self.base_or_index),
                    hi: BytePos(self.base_or_index + len as u32),
                    ctxt: SyntaxContext::root(),
                    parent: Some(parent),
                }
            }
        } else {
            // Interned format.
            let index = self.base_or_index;
            with_span_interner(|interner| interner.spans[index as usize]) // *** THIS LINE ***
        }
    }

with_span_interner calls a function on the SpanInterner it gets from with_session_globals which gets it from thread-local-storage

// If an interner exists, return it. Otherwise, prepare a fresh one.
#[inline]
fn with_span_interner<T, F: FnOnce(&mut SpanInterner) -> T>(f: F) -> T {
    crate::with_session_globals(|session_globals| f(&mut session_globals.span_interner.lock()))
}

A SpanInterner wraps a FxIndexSet of SpanData:

#[derive(Default)]
pub struct SpanInterner {
    spans: FxIndexSet<SpanData>,
}

which is just an indexmap::IndexSet with the FxHasher (https://github.com/rust-lang/rust/blob/1.68.1/compiler/rustc_data_structures/src/fx.rs#L8)

pub type FxIndexSet<V> = indexmap::IndexSet<V, BuildHasherDefault<FxHasher>>;

The indexmap version is "1.9.2" (https://github.com/rust-lang/rust/blob/1.68.1/Cargo.lock#L2156)

[[package]]
name = "indexmap"
version = "1.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
dependencies = [
 "autocfg",
 "hashbrown 0.12.3",
 "rustc-rayon",
 "serde",
]

The latest version is 1.9.3, but it does not seem to contain any relevant changes (indexmap-rs/indexmap@1.9.2...1.9.3).

indexmap uses hashbrown for its hashtable, which may mean that this bug ultimately comes from hashbrown.

@cjgillot
Copy link
Contributor

A bug in hashbrown is very unlikely. Do you have a backtrace with symbol names?
This may also come from incorrect logic in Span::ctxt.

@deepink-mas
Copy link
Author

deepink-mas commented Apr 19, 2023

@cjgillot Are you able to reproduce the issue given my test case? Can you explain what goes wrong?

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Apr 22, 2023
Refactor `SyntaxContext::ctxt` logic.

I'm still trying to make a test from the issue.

cc `@deepink-mas` does this solve the issue?

Fixes rust-lang#110230
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Apr 22, 2023
Refactor `SyntaxContext::ctxt` logic.

I'm still trying to make a test from the issue.

cc ``@deepink-mas`` does this solve the issue?

Fixes rust-lang#110230
compiler-errors added a commit to compiler-errors/rust that referenced this issue Apr 22, 2023
Refactor `SyntaxContext::ctxt` logic.

I'm still trying to make a test from the issue.

cc ```@deepink-mas``` does this solve the issue?

Fixes rust-lang#110230
@bors bors closed this as completed in f12a7fa Apr 23, 2023
RalfJung pushed a commit to RalfJung/miri that referenced this issue Apr 24, 2023
Refactor `SyntaxContext::ctxt` logic.

I'm still trying to make a test from the issue.

cc `@deepink-mas` does this solve the issue?

Fixes rust-lang/rust#110230
RalfJung pushed a commit to RalfJung/rust-analyzer that referenced this issue Apr 20, 2024
Refactor `SyntaxContext::ctxt` logic.

I'm still trying to make a test from the issue.

cc `@deepink-mas` does this solve the issue?

Fixes rust-lang/rust#110230
RalfJung pushed a commit to RalfJung/rust-analyzer that referenced this issue Apr 27, 2024
Refactor `SyntaxContext::ctxt` logic.

I'm still trying to make a test from the issue.

cc `@deepink-mas` does this solve the issue?

Fixes rust-lang/rust#110230
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants