This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,3 @@
From Coq Require Import String.
Local Open Scope string_scope.
Definition message := "I am the the private A ".

View file

@ -0,0 +1,4 @@
(coq.theory
(name A)
(package A))

View file

@ -0,0 +1,7 @@
From Coq Require Import String.
From A Require Import a.
Local Open Scope string_scope.
Print message.

View file

@ -0,0 +1,3 @@
(coq.theory
(name B)
(package B))

View file

@ -0,0 +1,4 @@
From C Require Import A.
From Coq Require Import String.
Local Open Scope string_scope.
Definition message := "I am the vendored A".

View file

@ -0,0 +1,4 @@
(coq.theory
(name A)
(theories C))

View file

@ -0,0 +1,7 @@
From Coq Require Import String.
From A Require Import a.
Local Open Scope string_scope.
Print message.

View file

@ -0,0 +1,6 @@
(coq.theory
(name C)
(package C)
(theories B))

View file

@ -0,0 +1,2 @@
(lang dune 3.3)
(using coq 0.4)

View file

@ -0,0 +1,67 @@
Testing ambiguous composition of private and public theories
1. theory `A` is public belonging to `A/dune-project`
2. theory `B` is public belong to `B/dune-project`.
2. theory `C` is public belonging to `C/dune-project` and depends on `B`.
3. theory `A` is private belonging to `C/dune-project` and depends on `C`.
Currently Dune does not detect this issue, so passes invalid flags to coqdep
which complains.
$ dune build B
Warning: Coq Language Versions lower than 0.8 have been deprecated in Dune
3.8 and will be removed in an upcoming Dune version.
Hint: To disable this warning, add the following to your dune-project file:
(warnings (deprecated_coq_lang_lt_08 disabled))
*** Warning: in file b.v, library a is required from root A and has not been found in the loadpath!
File "./B/b.v", line 2, characters 0-24:
Error: Cannot find a physical path bound to logical path a with prefix A.
[1]
$ dune build C
Warning: Coq Language Versions lower than 0.8 have been deprecated in Dune
3.8 and will be removed in an upcoming Dune version.
Hint: To disable this warning, add the following to your dune-project file:
(warnings (deprecated_coq_lang_lt_08 disabled))
*** Warning: in file c.v, library a is required from root A and has not been found in the loadpath!
*** Warning: in file a.v, library A is required from root C and has not been found in the loadpath!
File "./C/c.v", line 2, characters 0-24:
Error: Cannot find a physical path bound to logical path a with prefix A.
File "C/A_vendored/dune", lines 1-3, characters 0-36:
1 | (coq.theory
2 | (name A)
3 | (theories C))
Warning:
$TESTCASE_ROOT/_build/default/C/A_vendored
was previously bound to C.A_vendored; it is remapped to A
[overriding-logical-loadpath,loadpath]
File "./C/A_vendored/a.v", line 1, characters 0-24:
Error: Cannot find a physical path bound to logical path A with prefix C.
[1]
$ dune build A
Warning: Coq Language Versions lower than 0.8 have been deprecated in Dune
3.8 and will be removed in an upcoming Dune version.
Hint: To disable this warning, add the following to your dune-project file:
(warnings (deprecated_coq_lang_lt_08 disabled))
$ dune build C/A_vendored
Warning: Coq Language Versions lower than 0.8 have been deprecated in Dune
3.8 and will be removed in an upcoming Dune version.
Hint: To disable this warning, add the following to your dune-project file:
(warnings (deprecated_coq_lang_lt_08 disabled))
File "C/A_vendored/dune", lines 1-3, characters 0-36:
1 | (coq.theory
2 | (name A)
3 | (theories C))
Warning:
$TESTCASE_ROOT/_build/default/C/A_vendored
was previously bound to C.A_vendored; it is remapped to A
[overriding-logical-loadpath,loadpath]
File "./C/A_vendored/a.v", line 1, characters 0-24:
Error: Cannot find a physical path bound to logical path A with prefix C.
[1]