This PR adds a test replicating Kim's diamond dependency example. The top-level package, `D`, depends on two intermediate packages, `B` and `C`, which each require semantically different versions of another package, `A`. The portion of `A` that `B` and `C` publicly use is unchanged across the versions, but they both privately make use of changed API. Currently, this causes a version clash. This will be made to work without error later this quarter.
11 lines
275 B
Text
11 lines
275 B
Text
module
|
||
|
||
public import DiamondExampleA.Ring.Defs
|
||
import DiamondExampleA.Ring.Lemmas
|
||
|
||
open Ring
|
||
|
||
public theorem foo [Ring α] (a b c d : α) : a + (b + (c + d)) = b + c + a + d := by
|
||
rw [poorly_named_lemma]
|
||
rw [poorly_named_lemma a c d]
|
||
rw [← add_assoc, ← add_assoc]
|