anchor.diff:              "}\n\n",
   
               % The line below would be the "faithful" reproduction of the NIF Win API, but Rust
  -            % is current not allowing statics to be uninitialized (1.3 beta).  Revisit this when
  +            % is currently not allowing statics to be uninitialized (1.3 beta).  Revisit this when
               % RFC911 is implemented (or some other mechanism)
               %"static mut WinDynNifCallbacks:TWinDynNifCallbacks = unsafe{std::mem::uninitialized()};\n\n",
   
  
positive.code:     end ++
  
  
      case lists:member(Version, [{2,10}]) of
          true -> [
              {"ErlNifTime", "enif_monotonic_time", "unit: ErlNifTimeUnit"},
              {"ErlNifTime", "enif_time_offset", "unit: ErlNifTimeUnit"},
  
negative.code:     end ++
  
  
      case proplists:get_bool(dirty_schedulers, Opts) of
          true -> [{"c_int", "enif_is_on_dirty_scheduler", "env: *mut ErlNifEnv"}  ];
          false -> []
      end.
  
  
  
  main([UlongSizeT]) -> main([UlongSizeT,"."]);
  main([UlongSizeT, OutputDir]) ->
      %% Round up all configuration options
      Version = (catch erlang:system_info(nif_version)),
      Opts = version_opts(Version) ++ ulong_opts(UlongSizeT) ++ dirty_scheduler_opts(),
      %% Generate API list
      Entries = api_list(Opts),
      %% Generate Rust code
      Rust = [
          nif_version_rust(proplists:get_value(major, Opts), proplists:get_value(minor, Opts)),
          api_bindings_rust(erlang:system_info(system_architecture), Entries),
          int64_mappers_rust(proplists:get_value(ulongsize, Opts))
      ],
      %% And write it
      Filename = filename:join(OutputDir, "nif_api.snippet"),
      file:write_file(Filename, Rust),
      ok.
  
  nif_version_rust(Major, Minor) ->
      [io_lib:format("pub const NIF_MAJOR_VERSION: c_int = ~p;\n",   [Major]),
       io_lib:format("pub const NIF_MINOR_VERSION: c_int = ~p;\n\n", [Minor])].
  
  api_bindings_rust("win32", Entries) ->
  