CyberShadow / dhcptest

Cross-platform DHCP test client
https://blog.cy.md/2013/01/10/dhcp-test-client
366 stars 57 forks source link

Compilation errors #31

Closed deliciouslytyped closed 1 year ago

deliciouslytyped commented 1 year ago

I've never used D before. I got the same errors with DMD.

$ ldc2 dhcptest.d
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5600): Error: template std.format.unformatValueImpl cannot deduce function from argument types !(RelayAge
ntInformationSuboption)(string, const(FormatSpec!char)), candidates are:
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5710):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = RelayAgentInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       is(Unqual!T == bool)
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5724):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = RelayAgentInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       is(T == typeof(null))
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5735):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = RelayAgentInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       !is(T == enum)
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5771):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = RelayAgentInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       isFloatingPoint!T
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5797):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = RelayAgentInformationSuboption,
       Range = string,
       Char = char                                                                                                                                              must satisfy the following constraint:
       isSomeChar!T
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5600):        ... (3 more, -v to show) ...
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(713): Error: template instance std.format.unformatValue!(RelayAgentInformationSuboption, string, char) er
ror instantiating
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(656):        instantiated from here: formattedRead!(string, char, RelayAgentInformationSuboption*)
dhcptest.d(431):        instantiated from here: formattedRead!("%s", string, RelayAgentInformationSuboption*)
dhcptest.d(506):        instantiated from here: VLList!(RelayAgentInformationSuboption)
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5600): Error: template std.format.unformatValueImpl cannot deduce function from argument types !(VendorSp
ecificInformationSuboption)(string, const(FormatSpec!char)), candidates are:
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5710):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = VendorSpecificInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       is(Unqual!T == bool)
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5724):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = VendorSpecificInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       is(T == typeof(null))
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5735):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = VendorSpecificInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       !is(T == enum)
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5771):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = VendorSpecificInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       isFloatingPoint!T
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5797):        unformatValueImpl(T, Range, Char)(ref Range input, ref scope const FormatSpec!Char spec)
  with T = VendorSpecificInformationSuboption,
       Range = string,
       Char = char
  must satisfy the following constraint:
       isSomeChar!T
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(5600):        ... (3 more, -v to show) ...
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(713): Error: template instance std.format.unformatValue!(VendorSpecificInformationSuboption, string, char
) error instantiating
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(656):        instantiated from here: formattedRead!(string, char, VendorSpecificInformationSuboption*)
dhcptest.d(431):        instantiated from here: formattedRead!("%s", string, VendorSpecificInformationSuboption*)
dhcptest.d(551):        instantiated from here: VLList!(VendorSpecificInformationSuboption)
deliciouslytyped commented 1 year ago

This was caused by Ubuntu giving me a very old D compiler version.