fix: noconfirm auto-selects first AUR match
This commit is contained in:
+4
@@ -0,0 +1,4 @@
|
||||
int c_func(void);
|
||||
int c_func(void) {
|
||||
return 123;
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
int r3(void);
|
||||
|
||||
int main_func(void) {
|
||||
return r3() == 246 ? 0 : 1;
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
# Regression test for a diamond dependency graph:
|
||||
# ┌►R1┐
|
||||
# main-►R3─┤ ├─►C1
|
||||
# └►R2┘
|
||||
# Both libr1.rlib and libr2.rlib used to contain func.c.o. That was causing
|
||||
# libr3.rlib to have duplicated func.c.o and then libmain.so failed to link:
|
||||
# multiple definition of `c_func'.
|
||||
|
||||
libc1 = static_library('c1', 'func.c')
|
||||
libr1 = static_library('r1', 'r1.rs', link_with: libc1)
|
||||
libr2 = static_library('r2', 'r2.rs', link_with: libc1)
|
||||
libr3 = static_library('r3', 'r3.rs',
|
||||
link_with: [libr1, libr2],
|
||||
rust_abi: 'c',
|
||||
)
|
||||
shared_library('main', 'main.c', link_whole: [libr3])
|
||||
|
||||
# Same dependency graph, but r3 is now installed. Since c1, r1 and r2 are
|
||||
# not installed, r3 must contain them.
|
||||
libr3 = static_library('r3-installed', 'r3.rs',
|
||||
link_with: [libr1, libr2],
|
||||
rust_abi: 'c',
|
||||
install: true,
|
||||
)
|
||||
shared_library('main-installed', 'main.c', link_with: [libr3])
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
extern "C" {
|
||||
fn c_func() -> i32;
|
||||
}
|
||||
|
||||
pub fn r1() -> i32 {
|
||||
unsafe {
|
||||
c_func()
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
extern "C" {
|
||||
fn c_func() -> i32;
|
||||
}
|
||||
|
||||
pub fn r2() -> i32 {
|
||||
unsafe {
|
||||
c_func()
|
||||
}
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
#[no_mangle]
|
||||
pub fn r3() -> i32 {
|
||||
r1::r1() + r2::r2()
|
||||
}
|
||||
Reference in New Issue
Block a user