Vala fails to detect package version for use of unavailable symbols
void main() {
File f = File.new_for_path (".");
try {
FileInfo fi = f.query_info ("standard::*", FileQueryInfoFlags.NONE);
DateTime? dt = fi.get_modification_date_time ();
print ("cwd modified time is %s", dt.to_string ());
} catch (Error e) {
}
}
On Ubuntu 18.04, with GLib/Gio 2.56.4:
/home/pferro/test-depr.vala.c: In function ‘_vala_main’:
/home/pferro/test-depr.vala.c:47:12: warning: implicit declaration of function ‘g_file_info_get_modification_date_time’; did you mean ‘g_file_info_get_modification_time’? [-Wimplicit-function-declaration]
_tmp2_ = g_file_info_get_modification_date_time (fi);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g_file_info_get_modification_time
/home/pferro/test-depr.vala.c:47:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
_tmp2_ = g_file_info_get_modification_date_time (fi);
^
/tmp/ccULSvdT.o: In function `_vala_main':
test-depr.vala.c:(.text+0xf9): undefined reference to `g_file_info_get_modification_date_time'
collect2: error: ld returned 1 exit status
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)
Expected output:
test-depr.vala:5.24-5.52: error: GLib.FileInfo.get_modification_date_time is not available in gio-2.0 2.56.4
. Use gio-2.0 >= 2.62
DateTime? dt = fi.get_modification_date_time ();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 0 warning(s)
See !124 (closed)