about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo>2021-10-06 17:43:13 +0200
committerMichael Woerister <michaelwoerister@posteo>2021-10-07 11:27:35 +0200
commita1e2c0f0ad9e787b5ff2844112fc2324511adf34 (patch)
treeb31f42b31744d97575a2d5e6eec7e9cb9a5d67f9 /src
parenta4797664ba9c7d71e586122853858eeb6c153bb9 (diff)
Remove untracked vtable-const-allocation cache from tcx
Diffstat (limited to 'src')
-rw-r--r--src/test/incremental/reorder_vtable.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/incremental/reorder_vtable.rs b/src/test/incremental/reorder_vtable.rs
new file mode 100644
index 00000000000..a550fe6f01c
--- /dev/null
+++ b/src/test/incremental/reorder_vtable.rs
@@ -0,0 +1,27 @@
+// revisions:rpass1 rpass2
+
+trait Foo {
+    #[cfg(rpass1)]
+    fn method1(&self) -> u32;
+
+    fn method2(&self) -> u32;
+
+    #[cfg(rpass2)]
+    fn method1(&self) -> u32;
+}
+
+impl Foo for u32 {
+    fn method1(&self) -> u32 { 17 }
+    fn method2(&self) -> u32 { 42 }
+}
+
+fn main() {
+    let x: &dyn Foo = &0u32;
+    assert_eq!(mod1::foo(x), 17);
+}
+
+mod mod1 {
+    pub fn foo(x: &dyn super::Foo) -> u32 {
+        x.method1()
+    }
+}