# HG changeset patch
# User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
# Date 2021-01-22 10:10:39
# Node ID cabc5e9366c55ac4c446e474f00dd593dd5e5816
# Parent  bb3a5c0df06b2cb1bc3a01b850d69113d9818f5f

rust: lower compile error on non-linux platforms to a warning

As discussed on D9671#146704 this lowers the error to a warning.

Differential Revision: https://phab.mercurial-scm.org/D9852

diff --git a/rust/hg-core/src/lib.rs b/rust/hg-core/src/lib.rs
--- a/rust/hg-core/src/lib.rs
+++ b/rust/hg-core/src/lib.rs
@@ -30,14 +30,6 @@ pub mod config;
 pub mod operations;
 pub mod utils;
 
-// Remove this to see (potential) non-artificial compile failures. MacOS
-// *should* compile, but fail to compile tests for example as of 2020-03-06
-#[cfg(not(target_os = "linux"))]
-compile_error!(
-    "`hg-core` has only been tested on Linux and will most \
-     likely not behave correctly on other platforms."
-);
-
 use crate::utils::hg_path::{HgPathBuf, HgPathError};
 pub use filepatterns::{
     parse_pattern_syntax, read_pattern_file, IgnorePattern,
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -609,6 +609,12 @@ class hgbuildext(build_ext):
         # and its build is not explictely disabled (for external build
         # as Linux distributions would do)
         if self.distribution.rust and self.rust:
+            if not sys.platform.startswith('linux'):
+                self.warn(
+                    "rust extensions have only been tested on Linux "
+                    "and may not behave correctly on other platforms"
+                )
+
             for rustext in ruststandalones:
                 rustext.build('' if self.inplace else self.build_lib)