mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-03 18:43:38 +00:00
Regression test for #58435.
This commit is contained in:
parent
a9da8fc9c2
commit
b129de47a0
17
src/test/run-pass/issues/issue-58435-ice-with-assoc-const.rs
Normal file
17
src/test/run-pass/issues/issue-58435-ice-with-assoc-const.rs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// The const-evaluator was at one point ICE'ing while trying to
|
||||||
|
// evaluate the body of `fn id` during the `s.id()` call in main.
|
||||||
|
|
||||||
|
struct S<T>(T);
|
||||||
|
|
||||||
|
impl<T> S<T> {
|
||||||
|
const ID: fn(&S<T>) -> &S<T> = |s| s;
|
||||||
|
pub fn id(&self) -> &Self {
|
||||||
|
Self::ID(self) // This, plus call below ...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let s = S(10u32);
|
||||||
|
assert!(S::<u32>::ID(&s).0 == 10); // Works fine
|
||||||
|
assert!(s.id().0 == 10); // ... causes compiler to panic
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user