Commit 39841d5e2c

Rocknest <35231115+Rocknest@users.noreply.github.com>
2020-10-11 15:46:29
remove workaround
1 parent 47d7bf1
Changed files (2)
lib/std/zig/system.zig
@@ -209,16 +209,9 @@ pub const NativeTargetInfo = struct {
                 .linux => {
                     const uts = std.os.uname();
                     const release = mem.spanZ(&uts.release);
-                    // The release field may have several other fields after the
-                    // kernel version
-                    const kernel_version = if (mem.indexOfScalar(u8, release, '-')) |pos|
-                        release[0..pos]
-                    else if (mem.indexOfScalar(u8, release, '_')) |pos|
-                        release[0..pos]
-                    else
-                        release;
-
-                    if (std.builtin.Version.parse(kernel_version)) |ver| {
+                    // The release field sometimes has a weird format,
+                    // `Version.parse` will attempt to find some meaningful interpretation. 
+                    if (std.builtin.Version.parse(release)) |ver| {
                         os.version_range.linux.range.min = ver;
                         os.version_range.linux.range.max = ver;
                     } else |err| switch (err) {
lib/std/builtin.zig
@@ -567,6 +567,7 @@ pub fn testVersionParse() !void {
     try f.eql("2.7.pre", 2, 7, 0);
     try f.eql("0..3", 0, 0, 0);
     try f.eql("8.008.", 8, 8, 0);
+    try f.eql("01...", 1, 0, 0);
     try f.eql("55", 55, 0, 0);
     try f.eql("4294967295.0.1", 4294967295, 0, 1);
     try f.eql("429496729_6", 429496729, 0, 0);