<pre style='margin:0'>
Aljaž Srebrnič (g5pw) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/29f98d868eea589592b8eb2dc79c03ca9f0e2681">https://github.com/macports/macports-ports/commit/29f98d868eea589592b8eb2dc79c03ca9f0e2681</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 29f98d8  rust: update to 1.23.0
</span>29f98d8 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 29f98d868eea589592b8eb2dc79c03ca9f0e2681
</span>Author: Mohamed Akram <mohd.akram@outlook.com>
AuthorDate: Tue Jan 16 01:05:16 2018 +0400

<span style='display:block; white-space:pre;color:#404040;'>    rust: update to 1.23.0
</span>---
 lang/rust/Portfile                               | 166 ++++++++++-------------
 lang/rust/files/patch-src-librustc-llvm-lib.diff |   8 ++
 2 files changed, 81 insertions(+), 93 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/rust/Portfile b/lang/rust/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 71340cc..a0b40a9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/rust/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/rust/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,20 +1,17 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=portfile:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           active_variants 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           compiler_blacklist_versions 1.0
</span> 
 name                rust
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             1.16.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             1.23.0
</span> categories          lang devel
 platforms           darwin
 supported_archs     i386 x86_64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/mozilla/rust/issues/2024
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant   no
</span> license             {MIT Apache-2} BSD zlib NCSA Permissive
 maintainers         g5pw
 
 description         A safe, concurrent, practical language
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> long_description    Rust is a curly-brace, block-structured expression \
                     language. It visually resembles the C language \
                     family, but differs significantly in syntactic and \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,112 +20,95 @@ long_description    Rust is a curly-brace, block-structured expression \
</span>                     creating and maintaining boundaries -- both abstract \
                     and operational -- that preserve large-system \
                     integrity, availability and concurrency.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://www.rust-lang.org/
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "${name} is only supported on OS X 10.7 Lion or later."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error "unsupported platform version"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.rust-lang.org/
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# To take advantage of distfile mirroring and checksumming for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# snapshot compiler, we let base treat it as the distfile and deal with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# the actual Rust source "manually".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       bin:python2.7:python27 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:cmake
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# stage0 is found from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/rust-lang/rust/blob/${version}/src/stage0.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(date)        2017-02-09
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(version)     1.15.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(platform)    ${configure.build_arch}-apple-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:llvm-4.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Sigh...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${configure.build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set stage0(platform)    i686-apple-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://static.rust-lang.org/dist
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(distname)     [join "rustc ${stage0(version)}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                      ${stage0(platform)}" -]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(distfile)     ${stage0(distname)}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            ${name}c-${version}-src
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites            https://static.rust-lang.org/dist/:main \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        https://static.rust-lang.org/dist/${stage0(date)}/:snap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-src-librustc-llvm-lib.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles               ${name}c-${version}-src${extract.suffix}:main \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ${stage0(distfile)}:snap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set rust_platform   ${build_arch}-apple-darwin
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir              ${name}c-${version}-src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set rust_platform i686-apple-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               ${name}c-${version}-src${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            rmd160  42bb8759c98787d07293d81e45183fe5cf55ebc2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            sha256  f966b31eb1cd9bd2df817c391a338eeb5b9253ae0a19bf8a11960c560f96e8b4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set stage0(ruststd) rust-std-1.22.0-${rust_platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set stage0(rustc)   rustc-1.22.0-${rust_platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set stage0(cargo)   cargo-0.23.0-${rust_platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles-append    ${stage0(ruststd)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(rustc)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(cargo)}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  f8dc31e9fbe1e2071d2307be5a38c73da8a637ee \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  7464953871dcfdfa8afcc536916a686dd156a83339d8ec4d5cb4eb2fe146cb91
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(ruststd)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  8dc4f0eb39c34082021206de9556a6027a6a833c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  4bdbe34a34fc99c231f59201253e0844ab8378eed0835c95ce80336c8626f799 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(rustc)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  4647f5eb4dde380c7d9cad982540df90598b48de \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  84b436ff4543ca9d734971dbd46cabdca4eaf9ba060a6314e48789eaba50101f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(cargo)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  bfbe0a2040fbb5d5f378111dfb0cc7dbf1330e12 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  25670bdc08a8134c0100bb4fa1b48d7c45cb1045098d6388fb668d1cdcbc940c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(ruststd)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  cc0b60760e1d8262834511c7676005167d072db0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  773c091f678fd63af07a90fac406c1b9850b7a72b58a4aab39bc0489315ef33a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(rustc)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  9cd4f59ae654315a74c368b85e29a48ab7bc654f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  1383736371b4192de9f7feb14b6615f39c772b83b0771e1f9fe7c10036e3c9d1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${stage0(cargo)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  1a08713350109f9bcf321af40f35fb06d0505bef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  aee12927e3a670584119e795a1ade6f4579e565f4145c9e0b6d8410019dc5ba7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set stage0(dir)     ${worksrcpath}/build/stage0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-switch ${configure.build_arch} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    i386    {checksums-append   ${stage0(distfile)} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            rmd160  94de06a35775fe6d383b39cb907ef0794371ee16 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            sha256  7db0489a35272b22aa63c8071bb74e40fdac0d63e19e86909003a9e842d22dfb}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    default {checksums-append   ${stage0(distfile)} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            rmd160  b142be055dff9dad14414adec9e31e9ecece4a06 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            sha256  37c6b14f6b7820b7cae9e4e1cacb482c1cb4c31690f96e879cad4cbf4b5a990d}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "${name} is only supported on OS X 10.7 Lion or later."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "unsupported platform version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Only use compilers supported by upstream
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# (https://github.com/rust-lang/rust#building-from-source).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist  {clang < 211} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    *dragonegg* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    gcc-3.3 {*gcc-4.[0-6]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Building the bundled LLVM requires Python 2.4-2.7. All supported
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# OS X releases have 2.6. (Using MacPorts' LLVM ports fails either
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# during build or during testing.)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build           bin:perl:perl5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        bin:python2.6:python27 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_skip_archcheck  python27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# The libs for both targets link to libgcc and libstdc++.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[regexp {^macports-gcc-(\d+)\.(\d+)$} ${configure.compiler} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                            -> major minor]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      {path:lib/libstdc\\+\\+\\.6\\.dylib:libstdcxx}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    require_active_variants gcc${major}${minor} universal
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    require_active_variants {path:lib/libstdc\\+\\+\\.6\\.dylib:libstdcxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                universal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file mkdir ${stage0(dir)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "cp -r ${workpath}/${stage0(ruststd)}/rust-std-${rust_platform}/* ${stage0(dir)}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "cp -r ${workpath}/${stage0(rustc)}/rustc/* ${stage0(dir)}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "cp -r ${workpath}/${stage0(cargo)}/cargo/* ${stage0(dir)}"
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Test whether i386 machines can cross-compile for x86_64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set tgts {i686-apple-darwin x86_64-apple-darwin}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --build=${rust_platform} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-vendor \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --default-linker=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-codegen-tests \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-docs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --llvm-root=${prefix}/libexec/llvm-4.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --local-rust-root=${stage0(dir)} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --release-channel=stable \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --set=target.${rust_platform}.cc=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --set=target.${rust_platform}.cxx=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --set=target.${rust_platform}.linker=${configure.cc}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Trying to build a cross-compiler breaks Intel 64 builds as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# of 0.11.0. Worth fixing?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#configure.pre_args-append       --target=[join $tgts ,]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          VERBOSE=1 BOOTSTRAP_ARGS="-v -j${build.jobs}"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${configure.build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.pre_args-append   --build=[lindex $tgts 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.pre_args-append   --build=[lindex $tgts 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# We need to use "--enable-rpath" as of a0546de, otherwise the build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# produces improperly linked binaries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# (https://github.com/rust-lang/rust/issues/11747)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Build docs also, probably in a subport.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --disable-docs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --disable-rustbuild \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --enable-local-rust \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --local-rust-root=${workpath}/${stage0(distname)}/rustc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.type          gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          VERBOSE=1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPP="${configure.cc} -E"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Add path-style dependency on python, whenever test dependencies
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# are implemented (#38208). Not critical, since all supported versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# of OS X come with Python 2.6.
</span> test.run            yes
 test.target         check
<span style='display:block; white-space:pre;background:#ffe0e0;'>-test.env            VERBOSE=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.args           VERBOSE=1
</span> 
 destroot.args       VERBOSE=1
 post-destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/rust/files/patch-src-librustc-llvm-lib.diff b/lang/rust/files/patch-src-librustc-llvm-lib.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..71f416f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/rust/files/patch-src-librustc-llvm-lib.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/librustc_llvm/lib.rs.orig  2018-01-15 17:44:30.000000000 +0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/librustc_llvm/lib.rs       2018-01-16 02:36:38.000000000 +0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -429,3 +429,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#[link(name = "ffi")] extern {}
</span></pre><pre style='margin:0'>

</pre>