Date: Tuesday, January 11, 2022 @ 20:04:35 Author: heftig Revision: 434257
78.15.0-2: fix build Added: js78/trunk/0002-Fixes-for-Python-3.10.patch js78/trunk/0003-Fixes-for-Rust-1.56.patch Modified: js78/trunk/0001-Fixes-for-LTO-PGO-support.patch js78/trunk/PKGBUILD --------------------------------------+ 0001-Fixes-for-LTO-PGO-support.patch | 4 0002-Fixes-for-Python-3.10.patch | 1013 +++++++++++++++++++++++++++++++++ 0003-Fixes-for-Rust-1.56.patch | 447 ++++++++++++++ PKGBUILD | 23 4 files changed, 1481 insertions(+), 6 deletions(-) Modified: 0001-Fixes-for-LTO-PGO-support.patch =================================================================== --- 0001-Fixes-for-LTO-PGO-support.patch 2022-01-11 19:48:05 UTC (rev 434256) +++ 0001-Fixes-for-LTO-PGO-support.patch 2022-01-11 20:04:35 UTC (rev 434257) @@ -10,7 +10,7 @@ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure -index 366c6691f7d11..e5342a037ee92 100644 +index 366c6691f7d1..e5342a037ee9 100644 --- a/build/moz.configure/lto-pgo.configure +++ b/build/moz.configure/lto-pgo.configure @@ -229,7 +229,10 @@ def lto(value, c_compiler, ld64_known_good, target, instrumented_build): @@ -34,7 +34,7 @@ add_old_configure_assignment('MOZ_LTO_CFLAGS', lto.cflags) add_old_configure_assignment('MOZ_LTO_LDFLAGS', lto.ldflags) diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk -index f4475054f8979..f19dfbc72fad0 100644 +index f4475054f897..f19dfbc72fad 100644 --- a/config/makefiles/rust.mk +++ b/config/makefiles/rust.mk @@ -59,17 +59,19 @@ cargo_rustc_flags = $(CARGO_RUSTCFLAGS) Added: 0002-Fixes-for-Python-3.10.patch =================================================================== --- 0002-Fixes-for-Python-3.10.patch (rev 0) +++ 0002-Fixes-for-Python-3.10.patch 2022-01-11 20:04:35 UTC (rev 434257) @@ -0,0 +1,1013 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Tue, 11 Jan 2022 19:26:43 +0100 +Subject: [PATCH] Fixes for Python 3.10 + +Bug 1719144 cherry-picked from Firefox Nightly. +--- + python/mach/mach/config.py | 5 +- + python/mach/mach/decorators.py | 3 +- + python/mach/mach/main.py | 2 +- + .../mozbuild/backend/configenvironment.py | 3 +- + python/mozbuild/mozbuild/makeutil.py | 2 +- + python/mozbuild/mozbuild/util.py | 3 +- + taskcluster/taskgraph/util/schema.py | 3 +- + .../manifestparser/manifestparser/filters.py | 3 +- + third_party/python/gyp/pylib/gyp/common.py | 3 +- + third_party/python/requirements.in | 2 +- + third_party/python/requirements.txt | 6 +- + .../{ => voluptuous-0.12.1.dist-info}/COPYING | 0 + .../METADATA} | 114 +++++++--- + .../voluptuous-0.12.1.dist-info/RECORD | 11 + + .../voluptuous-0.12.1.dist-info/WHEEL | 11 + + .../top_level.txt | 0 + .../python/voluptuous/voluptuous/__init__.py | 2 +- + .../python/voluptuous/voluptuous/error.py | 4 +- + .../voluptuous/voluptuous/schema_builder.py | 25 ++- + .../python/voluptuous/voluptuous/util.py | 18 +- + .../voluptuous/voluptuous/validators.py | 198 ++++++++++++------ + 21 files changed, 300 insertions(+), 118 deletions(-) + copy third_party/python/voluptuous/{ => voluptuous-0.12.1.dist-info}/COPYING (100%) + rename third_party/python/voluptuous/{README.md => voluptuous-0.12.1.dist-info/METADATA} (83%) + create mode 100644 third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD + create mode 100644 third_party/python/voluptuous/voluptuous-0.12.1.dist-info/WHEEL + rename third_party/python/{psutil-cp27-none-win_amd64/psutil-5.7.0.dist-info => voluptuous/voluptuous-0.12.1.dist-info}/top_level.txt (100%) + +diff --git a/python/mach/mach/config.py b/python/mach/mach/config.py +index 7210eca82308..6605e381b310 100644 +--- a/python/mach/mach/config.py ++++ b/python/mach/mach/config.py +@@ -17,6 +17,7 @@ settings are available. + from __future__ import absolute_import, unicode_literals + + import collections ++import collections.abc + import os + import sys + import six +@@ -144,7 +145,7 @@ def reraise_attribute_error(func): + return _ + + +-class ConfigSettings(collections.Mapping): ++class ConfigSettings(collections.abc.Mapping): + """Interface for configuration settings. + + This is the main interface to the configuration. +@@ -190,7 +191,7 @@ class ConfigSettings(collections.Mapping): + will result in exceptions being raised. + """ + +- class ConfigSection(collections.MutableMapping, object): ++ class ConfigSection(collections.abc.MutableMapping, object): + """Represents an individual config section.""" + def __init__(self, config, name, settings): + object.__setattr__(self, '_config', config) +diff --git a/python/mach/mach/decorators.py b/python/mach/mach/decorators.py +index 27f7f34a6ddc..8b1a49c76dc2 100644 +--- a/python/mach/mach/decorators.py ++++ b/python/mach/mach/decorators.py +@@ -6,6 +6,7 @@ from __future__ import absolute_import, unicode_literals + + import argparse + import collections ++import collections.abc + + from .base import MachError + from .registrar import Registrar +@@ -140,7 +141,7 @@ def CommandProvider(cls): + 'Conditions argument must take a list ' + \ + 'of functions. Found %s instead.' + +- if not isinstance(command.conditions, collections.Iterable): ++ if not isinstance(command.conditions, collections.abc.Iterable): + msg = msg % (command.name, type(command.conditions)) + raise MachError(msg) + +diff --git a/python/mach/mach/main.py b/python/mach/mach/main.py +index a7311806d0a4..0f2c6a16d9d2 100644 +--- a/python/mach/mach/main.py ++++ b/python/mach/mach/main.py +@@ -16,7 +16,7 @@ import os + import sys + import traceback + import uuid +-from collections import Iterable ++from collections.abc import Iterable + + from six import string_types + +diff --git a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py +index 20d1a9fa69da..898cabb73b0b 100644 +--- a/python/mozbuild/mozbuild/backend/configenvironment.py ++++ b/python/mozbuild/mozbuild/backend/configenvironment.py +@@ -9,7 +9,8 @@ import six + import sys + import json + +-from collections import Iterable, OrderedDict ++from collections.abc import Iterable ++from collections import OrderedDict + from types import ModuleType + + import mozpack.path as mozpath +diff --git a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py +index 4da1a3b268e5..4ce56848cd6c 100644 +--- a/python/mozbuild/mozbuild/makeutil.py ++++ b/python/mozbuild/mozbuild/makeutil.py +@@ -7,7 +7,7 @@ from __future__ import absolute_import, print_function, unicode_literals + import os + import re + import six +-from collections import Iterable ++from collections.abc import Iterable + + + class Makefile(object): +diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py +index 044cf645c1f1..ed30088c0059 100644 +--- a/python/mozbuild/mozbuild/util.py ++++ b/python/mozbuild/mozbuild/util.py +@@ -9,6 +9,7 @@ from __future__ import absolute_import, print_function, unicode_literals + + import argparse + import collections ++import collections.abc + import ctypes + import difflib + import errno +@@ -782,7 +783,7 @@ class HierarchicalStringList(object): + self._strings = StrictOrderingOnAppendList() + self._children = {} + +- class StringListAdaptor(collections.Sequence): ++ class StringListAdaptor(collections.abc.Sequence): + def __init__(self, hsl): + self._hsl = hsl + +diff --git a/taskcluster/taskgraph/util/schema.py b/taskcluster/taskgraph/util/schema.py +index 0b15d3d5fd6f..29e36793f336 100644 +--- a/taskcluster/taskgraph/util/schema.py ++++ b/taskcluster/taskgraph/util/schema.py +@@ -7,6 +7,7 @@ from __future__ import absolute_import, print_function, unicode_literals + import re + import pprint + import collections ++import collections.abc + import voluptuous + + from six import text_type, iteritems +@@ -160,7 +161,7 @@ def check_schema(schema): + 'Unexpected type in YAML schema: {} @ {}'.format( + type(k).__name__, path)) + +- if isinstance(sch, collections.Mapping): ++ if isinstance(sch, collections.abc.Mapping): + for k, v in iteritems(sch): + child = "{}[{!r}]".format(path, k) + check_identifier(child, k) +diff --git a/testing/mozbase/manifestparser/manifestparser/filters.py b/testing/mozbase/manifestparser/manifestparser/filters.py +index 287ee033b222..b1d6080031f6 100644 +--- a/testing/mozbase/manifestparser/manifestparser/filters.py ++++ b/testing/mozbase/manifestparser/manifestparser/filters.py +@@ -12,7 +12,8 @@ from __future__ import absolute_import + + import itertools + import os +-from collections import defaultdict, MutableSequence ++from collections import defaultdict ++from collections.abc import MutableSequence + + import six + from six import string_types +diff --git a/third_party/python/gyp/pylib/gyp/common.py b/third_party/python/gyp/pylib/gyp/common.py +index b268d229a483..2195e1e458e3 100644 +--- a/third_party/python/gyp/pylib/gyp/common.py ++++ b/third_party/python/gyp/pylib/gyp/common.py +@@ -5,6 +5,7 @@ + from __future__ import with_statement + + import collections ++import collections.abc + import errno + import filecmp + import os.path +@@ -494,7 +495,7 @@ def uniquer(seq, idfun=None): + + + # Based on http://code.activestate.com/recipes/576694/. +-class OrderedSet(collections.MutableSet): ++class OrderedSet(collections.abc.MutableSet): + def __init__(self, iterable=None): + self.end = end = [] + end += [None, end, end] # sentinel node for doubly linked list +diff --git a/third_party/python/requirements.in b/third_party/python/requirements.in +index b65c92e30c09..1127ab280c84 100644 +--- a/third_party/python/requirements.in ++++ b/third_party/python/requirements.in +@@ -42,4 +42,4 @@ requests==2.9.1 + responses==0.10.6 + sentry-sdk==0.14.3 + six==1.13.0 +-voluptuous==0.11.5 ++voluptuous==0.12.1 +diff --git a/third_party/python/requirements.txt b/third_party/python/requirements.txt +index fd0b6cb1a181..5742c9cdb771 100644 +--- a/third_party/python/requirements.txt ++++ b/third_party/python/requirements.txt +@@ -172,9 +172,9 @@ urllib3==1.25.9 \ + --hash=sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527 \ + --hash=sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115 \ + # via sentry-sdk +-voluptuous==0.11.5 \ +- --hash=sha256:303542b3fc07fb52ec3d7a1c614b329cdbee13a9d681935353d8ea56a7bfa9f1 \ +- --hash=sha256:567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef \ ++voluptuous==0.12.1 \ ++ --hash=sha256:663572419281ddfaf4b4197fd4942d181630120fb39b333e3adad70aeb56444b \ ++ --hash=sha256:8ace33fcf9e6b1f59406bfaf6b8ec7bcc44266a9f29080b4deb4fe6ff2492386 + # via -r requirements-mach-vendor-python.in + + # WARNING: The following packages were not pinned, but pip requires them to be +diff --git a/third_party/python/voluptuous/COPYING b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/COPYING +similarity index 100% +copy from third_party/python/voluptuous/COPYING +copy to third_party/python/voluptuous/voluptuous-0.12.1.dist-info/COPYING +diff --git a/third_party/python/voluptuous/README.md b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/METADATA +similarity index 83% +rename from third_party/python/voluptuous/README.md +rename to third_party/python/voluptuous/voluptuous-0.12.1.dist-info/METADATA +index 46e2288f4bea..914a5761d63a 100644 +--- a/third_party/python/voluptuous/README.md ++++ b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/METADATA +@@ -1,7 +1,67 @@ ++<<<<<<<< HEAD:third_party/python/voluptuous/README.md ++|||||||| parent of 8f49ebff11d78 (Bug 1719144 - Update voluptuous. r=firefox-build-system-reviewers,mhentges):third_party/python/voluptuous/voluptuous-0.11.5.dist-info/METADATA ++Metadata-Version: 2.1 ++Name: voluptuous ++Version: 0.11.5 ++Summary: # Voluptuous is a Python data validation library ++Home-page: https://github.com/alecthomas/voluptuous ++Author: Alec Thomas ++Author-email: a...@swapoff.org ++License: BSD ++Download-URL: https://pypi.python.org/pypi/voluptuous ++Platform: any ++Classifier: Development Status :: 5 - Production/Stable ++Classifier: Intended Audience :: Developers ++Classifier: License :: OSI Approved :: BSD License ++Classifier: Operating System :: OS Independent ++Classifier: Programming Language :: Python :: 2 ++Classifier: Programming Language :: Python :: 2.7 ++Classifier: Programming Language :: Python :: 3 ++Classifier: Programming Language :: Python :: 3.6 ++Classifier: Programming Language :: Python :: 3.7 ++Description-Content-Type: text/markdown ++ ++======== ++Metadata-Version: 2.1 ++Name: voluptuous ++Version: 0.12.1 ++Summary: UNKNOWN ++Home-page: https://github.com/alecthomas/voluptuous ++Author: Alec Thomas ++Author-email: a...@swapoff.org ++License: BSD ++Download-URL: https://pypi.python.org/pypi/voluptuous ++Platform: any ++Classifier: Development Status :: 5 - Production/Stable ++Classifier: Intended Audience :: Developers ++Classifier: License :: OSI Approved :: BSD License ++Classifier: Operating System :: OS Independent ++Classifier: Programming Language :: Python :: 2 ++Classifier: Programming Language :: Python :: 2.7 ++Classifier: Programming Language :: Python :: 3 ++Classifier: Programming Language :: Python :: 3.6 ++Classifier: Programming Language :: Python :: 3.7 ++Classifier: Programming Language :: Python :: 3.8 ++Classifier: Programming Language :: Python :: 3.9 ++Description-Content-Type: text/markdown ++ ++ ++# CONTRIBUTIONS ONLY ++ ++**What does this mean?** I do not have time to fix issues myself. The only way fixes or new features will be added is by people submitting PRs. ++ ++**Current status:** Voluptuous is largely feature stable. There hasn't been a need to add new features in a while, but there are some bugs that should be fixed. ++ ++**Why?** I no longer use Voluptuous personally (in fact I no longer regularly write Python code). Rather than leave the project in a limbo of people filing issues and wondering why they're not being worked on, I believe this notice will more clearly set expectations. ++ ++>>>>>>>> 8f49ebff11d78 (Bug 1719144 - Update voluptuous. r=firefox-build-system-reviewers,mhentges):third_party/python/voluptuous/voluptuous-0.12.1.dist-info/METADATA + # Voluptuous is a Python data validation library + +-[![Build Status](https://travis-ci.org/alecthomas/voluptuous.png)](https://travis-ci.org/alecthomas/voluptuous) +-[![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.png)](https://gitter.im/alecthomas/Lobby) ++[![image](https://img.shields.io/pypi/v/voluptuous.svg)](https://python.org/pypi/voluptuous) ++[![image](https://img.shields.io/pypi/l/voluptuous.svg)](https://python.org/pypi/voluptuous) ++[![image](https://img.shields.io/pypi/pyversions/voluptuous.svg)](https://python.org/pypi/voluptuous) ++[![Build Status](https://travis-ci.org/alecthomas/voluptuous.svg)](https://travis-ci.org/alecthomas/voluptuous) ++[![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.svg)](https://gitter.im/alecthomas/Lobby) + + Voluptuous, *despite* the name, is a Python data validation library. It + is primarily intended for validating data coming into Python as JSON, +@@ -32,6 +92,28 @@ The documentation is provided [here](http://alecthomas.github.io/voluptuous/). + + See [CHANGELOG.md](https://github.com/alecthomas/voluptuous/blob/master/CHANGELOG.md). + ++## Why use Voluptuous over another validation library? ++ ++**Validators are simple callables:** ++No need to subclass anything, just use a function. ++ ++**Errors are simple exceptions:** ++A validator can just `raise Invalid(msg)` and expect the user to get ++useful messages. ++ ++**Schemas are basic Python data structures:** ++Should your data be a dictionary of integer keys to strings? ++`{int: str}` does what you expect. List of integers, floats or ++strings? `[int, float, str]`. ++ ++**Designed from the ground up for validating more than just forms:** ++Nested data structures are treated in the same way as any other ++type. Need a list of dictionaries? `[{}]` ++ ++**Consistency:** ++Types in the schema are checked as types. Values are compared as ++values. Callables are called to validate. Simple. ++ + ## Show me an example + + Twitter's [user search API](https://dev.twitter.com/rest/reference/get/users/search) accepts +@@ -189,9 +271,9 @@ True + + ``` + +-### URL's ++### URLs + +-URL's in the schema are matched by using `urlparse` library. ++URLs in the schema are matched by using `urlparse` library. + + ```pycon + >>> from voluptuous import Url +@@ -679,35 +761,13 @@ cross-field validator will not run: + s({'password':'123', 'password_again': 1337}) + ``` + +-## Running tests. ++## Running tests + + Voluptuous is using nosetests: + + $ nosetests + + +-## Why use Voluptuous over another validation library? +- +-**Validators are simple callables** +-: No need to subclass anything, just use a function. +- +-**Errors are simple exceptions.** +-: A validator can just `raise Invalid(msg)` and expect the user to get +-useful messages. +- +-**Schemas are basic Python data structures.** +-: Should your data be a dictionary of integer keys to strings? +-`{int: str}` does what you expect. List of integers, floats or +-strings? `[int, float, str]`. +- +-**Designed from the ground up for validating more than just forms.** +-: Nested data structures are treated in the same way as any other +-type. Need a list of dictionaries? `[{}]` +- +-**Consistency.** +-: Types in the schema are checked as types. Values are compared as +-values. Callables are called to validate. Simple. +- + ## Other libraries and inspirations + + Voluptuous is heavily inspired by +diff --git a/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD +new file mode 100644 +index 000000000000..5f7fde6e52bc +--- /dev/null ++++ b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD +@@ -0,0 +1,11 @@ ++voluptuous/__init__.py,sha256=tSYWPAIWee6YwcMK8hxmaiagG_swokUMeH8MluJLWZM,203 ++voluptuous/error.py,sha256=fLRmJwKp0bqRGgBM34ztg9MTxhEOf465sbQcvJlEtAk,4026 ++voluptuous/humanize.py,sha256=hZlhdN4aVeGDIXdtSTeyEbmku65SDPRuut3mOfuRQP0,1606 ++voluptuous/schema_builder.py,sha256=xVJpf3uJMyS1CKwzDw3rEK39ebqDiF_A2Kbq4VnZ3Aw,43677 ++voluptuous/util.py,sha256=RXLZ2b5y-A4az3teG6UpCx2UZcXpS11sIVCdORyKar8,3150 ++voluptuous/validators.py,sha256=xZgyKH-EVqUHCHral5gzViXq4HfEjJEsGdQy7z6llc0,32798 ++voluptuous-0.12.1.dist-info/COPYING,sha256=JHtJdren-k2J2Vh8qlCVVh60bcVFfyJ59ipitUUq3qk,1486 ++voluptuous-0.12.1.dist-info/METADATA,sha256=OdEydy5NydPFFzAhP8qj_YqJsQPQvoIt5ZT1t8B14Ok,20120 ++voluptuous-0.12.1.dist-info/WHEEL,sha256=S6zePDbUAjzMmpYOg2cHDxuYFWw7WiOXt6ogM6hIB5Q,92 ++voluptuous-0.12.1.dist-info/top_level.txt,sha256=TTdVb7M-vndb67UqTmAxuVjpAUakrlAWJYqvo3w4Iqc,11 ++voluptuous-0.12.1.dist-info/RECORD,, +diff --git a/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/WHEEL b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/WHEEL +new file mode 100644 +index 000000000000..4c2552761e69 +--- /dev/null ++++ b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/WHEEL +@@ -0,0 +1,11 @@ ++Wheel-Version: 1.0 ++<<<<<<<< HEAD:testing/web-platform/tests/tools/third_party/six/six-1.13.0.dist-info/WHEEL ++Generator: bdist_wheel (0.32.1) ++|||||||| parent of 8f49ebff11d78 (Bug 1719144 - Update voluptuous. r=firefox-build-system-reviewers,mhentges):third_party/python/voluptuous/voluptuous-0.11.5.dist-info/WHEEL ++Generator: bdist_wheel (0.31.1) ++======== ++Generator: bdist_wheel (0.36.1) ++>>>>>>>> 8f49ebff11d78 (Bug 1719144 - Update voluptuous. r=firefox-build-system-reviewers,mhentges):third_party/python/voluptuous/voluptuous-0.12.1.dist-info/WHEEL ++Root-Is-Purelib: true ++Tag: py3-none-any ++ +diff --git a/third_party/python/psutil-cp27-none-win_amd64/psutil-5.7.0.dist-info/top_level.txt b/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/top_level.txt +similarity index 100% +rename from third_party/python/psutil-cp27-none-win_amd64/psutil-5.7.0.dist-info/top_level.txt +rename to third_party/python/voluptuous/voluptuous-0.12.1.dist-info/top_level.txt +diff --git a/third_party/python/voluptuous/voluptuous/__init__.py b/third_party/python/voluptuous/voluptuous/__init__.py +index 10236d5a6670..4d09fe670fd4 100644 +--- a/third_party/python/voluptuous/voluptuous/__init__.py ++++ b/third_party/python/voluptuous/voluptuous/__init__.py +@@ -5,5 +5,5 @@ from voluptuous.validators import * + from voluptuous.util import * + from voluptuous.error import * + +-__version__ = '0.11.5' ++__version__ = '0.12.1' + __author__ = 'alecthomas' +diff --git a/third_party/python/voluptuous/voluptuous/error.py b/third_party/python/voluptuous/voluptuous/error.py +index 86c4e0a35933..97f37d2c7c4b 100644 +--- a/third_party/python/voluptuous/voluptuous/error.py ++++ b/third_party/python/voluptuous/voluptuous/error.py +@@ -142,11 +142,11 @@ class BooleanInvalid(Invalid): + + + class UrlInvalid(Invalid): +- """The value is not a url.""" ++ """The value is not a URL.""" + + + class EmailInvalid(Invalid): +- """The value is not a email.""" ++ """The value is not an email address.""" + + + class FileInvalid(Invalid): +diff --git a/third_party/python/voluptuous/voluptuous/schema_builder.py b/third_party/python/voluptuous/voluptuous/schema_builder.py +index 8d7a81a3e3e5..df19c8da2ddf 100644 +--- a/third_party/python/voluptuous/voluptuous/schema_builder.py ++++ b/third_party/python/voluptuous/voluptuous/schema_builder.py +@@ -22,6 +22,11 @@ else: + def iteritems(d): + return d.iteritems() + ++if sys.version_info >= (3, 3): ++ _Mapping = collections.abc.Mapping ++else: ++ _Mapping = collections.Mapping ++ + """Schema validation for Python data structures. + + Given eg. a nested data structure like this: +@@ -280,7 +285,7 @@ class Schema(object): + return schema.__voluptuous_compile__(self) + if isinstance(schema, Object): + return self._compile_object(schema) +- if isinstance(schema, collections.Mapping): ++ if isinstance(schema, _Mapping): + return self._compile_dict(schema) + elif isinstance(schema, list): + return self._compile_list(schema) +@@ -610,11 +615,11 @@ class Schema(object): + if not isinstance(data, seq_type): + raise er.SequenceTypeInvalid('expected a %s' % seq_type_name, path) + +- # Empty seq schema, allow any data. ++ # Empty seq schema, reject any data. + if not schema: + if data: + raise er.MultipleInvalid([ +- er.ValueInvalid('not a valid value', [value]) for value in data ++ er.ValueInvalid('not a valid value', path if path else data) + ]) + return data + +@@ -735,7 +740,7 @@ class Schema(object): + + result = self.schema.copy() + +- # returns the key that may have been passed as arugment to Marker constructor ++ # returns the key that may have been passed as an argument to Marker constructor + def key_literal(key): + return (key.schema if isinstance(key, Marker) else key) + +@@ -771,9 +776,10 @@ class Schema(object): + result[key] = value + + # recompile and send old object ++ result_cls = type(self) + result_required = (required if required is not None else self.required) + result_extra = (extra if extra is not None else self.extra) +- return Schema(result, required=result_required, extra=result_extra) ++ return result_cls(result, required=result_required, extra=result_extra) + + + def _compile_scalar(schema): +@@ -809,7 +815,7 @@ def _compile_scalar(schema): + def validate_callable(path, data): + try: + return schema(data) +- except ValueError as e: ++ except ValueError: + raise er.ValueInvalid('not a valid value', path) + except er.Invalid as e: + e.prepend(path) +@@ -1121,8 +1127,11 @@ class Inclusive(Optional): + True + """ + +- def __init__(self, schema, group_of_inclusion, msg=None): +- super(Inclusive, self).__init__(schema, msg=msg) ++ def __init__(self, schema, group_of_inclusion, ++ msg=None, description=None, default=UNDEFINED): ++ super(Inclusive, self).__init__(schema, msg=msg, ++ default=default, ++ description=description) + self.group_of_inclusion = group_of_inclusion + + +diff --git a/third_party/python/voluptuous/voluptuous/util.py b/third_party/python/voluptuous/voluptuous/util.py +index 434c360c7e95..e0ff43f8500a 100644 +--- a/third_party/python/voluptuous/voluptuous/util.py ++++ b/third_party/python/voluptuous/voluptuous/util.py +@@ -7,54 +7,62 @@ from voluptuous import validators + __author__ = 'tusharmakkar08' + + ++def _fix_str(v): ++ if sys.version_info[0] == 2 and isinstance(v, unicode): ++ s = v ++ else: ++ s = str(v) ++ return s ++ ++ + def Lower(v): + """Transform a string to lower case. + + >>> s = Schema(Lower) + >>> s('HI') + 'hi' + """ +- return str(v).lower() ++ return _fix_str(v).lower() + + + def Upper(v): + """Transform a string to upper case. + + >>> s = Schema(Upper) + >>> s('hi') + 'HI' + """ +- return str(v).upper() ++ return _fix_str(v).upper() + + + def Capitalize(v): + """Capitalise a string. + + >>> s = Schema(Capitalize) + >>> s('hello world') + 'Hello world' + """ +- return str(v).capitalize() ++ return _fix_str(v).capitalize() + + + def Title(v): + """Title case a string. + + >>> s = Schema(Title) + >>> s('hello world') + 'Hello World' + """ +- return str(v).title() ++ return _fix_str(v).title() + + + def Strip(v): + """Strip whitespace from a string. + + >>> s = Schema(Strip) + >>> s(' hello world ') + 'hello world' + """ +- return str(v).strip() ++ return _fix_str(v).strip() + + + class DefaultTo(object): +diff --git a/third_party/python/voluptuous/voluptuous/validators.py b/third_party/python/voluptuous/voluptuous/validators.py +index d5e3ed598051..fac9cc7717c0 100644 +--- a/third_party/python/voluptuous/voluptuous/validators.py ++++ b/third_party/python/voluptuous/voluptuous/validators.py +@@ -192,33 +192,44 @@ class _WithSubValidators(object): + def __init__(self, *validators, **kwargs): + self.validators = validators + self.msg = kwargs.pop('msg', None) ++ self.required = kwargs.pop('required', False) ++ self.discriminant = kwargs.pop('discriminant', None) + + def __voluptuous_compile__(self, schema): +- self._compiled = [ +- schema._compile(v) +- for v in self.validators +- ] ++ self._compiled = [] ++ old_required = schema.required ++ self.schema = schema ++ for v in self.validators: ++ schema.required = self.required ++ self._compiled.append(schema._compile(v)) ++ schema.required = old_required + return self._run + + def _run(self, path, value): ++ if self.discriminant is not None: ++ self._compiled = [ ++ self.schema._compile(v) ++ for v in self.discriminant(value, self.validators) ++ ] ++ + return self._exec(self._compiled, value, path) + + def __call__(self, v): + return self._exec((Schema(val) for val in self.validators), v) + + def __repr__(self): + return '%s(%s, msg=%r)' % ( + self.__class__.__name__, + ", ".join(repr(v) for v in self.validators), + self.msg + ) + + + class Any(_WithSubValidators): + """Use the first validated value. + + :param msg: Message to deliver to user if validation fails. +- :param kwargs: All other keyword arguments are passed to the sub-Schema constructors. ++ :param kwargs: All other keyword arguments are passed to the sub-schema constructors. + :returns: Return value of the first validator that passes. + + >>> validate = Schema(Any('true', 'false', +@@ -262,13 +273,57 @@ class Any(_WithSubValidators): + Or = Any + + ++class Union(_WithSubValidators): ++ """Use the first validated value among those selected by discriminant. ++ ++ :param msg: Message to deliver to user if validation fails. ++ :param discriminant(value, validators): Returns the filtered list of validators based on the value. ++ :param kwargs: All other keyword arguments are passed to the sub-schema constructors. ++ :returns: Return value of the first validator that passes. ++ ++ >>> validate = Schema(Union({'type':'a', 'a_val':'1'},{'type':'b', 'b_val':'2'}, ++ ... discriminant=lambda val, alt: filter( ++ ... lambda v : v['type'] == val['type'] , alt))) ++ >>> validate({'type':'a', 'a_val':'1'}) == {'type':'a', 'a_val':'1'} ++ True ++ >>> with raises(MultipleInvalid, "not a valid value for dictionary value @ data['b_val']"): ++ ... validate({'type':'b', 'b_val':'5'}) ++ ++ ```discriminant({'type':'b', 'a_val':'5'}, [{'type':'a', 'a_val':'1'},{'type':'b', 'b_val':'2'}])``` is invoked ++ ++ Without the discriminant, the exception would be "extra keys not allowed @ data['b_val']" ++ """ ++ ++ def _exec(self, funcs, v, path=None): ++ error = None ++ for func in funcs: ++ try: ++ if path is None: ++ return func(v) ++ else: ++ return func(path, v) ++ except Invalid as e: ++ if error is None or len(e.path) > len(error.path): ++ error = e ++ else: ++ if error: ++ raise error if self.msg is None else AnyInvalid( ++ self.msg, path=path) ++ raise AnyInvalid(self.msg or 'no valid value found', ++ path=path) ++ ++ ++# Convenience alias ++Switch = Union ++ ++ + class All(_WithSubValidators): + """Value must pass all validators. + + The output of each validator is passed as input to the next. + + :param msg: Message to deliver to user if validation fails. +- :param kwargs: All other keyword arguments are passed to the sub-Schema constructors. ++ :param kwargs: All other keyword arguments are passed to the sub-schema constructors. + + >>> validate = Schema(All('10', Coerce(int))) + >>> validate('10') +@@ -303,7 +358,7 @@ class Match(object): + >>> with raises(MultipleInvalid, 'expected string or buffer'): + ... validate(123) + +- Pattern may also be a _compiled regular expression: ++ Pattern may also be a compiled regular expression: + + >>> validate = Schema(Match(re.compile(r'0x[A-F0-9]+', re.I))) + >>> validate('0x123ef4') +@@ -361,38 +416,38 @@ def _url_validation(v): + return parsed + + +-@message('expected an Email', cls=EmailInvalid) ++@message('expected an email address', cls=EmailInvalid) + def Email(v): +- """Verify that the value is an Email or not. ++ """Verify that the value is an email address or not. + + >>> s = Schema(Email()) +- >>> with raises(MultipleInvalid, 'expected an Email'): ++ >>> with raises(MultipleInvalid, 'expected an email address'): + ... s("a.com") +- >>> with raises(MultipleInvalid, 'expected an Email'): ++ >>> with raises(MultipleInvalid, 'expected an email address'): + ... s("a@.com") +- >>> with raises(MultipleInvalid, 'expected an Email'): ++ >>> with raises(MultipleInvalid, 'expected an email address'): + ... s("a@.com") + >>> s('t...@x.com') + 't...@x.com' + """ + try: + if not v or "@" not in v: +- raise EmailInvalid("Invalid Email") ++ raise EmailInvalid("Invalid email address") + user_part, domain_part = v.rsplit('@', 1) + + if not (USER_REGEX.match(user_part) and DOMAIN_REGEX.match(domain_part)): +- raise EmailInvalid("Invalid Email") ++ raise EmailInvalid("Invalid email address") + return v + except: + raise ValueError + + +-@message('expected a Fully qualified domain name URL', cls=UrlInvalid) ++@message('expected a fully qualified domain name URL', cls=UrlInvalid) + def FqdnUrl(v): +- """Verify that the value is a Fully qualified domain name URL. ++ """Verify that the value is a fully qualified domain name URL. + + >>> s = Schema(FqdnUrl()) +- >>> with raises(MultipleInvalid, 'expected a Fully qualified domain name URL'): ++ >>> with raises(MultipleInvalid, 'expected a fully qualified domain name URL'): + ... s("http://localhost/") + >>> s('http://w3.org') + 'http://w3.org' +@@ -423,29 +478,29 @@ def Url(v): + raise ValueError + + +-@message('not a file', cls=FileInvalid) ++@message('Not a file', cls=FileInvalid) + @truth + def IsFile(v): + """Verify the file exists. + + >>> os.path.basename(IsFile()(__file__)).startswith('validators.py') + True +- >>> with raises(FileInvalid, 'not a file'): ++ >>> with raises(FileInvalid, 'Not a file'): + ... IsFile()("random_filename_goes_here.py") + >>> with raises(FileInvalid, 'Not a file'): + ... IsFile()(None) + """ + try: + if v: + v = str(v) + return os.path.isfile(v) + else: + raise FileInvalid('Not a file') + except TypeError: + raise FileInvalid('Not a file') + + +-@message('not a directory', cls=DirInvalid) ++@message('Not a directory', cls=DirInvalid) + @truth + def IsDir(v): + """Verify the directory exists. +@@ -487,20 +542,20 @@ def PathExists(v): + raise PathInvalid("Not a Path") + + +-def Maybe(validator): ++def Maybe(validator, msg=None): + """Validate that the object matches given validator or is None. + +- :raises Invalid: if the value does not match the given validator and is not +- None ++ :raises Invalid: If the value does not match the given validator and is not ++ None. + + >>> s = Schema(Maybe(int)) + >>> s(10) + 10 + >>> with raises(Invalid): + ... s("string") + + """ +- return Any(None, validator) ++ return Any(validator, None, msg=msg) + + + class Range(object): +@@ -533,23 +588,30 @@ class Range(object): + self.msg = msg + + def __call__(self, v): +- if self.min_included: +- if self.min is not None and not v >= self.min: +- raise RangeInvalid( +- self.msg or 'value must be at least %s' % self.min) +- else: +- if self.min is not None and not v > self.min: +- raise RangeInvalid( +- self.msg or 'value must be higher than %s' % self.min) +- if self.max_included: +- if self.max is not None and not v <= self.max: +- raise RangeInvalid( +- self.msg or 'value must be at most %s' % self.max) +- else: +- if self.max is not None and not v < self.max: +- raise RangeInvalid( +- self.msg or 'value must be lower than %s' % self.max) +- return v ++ try: ++ if self.min_included: ++ if self.min is not None and not v >= self.min: ++ raise RangeInvalid( ++ self.msg or 'value must be at least %s' % self.min) ++ else: ++ if self.min is not None and not v > self.min: ++ raise RangeInvalid( ++ self.msg or 'value must be higher than %s' % self.min) ++ if self.max_included: ++ if self.max is not None and not v <= self.max: ++ raise RangeInvalid( ++ self.msg or 'value must be at most %s' % self.max) ++ else: ++ if self.max is not None and not v < self.max: ++ raise RangeInvalid( ++ self.msg or 'value must be lower than %s' % self.max) ++ ++ return v ++ ++ # Objects that lack a partial ordering, e.g. None or strings will raise TypeError ++ except TypeError: ++ raise RangeInvalid( ++ self.msg or 'invalid value or type (must have a partial ordering)') + + def __repr__(self): + return ('Range(min=%r, max=%r, min_included=%r,' +@@ -579,32 +641,44 @@ class Clamp(object): + self.msg = msg + + def __call__(self, v): +- if self.min is not None and v < self.min: +- v = self.min +- if self.max is not None and v > self.max: +- v = self.max +- return v ++ try: ++ if self.min is not None and v < self.min: ++ v = self.min ++ if self.max is not None and v > self.max: ++ v = self.max ++ return v ++ ++ # Objects that lack a partial ordering, e.g. None or strings will raise TypeError ++ except TypeError: ++ raise RangeInvalid( ++ self.msg or 'invalid value or type (must have a partial ordering)') + + def __repr__(self): + return 'Clamp(min=%s, max=%s)' % (self.min, self.max) + + + class Length(object): + """The length of a value must be in a certain range.""" + + def __init__(self, min=None, max=None, msg=None): + self.min = min + self.max = max + self.msg = msg + + def __call__(self, v): +- if self.min is not None and len(v) < self.min: +- raise LengthInvalid( +- self.msg or 'length of value must be at least %s' % self.min) +- if self.max is not None and len(v) > self.max: +- raise LengthInvalid( +- self.msg or 'length of value must be at most %s' % self.max) +- return v ++ try: ++ if self.min is not None and len(v) < self.min: ++ raise LengthInvalid( ++ self.msg or 'length of value must be at least %s' % self.min) ++ if self.max is not None and len(v) > self.max: ++ raise LengthInvalid( ++ self.msg or 'length of value must be at most %s' % self.max) ++ return v ++ ++ # Objects that havbe no length e.g. None or strings will raise TypeError ++ except TypeError: ++ raise RangeInvalid( ++ self.msg or 'invalid value or type') + + def __repr__(self): + return 'Length(min=%s, max=%s)' % (self.min, self.max) +@@ -663,27 +737,29 @@ class In(object): + except TypeError: + check = True + if check: +- raise InInvalid(self.msg or 'value is not allowed') ++ raise InInvalid(self.msg or ++ 'value must be one of {}'.format(sorted(self.container))) + return v + + def __repr__(self): + return 'In(%s)' % (self.container,) + + + class NotIn(object): + """Validate that a value is not in a collection.""" + + def __init__(self, container, msg=None): + self.container = container + self.msg = msg + + def __call__(self, v): + try: + check = v in self.container + except TypeError: + check = True + if check: +- raise NotInInvalid(self.msg or 'value is not allowed') ++ raise NotInInvalid(self.msg or ++ 'value must not be one of {}'.format(sorted(self.container))) + return v + + def __repr__(self): +@@ -722,7 +798,7 @@ class ExactSequence(object): + the validators. + + :param msg: Message to deliver to user if validation fails. +- :param kwargs: All other keyword arguments are passed to the sub-Schema ++ :param kwargs: All other keyword arguments are passed to the sub-schema + constructors. + + >>> from voluptuous import Schema, ExactSequence +@@ -887,7 +963,7 @@ class Unordered(object): + class Number(object): + """ + Verify the number of digits that are present in the number(Precision), +- and the decimal places(Scale) ++ and the decimal places(Scale). + + :raises Invalid: If the value does not match the provided Precision and Scale. + +@@ -951,13 +1027,13 @@ class SomeOf(_WithSubValidators): + The output of each validator is passed as input to the next. + + :param min_valid: Minimum number of valid schemas. +- :param validators: a list of schemas or validators to match input against ++ :param validators: List of schemas or validators to match input against. + :param max_valid: Maximum number of valid schemas. + :param msg: Message to deliver to user if validation fails. +- :param kwargs: All other keyword arguments are passed to the sub-Schema constructors. ++ :param kwargs: All other keyword arguments are passed to the sub-schema constructors. + +- :raises NotEnoughValid: if the minimum number of validations isn't met +- :raises TooManyValid: if the more validations than the given amount is met ++ :raises NotEnoughValid: If the minimum number of validations isn't met. ++ :raises TooManyValid: If the maximum number of validations is exceeded. + + >>> validate = Schema(SomeOf(min_valid=2, validators=[Range(1, 5), Any(float, int), 6.6])) + >>> validate(6.6) Added: 0003-Fixes-for-Rust-1.56.patch =================================================================== --- 0003-Fixes-for-Rust-1.56.patch (rev 0) +++ 0003-Fixes-for-Rust-1.56.patch 2022-01-11 20:04:35 UTC (rev 434257) @@ -0,0 +1,447 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Henri Sivonen <hsivo...@hsivonen.fi> +Date: Thu, 15 Jul 2021 08:42:08 +0000 +Subject: [PATCH] Fixes for Rust 1.56 + +packed_simd updates cherry-picked from Firefox Nightly. +--- + .cargo/config.in | 2 +- + Cargo.lock | 2 +- + Cargo.toml | 2 +- + .../rust/packed_simd/.cargo-checksum.json | 2 +- + third_party/rust/packed_simd/Cargo.toml | 6 +- + third_party/rust/packed_simd/build.rs | 28 ++++- + .../rust/packed_simd/src/api/shuffle.rs | 116 ------------------ + .../rust/packed_simd/src/codegen/llvm.rs | 62 ---------- + third_party/rust/packed_simd/src/lib.rs | 6 +- + 9 files changed, 35 insertions(+), 191 deletions(-) + +diff --git a/.cargo/config.in b/.cargo/config.in +index 37fac6a1008a..1597f123c65c 100644 +--- a/.cargo/config.in ++++ b/.cargo/config.in +@@ -50,7 +50,7 @@ tag = "v0.3.0" + [source."https://github.com/hsivonen/packed_simd"] + git = "https://github.com/hsivonen/packed_simd" + replace-with = "vendored-sources" +-rev = "07d285ba65d9a4e3b9d76eacbf4c6489e125127d" ++rev = "8b4bd7d8229660a749dbe419a57ea01df9de5453" + + [source."https://github.com/djg/cubeb-pulse-rs"] + git = "https://github.com/djg/cubeb-pulse-rs" +diff --git a/Cargo.lock b/Cargo.lock +index 990d6a4a582b..fae4794d9478 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -3426,7 +3426,7 @@ dependencies = [ + [[package]] + name = "packed_simd" + version = "0.3.4" +-source = "git+https://github.com/hsivonen/packed_simd?rev=07d285ba65d9a4e3b9d76eacbf4c6489e125127d#07d285ba65d9a4e3b9d76eacbf4c6489e125127d" ++source = "git+https://github.com/hsivonen/packed_simd?rev=8b4bd7d8229660a749dbe419a57ea01df9de5453#8b4bd7d8229660a749dbe419a57ea01df9de5453" + dependencies = [ + "cfg-if", + "rustc_version", +diff --git a/Cargo.toml b/Cargo.toml +index 897daad41bed..171de100291a 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -66,7 +66,7 @@ panic = "abort" + + [patch.crates-io] + libudev-sys = { path = "dom/webauthn/libudev-sys" } +-packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="07d285ba65d9a4e3b9d76eacbf4c6489e125127d" } ++packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="8b4bd7d8229660a749dbe419a57ea01df9de5453" } + rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="d510da5999a744c563b0acd18056069d1698273f" } + nix = { git = "https://github.com/shravanrn/nix/", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" } + spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3" } +diff --git a/third_party/rust/packed_simd/.cargo-checksum.json b/third_party/rust/packed_simd/.cargo-checksum.json +index 5d5b8e066ecb..51a1cee537e3 100644 +--- a/third_party/rust/packed_simd/.cargo-checksum.json ++++ b/third_party/rust/packed_simd/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{".appveyor.yml":"f1ed01850e0d725f9498f52a1a63ddf40702ad6e0bf5b2d7c4c04d76e96794a3",".travis.yml":"d56de6531d3c4880e3aada85ac8e6d7388e5d781871e181cb8ade2a746d5d5f5","Cargo.toml":"c7124d80c769e792e6a39f523e72b845ed43d6e3a68dd37af4579fbf58b50828","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"49d01e49a33393af64fa6c813b6a724f68a4d1abfbedcb96413651ed105aa820","bors.toml":"dee881dc69b9b7834e4eba5d95c3ed5a416d4628815a167d6a22d4cb4fb064b8","build.rs":"d344fca66796a5ec1ee681edb1aec7ae3c999262a2f215c26f87e9b1ba00ac94","ci/all.sh":"2ae6b2445b4db83833e40b37efd0016c6b9879ee988b9b3ef94db5439a3e1606","ci/android-install-ndk.sh":"0f1746108cc30bf9b9ba45bcde7b19fc1a8bdf5b0258035b4eb8dc69b75efac4","ci/android-install-sdk.sh":"3490432022c5c8f5a115c084f7a9aca1626f96c0c87ffb62019228c4346b47e4","ci/android-sysimage.sh":"ebf4e5daa1f0fe1b2092b79f0f3f161c4c4275cb744e52 352c4d81ab451e4c5a","ci/benchmark.sh":"b61d19ef6b90deba8fb79dee74c8b062d94844676293da346da87bb78a9a49a4","ci/deploy_and_run_on_ios_simulator.rs":"ec8ecf82d92072676aa47f0d1a3d021b60a7ae3531153ef12d2ff4541fc294dc","ci/docker/aarch64-linux-android/Dockerfile":"ace2e7d33c87bc0f6d3962a4a3408c04557646f7f51ab99cfbf574906796b016","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"da88c0d50f16dc08448c7fdf1fa5ed2cbe576acf9e7dd85b5b818621b2a8c702","ci/docker/arm-linux-androideabi/Dockerfile":"370e55d3330a413a3ccf677b3afb3e0ef9018a5fab263faa97ae8ac017fc2286","ci/docker/arm-unknown-linux-gnueabi/Dockerfile":"bb5f8ae890707c128652290ffc544447643bf12037ddd73c6ad6989f848cb380","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"1afaefcbc05b740859acd4e067bc92439be6bcbe8f2e9678474fb434bcd398d9","ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile":"8282ea707a94109beed47a57574755e2d58401735904a03f85fb64c578c53b4f","ci/docker/i586-unknown-linux-gnu/Dockerfile":"49792922269f371bd29da4727e9085101b27be67a6b9 7755d0196c63317f7abb","ci/docker/i686-unknown-linux-gnu/Dockerfile":"49792922269f371bd29da4727e9085101b27be67a6b97755d0196c63317f7abb","ci/docker/mips-unknown-linux-gnu/Dockerfile":"b2ebc25797612c4f8395fe9d407725156044955bfbcf442036b7f55b43a5f9da","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"b0c1692ac65bc56dd30494b1993d8e929c48cc9c4b92029b7c7592af6d4f9220","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"4e9249c179300138141d0b2b7401b11897f64aed69f541f078c1db4594df2827","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"3164c52b0dcbb01afa78292b15b5c43503ccf0491cf6eb801ec2bf22ae274e52","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"786f799d0b56eb54d7b6c4b00e1aed4ce81776e14e44767e083c89d014b72004","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"e8bc363837cd9c2d8b22402acb8c1c329efc11ba5d12170603d2fe2eae9da059","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"47998d45b781d797b9e6085ebe898d90de0c952b54537a8db4e8d7503eb032d9","ci/docker/s390x-unknown-linux-gnu/Do ckerfile":"93fb44df3d7fd31ead158570667c97b5076a05c3d968af4a84bc13819a8f2db8","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"da1c39a3ff1fe22e41395fa7c8934e90b4c1788e551b9aec6e38bfd94effc437","ci/docker/thumbv7neon-linux-androideabi/Dockerfile":"c2decd5591bd7a09378901bef629cd944acf052eb55e4f35b79eb9cb4d62246a","ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile":"51955a8bf3c4d440f47382af6f5426ebff94ab01a04da36175babda9a057740f","ci/docker/wasm32-unknown-unknown/Dockerfile":"3e5f294bc1e004aa599086c2af49d6f3e7459fa250f5fbdd60cf67d53db78758","ci/docker/x86_64-linux-android/Dockerfile":"685040273cf350d5509e580ac451555efa19790c8723ca2af066adadc6880ad2","ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile":"44b6203d9290bfdc53d81219f0937e1110847a23dd982ec8c4de388354f01536","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"7f4e3ca5fa288ea70edb4d1f75309708cd30b192e2e4444e61c4d5b3b58f89cf","ci/dox.sh":"434e9611c52e389312d2b03564adf09429f10cc76fe66a8644adb104903b87b7","ci/linux-s390x. sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/lld-shim.rs":"3d7f71ec23a49e2b67f694a0168786f9a954dda15f5a138815d966643fd3fcc3","ci/max_line_width.sh":"0a1518bba4c9ecaa55694cb2e9930d0e19c265baabf73143f17f9cf285aaa5bb","ci/run-docker.sh":"92e036390ad9b0d16f109579df1b5ced2e72e9afea40c7d011400ebd3a2a90de","ci/run.sh":"41dd6a60efaaeae9661a01370cce98b631f78392859a0cf68c946c0a16edf5f7","ci/run_examples.sh":"d1a23c6c35374a0678ba5114b9b8fefd8be0a79e774872a8bf0898d1baca18d0","ci/runtest-android.rs":"145a8e9799a5223975061fe7e586ade5669ee4877a7d7a4cf6b4ab48e8e36c7c","ci/setup_benchmarks.sh":"fae3960023f6f3d1388cd2ad22fdbab4b075f1f29dd4292d7994a20783beb6cf","ci/test-runner-linux":"c8aa6025cff5306f4f31d0c61dc5f9d4dd5a1d189ab613ef8d4c367c694d9ccd","contributing.md":"2cc8c9c560ae17867e69b06d09b758dbf7bc39eb774ada50a743724b10acc0a2","perf-guide/.gitignore":"fe82c7da551079d832cf74200b0 b359b4df9828cb4a0416fa7384f07a2ae6a13","perf-guide/book.toml":"115a98284126c6b180178b44713314cc494f08a71662ee2ce15cf67f17a51064","perf-guide/src/SUMMARY.md":"3e03bffc991fdc2050f3d51842d72d9d21ea6abab56a3baf3b2d5973a78b89e1","perf-guide/src/ascii.css":"29afb08833b2fe2250f0412e1fa1161a2432a0820a14953c87124407417c741a","perf-guide/src/bound_checks.md":"5e4991ff58a183ef0cd9fdc1feb4cd12d083b44bdf87393bbb0927808ef3ce7d","perf-guide/src/float-math/approx.md":"8c09032fa2d795a0c5db1775826c850d28eb2627846d0965c60ee72de63735ad","perf-guide/src/float-math/fma.md":"311076ba4b741d604a82e74b83a8d7e8c318fcbd7f64c4392d1cf5af95c60243","perf-guide/src/float-math/fp.md":"04153e775ab6e4f0d7837bcc515230d327b04edfa34c84ce9c9e10ebaeef2be8","perf-guide/src/float-math/svml.md":"0798873b8eedaeda5fed62dc91645b57c20775a02d3cd74d8bd06958f1516506","perf-guide/src/introduction.md":"9f5a19e9e6751f25d2daad39891a0cc600974527ec4c8305843f9618910671bd","perf-guide/src/prof/linux.md":"447731eb5de7d69166728fdbc5ecb0c0c9db 678ea493b45a592d67dd002184c0","perf-guide/src/prof/mca.md":"f56d54f3d20e7aa4d32052186e8237b03d65971eb5d112802b442570ff11d344","perf-guide/src/prof/profiling.md":"8a650c0fd6ede0964789bb6577557eeef1d8226a896788602ce61528e260e43c","perf-guide/src/target-feature/attribute.md":"615f88dca0a707b6c416fa605435dd6e1fb5361cc639429cbf68cd87624bd78b","perf-guide/src/target-feature/features.md":"17077760ff24c006b606dd21889c53d87228f4311f3ba3a574f9afdeacd86165","perf-guide/src/target-feature/inlining.md":"7ed1d7068d8173a00d84c16cfe5871cd68b9f04f8d0cca2d01ebc84957ebf2f6","perf-guide/src/target-feature/practice.md":"c4b371842e0086df178488fec97f20def8f0c62ee588bcd25fd948b9b1fa227e","perf-guide/src/target-feature/runtime.md":"835425f5ee597fb3e51d36e725a81ebee29f4561231d19563cd4da81dbb1cfcb","perf-guide/src/target-feature/rustflags.md":"ab49712e9293a65d74d540ba4784fcb57ff1119ec05a575d895c071f1a620f64","perf-guide/src/vert-hor-ops.md":"c6211c0ee91e60552ec592d89d9d957eedc21dee3cbd89e1ad6765ea06a27471","r ustfmt.toml":"de6101d0670bad65fb3b337d56957d2a024e017e5ab146ec784d77312daaf8ff","src/api.rs":"f6e92f056565e6fd93f98829a408aee9e790251e0cbd8a8bc30c8662b4d6fabb","src/api/bit_manip.rs":"c47a4d0f7451f7e35d07715e4f39a472e07457fd456fdb726864a4f6887252a3","src/api/bitmask.rs":"6d2beefd62ee5d9c8eb060bee6abc641616bf828c99f82abf97b21bf004e894b","src/api/cast.rs":"03b94a3d316ac7b7be7068810044911e965e889a0ace7bae762749ca74a92747","src/api/cast/macros.rs":"b0a14d0c83ad2ebb7a275180f6d9e3f2bc312ba57a7d3d6c39fad4e0f20f9408","src/api/cast/v128.rs":"2107ea6a426a0fe37a0aa6a03a579ff0bdeb5a1599ea76e2d81734a82f41276d","src/api/cast/v16.rs":"d785cf93b8e61200c9ae1c32b9f5e9d9518e87c261c56bcaf92f2e47b0009eb4","src/api/cast/v256.rs":"b81fcfd367a5de532d922dedf18579e53666facef7957c0e1bc827825e500ae6","src/api/cast/v32.rs":"2aac9ec0a67a97328ba908b13a1ff98da3dcd7781910d592d31f9207cbd9a7d2","src/api/cast/v512.rs":"33b33de818f8d4eccc982bc2f3951a8b3d03e9762ec02789b3df82e3f5ed3fc3","src/api/cast/v64.rs":"ec878917d52 a8c952633251b3a938a2cbe0a63fee6d12c15840d9f1343d1f394","src/api/cmp.rs":"357c3a2a09c6d4611c32dd7fa95be2fae933d513e229026ec9b44451a77b884e","src/api/cmp/eq.rs":"60f70f355bae4cb5b17db53204cacc3890f70670611c17df638d4c04f7cc8075","src/api/cmp/ord.rs":"589f7234761c294fa5df8f525bc4acd5a47cdb602207d524a0d4e19804cd9695","src/api/cmp/partial_eq.rs":"3ed23d2a930b0f9750c3a5309da766b03dc4f9c4d375b42ad3c50fe732693d15","src/api/cmp/partial_ord.rs":"e16b11805c94048acd058c93994b5bc74bb187f8d7e3b86a87df60e1601467f9","src/api/cmp/vertical.rs":"de3d62f38eba817299aa16f1e1939954c9a447e316509397465c2830852ba053","src/api/default.rs":"67bf21c134127d12a7028c8b88a57f0ceee8ccbd74976da8ca74eb9f16a174d5","src/api/fmt.rs":"67fb804bb86b6cd77cf8cd492b5733ce437071b66fe3297278b8a6552c325dda","src/api/fmt/binary.rs":"35cb5c266197d6224d598fb3d286e5fe48ef0c01ed356c2ff6fe9ba946f96a92","src/api/fmt/debug.rs":"aa18eea443bf353fea3db8b1a025132bbcaf91e747ecfa43b8d9fce9af395a0c","src/api/fmt/lower_hex.rs":"69d5be366631af309f 214e8031c8c20267fcc27a695eac6f45c6bc1df72a67e6","src/api/fmt/octal.rs":"9eb11ba3d990213f3c7f1ec25edba7ce997cb1320e16d308c83498ba6b9bfbd9","src/api/fmt/upper_hex.rs":"a4637d085b7bb20e759ce58e08435b510a563ba3dd468af2b03560fdc5511562","src/api/from.rs":"2e599d8329cb05eaf06224cc441355c4b7b51254fc19256619333be8c149d444","src/api/from/from_array.rs":"dd3fc64fb17d6184bb60343f8da26a05edf0e5f3c14caf55d49fa15e21d948dc","src/api/from/from_vector.rs":"9764371aa9e6005aace74dea14f59e5611a095b7cf42707940924749282c52f0","src/api/hash.rs":"5076ece87969592c876486f5b1ea8affbeaec379d1a14a30859e0aa5592019de","src/api/into_bits.rs":"82297f0697d67b5a015e904e7e6e7b2a7066ba825bc54b94b4ff3e22d7a1eefb","src/api/into_bits/arch_specific.rs":"4acab22af90112072a2608fafc66fccf18cbf2e641b72af28404d30833cfe5c6","src/api/into_bits/macros.rs":"d762406de25aedff88d460dec7a80dc8e825a2a419d53218ce007efa6a1d3e04","src/api/into_bits/v128.rs":"3c502b9ce85bfcc727d6f053d49030b0ba9f46bd8e9fa5aa109382a2033f9f87","src/api/into_bi ts/v16.rs":"f4f4f61ba88aa51b158ec56ca3dce234349aea0daf2b3029a14ab5125d1e41e5","src/api/into_bits/v256.rs":"c24c3676707a0feb868dabe00766d74deab176794f905f79056337198c7cf790","src/api/into_bits/v32.rs":"905ba683d342fa32f4202b80bb46530807bd0a5b588f6c2e8c9f475223c47775","src/api/into_bits/v512.rs":"7cd89005215a9326eed8a742125dcbf981cba1aca72a313478eabf3df71b1160","src/api/into_bits/v64.rs":"d6238022ccff7b92e55b3f6017fc269acb6f36330a6d7e8fb389853a0f1b6478","src/api/math.rs":"8b2a2fc651917a850539f993aa0b9e5bf4da67b11685285b8de8cdca311719ec","src/api/math/float.rs":"61d2794d68262a1090ae473bd30793b5f65cf732f32a6694a3af2ce5d9225616","src/api/math/float/abs.rs":"5b6b2701e2e11135b7ce58a05052ea8120e10e4702c95d046b9d21b827b26bf8","src/api/math/float/consts.rs":"78acba000d3fa527111300b6327c1932de9c4c1e02d4174e1a5615c01463d38c","src/api/math/float/cos.rs":"4c2dd7173728ef189314f1576c9486e03be21b7da98843b2f9011282a7979e31","src/api/math/float/exp.rs":"7c6d5f1e304f498a01cfa23b92380c815d7da0ad94eae348 3783bc377d287eef","src/api/math/float/ln.rs":"54c7583f3df793b39ff57534fade27b41bb992439e5dc178252f5ca3190a3e54","src/api/math/float/mul_add.rs":"62cac77660d20159276d4c9ef066eb90c81cbddb808e8e157182c607625ad2eb","src/api/math/float/mul_adde.rs":"bae056ee9f3a70df39ec3c3b2f6437c65303888a7b843ef1a5bcf1f5aca0e602","src/api/math/float/powf.rs":"9ddb938984b36d39d82a82f862f80df8f7fb013f1d222d45698d41d88472f568","src/api/math/float/recpre.rs":"589225794ff1dbf31158dff660e6d4509ecc8befbb57c633900dea5ac0b840d6","src/api/math/float/rsqrte.rs":"a32abdcc318d7ccc8448231f54d75b884b7cbeb03a7d595713ab6243036f4dbf","src/api/math/float/sin.rs":"cbd3622b7df74f19691743001c8cf747a201f8977ad90542fee915f37dcd1e49","src/api/math/float/sqrt.rs":"0c66d5d63fb08e4d99c6b82a8828e41173aff1ac9fa1a2764a11fac217ccf2ac","src/api/math/float/sqrte.rs":"731e1c9f321b662accdd27dacb3aac2e8043b7aecb2f2161dde733bd9f025362","src/api/minimal.rs":"1f22bcc528555444e76de569ec0ae2029b9ae9d04805efeafa93369c8098036b","src/api/minimal/i uf.rs":"819cff26d3e196f807645bcc1d79eb27d9f175edb89910f2274d52a1e913cd11","src/api/minimal/mask.rs":"0cae10ae1fc65f5070e686c0c79bfba27b86b33d6c399367bd4848fb367dcec4","src/api/minimal/ptr.rs":"f65ebf21866a863485344432d9a7a9b7418f7fad5fdf841a4e2fa56ec0766ad0","src/api/ops.rs":"3e273b277a0f3019d42c3c59ca94a5afd4885d5ae6d2182e5089bbeec9de42ee","src/api/ops/scalar_arithmetic.rs":"d2d5ad897a59dd0787544f927e0e7ca4072c3e58b0f4a2324083312b0d5a21d7","src/api/ops/scalar_bitwise.rs":"482204e459ca6be79568e1c9f70adbe2d2151412ddf122fb2161be8ebb51c40c","src/api/ops/scalar_mask_bitwise.rs":"c250f52042e37b22d57256c80d4604104cfd2fbe2a2e127c676267270ca5d350","src/api/ops/scalar_shifts.rs":"987f8fdebeedc16e3d77c1b732e7826ef70633c541d16dfa290845d5c6289150","src/api/ops/vector_arithmetic.rs":"ddca15d09ddeef502c2ed66117a62300ca65d87e959e8b622d767bdf1c307910","src/api/ops/vector_bitwise.rs":"b3968f7005b649edcc22a54e2379b14d5ee19045f2e784029805781ae043b5ee","src/api/ops/vector_float_min_max.rs":"76bf8cb607e 2c442923c1da1061a6b80d742d607408033c2a3761161114cf2a0","src/api/ops/vector_int_min_max.rs":"a378789c6ff9b32a51fbd0a97ffd36ed102cd1fe6a067d2b02017c1df342def6","src/api/ops/vector_mask_bitwise.rs":"5052d18517d765415d40327e6e8e55a312daaca0a5e2aec959bfa54b1675f9c8","src/api/ops/vector_neg.rs":"5c62f6b0221983cdbd23cd0a3af3672e6ba1255f0dfe8b19aae6fbd6503e231b","src/api/ops/vector_rotates.rs":"03cbe8a400fd7c688e4ee771a990a6754f2031b1a59b19ae81158b21471167e5","src/api/ops/vector_shifts.rs":"9bf69d0087268f61009e39aea52e03a90f378910206b6a28e8393178b6a5d0e0","src/api/ptr.rs":"8a793251bed6130dcfb2f1519ceaa18b751bbb15875928d0fb6deb5a5e07523a","src/api/ptr/gather_scatter.rs":"138b02b0fa1fdd785b95fc7048488be7e3ef277e0bc6ac5affb26af6a11d41a6","src/api/reductions.rs":"ae5baca81352ecd44526d6c30c0a1feeda475ec73ddd3c3ec6b14e944e5448ee","src/api/reductions/bitwise.rs":"8bf910ae226188bd15fc7e125f058cd2566b6186fcd0cd8fd020f352c39ce139","src/api/reductions/float_arithmetic.rs":"3997125f87c7bac07fffda3a1d81 4e0e6c77ca83099546a9e2fb8dc92231129f","src/api/reductions/integer_arithmetic.rs":"47471da1c5f859489680bb5d34ced3d3aa20081c16053a3af121a4496fcb57bf","src/api/reductions/mask.rs":"db83327a950e33a317f37fd33ca4e20c347fb415975ec024f3e23da8509425af","src/api/reductions/min_max.rs":"d40ccad10220ae5982785015bef92e4b0749583c2b060cad0aa4f92d99491c3b","src/api/select.rs":"a98e2ccf9fc6bdeed32d337c8675bc96c2fbe2cc34fbf149ad6047fb8e749774","src/api/shuffle.rs":"71da1f2d9ab082d70cb3ed98a43649f2e9306d69c51edc861b984b907cce018d","src/api/shuffle1_dyn.rs":"bfea5a91905b31444e9ef7ca6eddb7a9606b7e22d3f71bb842eb2795a0346620","src/api/slice.rs":"ee87484e8af329547b9a5d4f2a69e8bed6ea10bbd96270d706083843d4eea2ac","src/api/slice/from_slice.rs":"53691dc9958dec4180004a42d140552b405e8cd875caa282e89af378dd63c8bc","src/api/slice/write_to_slice.rs":"3dd2e511af43dc6fa911dd0b12f6f00323e0acd1202a01365db400557d52a89b","src/api/swap_bytes.rs":"4a6792a2e49a77475e1b237592b4b2804dbddb79c474331acd0dd71b36934259","src/codege n.rs":"a29d38fa0a85eaf787fb49989e625bf64effd5f39c126fbb2a24be206d2a3917","src/codegen/bit_manip.rs":"17ecebcff1f080e712fea5eb51602a73f4201ed56a198220342c8eb55bb92692","src/codegen/llvm.rs":"e05be80c33ed8c65a03abd5bd4a9b748c6903ca1583036968360e187f98d5868","src/codegen/math.rs":"35f96e37a78fcf0cdb02146b7f27a45108fe06a37fc2a54d8851ce131a326178","src/codegen/math/float.rs":"dd86c0449e576c83b719700962ac017c332987fac08d91f2b7a2b1b883598170","src/codegen/math/float/abs.rs":"f56e2b4b8055ea861c1f5cbc6b6e1d8e7e5af163b62c13574ddee4e09513bfbc","src/codegen/math/float/cos.rs":"ef3b511a24d23045b310315e80348a9b7fedb576fc2de52d74290616a0abeb2a","src/codegen/math/float/cos_pi.rs":"4e7631a5d73dac21531e09ef1802d1180f8997509c2c8fa9f67f322194263a97","src/codegen/math/float/exp.rs":"61b691598c41b5622f24e4320c1bdd08701e612a516438bdddcc728fc3405c8c","src/codegen/math/float/ln.rs":"46b718b1ba8c9d99e1ad40f53d20dfde08a3063ca7bd2a9fdd6698e060da687e","src/codegen/math/float/macros.rs":"dd42135fff13f9aca4fd3a1a 4e14c7e6c31aadc6d817d63b0d2fb9e62e062744","src/codegen/math/float/mul_add.rs":"a37bf764345d4b1714f97e83897b7cf0855fc2811704bcbc0012db91825339e1","src/codegen/math/float/mul_adde.rs":"c75702bfcb361de45964a93caf959a695ef2376bd069227600b8c6872665c755","src/codegen/math/float/powf.rs":"642346e982bc4c39203de0864d2149c4179cd7b21cf67a2951687932b4675872","src/codegen/math/float/sin.rs":"9d68164c90cdca6a85155040cdac42e27342ebe0b925273ef1593df721af4258","src/codegen/math/float/sin_cos_pi.rs":"9be02ad48585a1e8d99129382fbffbaed47852f15459256a708850b6b7a75405","src/codegen/math/float/sin_pi.rs":"9890347905b4d4a3c7341c3eb06406e46e60582bcf6960688bd727e5dadc6c57","src/codegen/math/float/sqrt.rs":"e3c60dcfb0c6d2fc62adabcc931b2d4040b83cab294dea36443fb4b89eb79e34","src/codegen/math/float/sqrte.rs":"f0f4ef9eb475ae41bcc7ec6a95ad744ba6b36925faa8b2c2814004396d196b63","src/codegen/pointer_sized_int.rs":"a70697169c28218b56fd2e8d5353f2e00671d1150d0c8cef77d613bdfacd84cb","src/codegen/reductions.rs":"645e25147 46d01387ddd07f0aa4ffd8430cc9ab428d4fb13773ea319fa25dd95","src/codegen/reductions/mask.rs":"8f1afe6aabf096a3278e1fc3a30f736e04aa8b9ce96373cee22162d18cfe2702","src/codegen/reductions/mask/aarch64.rs":"cba6e17603d39795dcfe8339b6b7d8714c3e162a1f0a635979f037aa24fe4206","src/codegen/reductions/mask/arm.rs":"9447904818aa2c7c25d0963eead452a639a11ca7dbd6d21eedbfcaade07a0f33","src/codegen/reductions/mask/fallback.rs":"7a0ef9f7fd03ae318b495b95e121350cd61caffc5cc6ee17fabf130d5d933453","src/codegen/reductions/mask/fallback_impl.rs":"76547f396e55ef403327c77c314cf8db8c7a5c9b9819bfb925abeacf130249e5","src/codegen/reductions/mask/x86.rs":"4c0457b6276f9809223590092a4c77e73812330326cdabd28df06820de10a310","src/codegen/reductions/mask/x86/avx.rs":"b4913d87844c522903641cbbf10db4551addb1ce5e9e78278e21612fa65c733b","src/codegen/reductions/mask/x86/avx2.rs":"677aed3f056285285daa3adff8bc65e739630b4424defa6d9665e160f027507e","src/codegen/reductions/mask/x86/sse.rs":"5a827c6f8e1074e324f6e4c778942badb6c09d747a 7142de01cadec1240b3428","src/codegen/reductions/mask/x86/sse2.rs":"bc38e6c31cb4b3d62147eba6cac264e519e2a48e0f7ce9010cfa9ef0cf0ec9fd","src/codegen/shuffle.rs":"99a0b52c2470097b028af134221099baba383446a01c7dc3ae560209880bcdb7","src/codegen/shuffle1_dyn.rs":"abbc95305dad815ab2ded3e8357791bcff080414668b55a4d397558a1d202d01","src/codegen/swap_bytes.rs":"1d6cdc716eadddc92b4fd506b2445a821caa8dc00860447de09d7ebd69c2087f","src/codegen/v128.rs":"94226b31ec403d18d9d2fe06713f147c9c79e9b5f9105089088266313f843185","src/codegen/v16.rs":"ddec4ffb66b6f7aaffb9a1780c5ddba82557abd74f45073d335047e04cf74924","src/codegen/v256.rs":"6b63917f0444118d6b1595bff2045e59b97c4d24012bd575f69f1f0efc5a0241","src/codegen/v32.rs":"3477b3c5540aed86e61e2f5807dd31db947413cec9181c587d93ed6ec74f0eba","src/codegen/v512.rs":"5854f99d3aabc4cd42b28a20d9ce447756dc2ba024a409a69b6a8ae1f1842fc5","src/codegen/v64.rs":"e9e89caebfe63d10c0cbca61e4dfdba3b7e02ee0989170f80beed23237ddd950","src/codegen/vPtr.rs":"711c753a08d53a2879c4fb87a0 762c46ce4e34c22f0ca88d2e4c557a0f679969","src/codegen/vSize.rs":"eeee9858749aa82142b27bc120d1989bb74a6b82e1e4efbbeaccc9634dc9acfc","src/lib.rs":"2924d414fe7d32bb5f0bb92596a5af654f934d92f81dc1fd9b1a6c580388e5bd","src/masks.rs":"be05e923ac58fe6eb61311561b5583cd306574f206dc09fe8e3c7de3dd0c1433","src/sealed.rs":"ae7fdeaf5d84cd7710ed730ca72ca7eaba93df6cb0acb183e5c0a7327acf197f","src/testing.rs":"1d3a7862ef625e235a5734ad7204e68d350f902c0695182b1f08a0552432416e","src/testing/macros.rs":"6378856d7a40ba5ec5c7c0dad6327d79f0c77266921c24296d10aed6c68e9b98","src/testing/utils.rs":"5ec6a47b836f364ec6dede19750a19eaac704162327d03041eb0f007d5f8d75c","src/v128.rs":"16cf9a8e7156b899ee9b9cd3f2dba9d13ec63289bea8c3ee9ae2e43ad9510288","src/v16.rs":"cb6465cf1e00bf530183af1819b9fe3d7eec978f8765d5e85d9b58a39a4b4045","src/v256.rs":"fe235017da18c7f3c361831c60e3173ad304d8ea1e95d64ebebc79da2d708511","src/v32.rs":"145d347855bac59b2de6508f9e594654e6c330423af9edc0e2ac8f4d1abdf45e","src/v512.rs":"f372f277f3e62eb5c945 bb1c460333fdb17b6974fcc876633788ff53bded9599","src/v64.rs":"0b8079881b71575e3414be0b7f8f7eaba65281ba6732f2b2f61f73e95b6f48f7","src/vPtr.rs":"8b3e433d487180bb4304ff71245ecad90f0010f43e139a72027b672abe58facc","src/vSize.rs":"eda5aa020706cbf94d15bada41a0c2a35fc8f3f37cb7c2cd6f34d201399a495e","tests/endianness.rs":"7db22078f31fe1421fc2d21f2e6b9df5eb0bdc99c10f6985d3a74c0df8f205dc"},"package":null} +\ No newline at end of file ++{"files":{".appveyor.yml":"f1ed01850e0d725f9498f52a1a63ddf40702ad6e0bf5b2d7c4c04d76e96794a3",".travis.yml":"d56de6531d3c4880e3aada85ac8e6d7388e5d781871e181cb8ade2a746d5d5f5","Cargo.toml":"b6f063e65c1f8d71c51204444d4e93cd514cb310dedfd1e85b731c1acc63ab4a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"49d01e49a33393af64fa6c813b6a724f68a4d1abfbedcb96413651ed105aa820","bors.toml":"dee881dc69b9b7834e4eba5d95c3ed5a416d4628815a167d6a22d4cb4fb064b8","build.rs":"9d7f69238f5dfefa3c49744159c2f484feb4c32c9aefe79696ebe97a89b2957f","ci/all.sh":"2ae6b2445b4db83833e40b37efd0016c6b9879ee988b9b3ef94db5439a3e1606","ci/android-install-ndk.sh":"0f1746108cc30bf9b9ba45bcde7b19fc1a8bdf5b0258035b4eb8dc69b75efac4","ci/android-install-sdk.sh":"3490432022c5c8f5a115c084f7a9aca1626f96c0c87ffb62019228c4346b47e4","ci/android-sysimage.sh":"ebf4e5daa1f0fe1b2092b79f0f3f161c4c4275cb744e52 352c4d81ab451e4c5a","ci/benchmark.sh":"b61d19ef6b90deba8fb79dee74c8b062d94844676293da346da87bb78a9a49a4","ci/deploy_and_run_on_ios_simulator.rs":"ec8ecf82d92072676aa47f0d1a3d021b60a7ae3531153ef12d2ff4541fc294dc","ci/docker/aarch64-linux-android/Dockerfile":"ace2e7d33c87bc0f6d3962a4a3408c04557646f7f51ab99cfbf574906796b016","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"da88c0d50f16dc08448c7fdf1fa5ed2cbe576acf9e7dd85b5b818621b2a8c702","ci/docker/arm-linux-androideabi/Dockerfile":"370e55d3330a413a3ccf677b3afb3e0ef9018a5fab263faa97ae8ac017fc2286","ci/docker/arm-unknown-linux-gnueabi/Dockerfile":"bb5f8ae890707c128652290ffc544447643bf12037ddd73c6ad6989f848cb380","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"1afaefcbc05b740859acd4e067bc92439be6bcbe8f2e9678474fb434bcd398d9","ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile":"8282ea707a94109beed47a57574755e2d58401735904a03f85fb64c578c53b4f","ci/docker/i586-unknown-linux-gnu/Dockerfile":"49792922269f371bd29da4727e9085101b27be67a6b9 7755d0196c63317f7abb","ci/docker/i686-unknown-linux-gnu/Dockerfile":"49792922269f371bd29da4727e9085101b27be67a6b97755d0196c63317f7abb","ci/docker/mips-unknown-linux-gnu/Dockerfile":"b2ebc25797612c4f8395fe9d407725156044955bfbcf442036b7f55b43a5f9da","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"b0c1692ac65bc56dd30494b1993d8e929c48cc9c4b92029b7c7592af6d4f9220","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"4e9249c179300138141d0b2b7401b11897f64aed69f541f078c1db4594df2827","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"3164c52b0dcbb01afa78292b15b5c43503ccf0491cf6eb801ec2bf22ae274e52","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"786f799d0b56eb54d7b6c4b00e1aed4ce81776e14e44767e083c89d014b72004","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"e8bc363837cd9c2d8b22402acb8c1c329efc11ba5d12170603d2fe2eae9da059","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"47998d45b781d797b9e6085ebe898d90de0c952b54537a8db4e8d7503eb032d9","ci/docker/s390x-unknown-linux-gnu/Do ckerfile":"93fb44df3d7fd31ead158570667c97b5076a05c3d968af4a84bc13819a8f2db8","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"da1c39a3ff1fe22e41395fa7c8934e90b4c1788e551b9aec6e38bfd94effc437","ci/docker/thumbv7neon-linux-androideabi/Dockerfile":"c2decd5591bd7a09378901bef629cd944acf052eb55e4f35b79eb9cb4d62246a","ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile":"51955a8bf3c4d440f47382af6f5426ebff94ab01a04da36175babda9a057740f","ci/docker/wasm32-unknown-unknown/Dockerfile":"3e5f294bc1e004aa599086c2af49d6f3e7459fa250f5fbdd60cf67d53db78758","ci/docker/x86_64-linux-android/Dockerfile":"685040273cf350d5509e580ac451555efa19790c8723ca2af066adadc6880ad2","ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile":"44b6203d9290bfdc53d81219f0937e1110847a23dd982ec8c4de388354f01536","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"7f4e3ca5fa288ea70edb4d1f75309708cd30b192e2e4444e61c4d5b3b58f89cf","ci/dox.sh":"434e9611c52e389312d2b03564adf09429f10cc76fe66a8644adb104903b87b7","ci/linux-s390x. sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/lld-shim.rs":"3d7f71ec23a49e2b67f694a0168786f9a954dda15f5a138815d966643fd3fcc3","ci/max_line_width.sh":"0a1518bba4c9ecaa55694cb2e9930d0e19c265baabf73143f17f9cf285aaa5bb","ci/run-docker.sh":"92e036390ad9b0d16f109579df1b5ced2e72e9afea40c7d011400ebd3a2a90de","ci/run.sh":"41dd6a60efaaeae9661a01370cce98b631f78392859a0cf68c946c0a16edf5f7","ci/run_examples.sh":"d1a23c6c35374a0678ba5114b9b8fefd8be0a79e774872a8bf0898d1baca18d0","ci/runtest-android.rs":"145a8e9799a5223975061fe7e586ade5669ee4877a7d7a4cf6b4ab48e8e36c7c","ci/setup_benchmarks.sh":"fae3960023f6f3d1388cd2ad22fdbab4b075f1f29dd4292d7994a20783beb6cf","ci/test-runner-linux":"c8aa6025cff5306f4f31d0c61dc5f9d4dd5a1d189ab613ef8d4c367c694d9ccd","contributing.md":"2cc8c9c560ae17867e69b06d09b758dbf7bc39eb774ada50a743724b10acc0a2","perf-guide/.gitignore":"fe82c7da551079d832cf74200b0 b359b4df9828cb4a0416fa7384f07a2ae6a13","perf-guide/book.toml":"115a98284126c6b180178b44713314cc494f08a71662ee2ce15cf67f17a51064","perf-guide/src/SUMMARY.md":"3e03bffc991fdc2050f3d51842d72d9d21ea6abab56a3baf3b2d5973a78b89e1","perf-guide/src/ascii.css":"29afb08833b2fe2250f0412e1fa1161a2432a0820a14953c87124407417c741a","perf-guide/src/bound_checks.md":"5e4991ff58a183ef0cd9fdc1feb4cd12d083b44bdf87393bbb0927808ef3ce7d","perf-guide/src/float-math/approx.md":"8c09032fa2d795a0c5db1775826c850d28eb2627846d0965c60ee72de63735ad","perf-guide/src/float-math/fma.md":"311076ba4b741d604a82e74b83a8d7e8c318fcbd7f64c4392d1cf5af95c60243","perf-guide/src/float-math/fp.md":"04153e775ab6e4f0d7837bcc515230d327b04edfa34c84ce9c9e10ebaeef2be8","perf-guide/src/float-math/svml.md":"0798873b8eedaeda5fed62dc91645b57c20775a02d3cd74d8bd06958f1516506","perf-guide/src/introduction.md":"9f5a19e9e6751f25d2daad39891a0cc600974527ec4c8305843f9618910671bd","perf-guide/src/prof/linux.md":"447731eb5de7d69166728fdbc5ecb0c0c9db 678ea493b45a592d67dd002184c0","perf-guide/src/prof/mca.md":"f56d54f3d20e7aa4d32052186e8237b03d65971eb5d112802b442570ff11d344","perf-guide/src/prof/profiling.md":"8a650c0fd6ede0964789bb6577557eeef1d8226a896788602ce61528e260e43c","perf-guide/src/target-feature/attribute.md":"615f88dca0a707b6c416fa605435dd6e1fb5361cc639429cbf68cd87624bd78b","perf-guide/src/target-feature/features.md":"17077760ff24c006b606dd21889c53d87228f4311f3ba3a574f9afdeacd86165","perf-guide/src/target-feature/inlining.md":"7ed1d7068d8173a00d84c16cfe5871cd68b9f04f8d0cca2d01ebc84957ebf2f6","perf-guide/src/target-feature/practice.md":"c4b371842e0086df178488fec97f20def8f0c62ee588bcd25fd948b9b1fa227e","perf-guide/src/target-feature/runtime.md":"835425f5ee597fb3e51d36e725a81ebee29f4561231d19563cd4da81dbb1cfcb","perf-guide/src/target-feature/rustflags.md":"ab49712e9293a65d74d540ba4784fcb57ff1119ec05a575d895c071f1a620f64","perf-guide/src/vert-hor-ops.md":"c6211c0ee91e60552ec592d89d9d957eedc21dee3cbd89e1ad6765ea06a27471","r ustfmt.toml":"de6101d0670bad65fb3b337d56957d2a024e017e5ab146ec784d77312daaf8ff","src/api.rs":"f6e92f056565e6fd93f98829a408aee9e790251e0cbd8a8bc30c8662b4d6fabb","src/api/bit_manip.rs":"c47a4d0f7451f7e35d07715e4f39a472e07457fd456fdb726864a4f6887252a3","src/api/bitmask.rs":"6d2beefd62ee5d9c8eb060bee6abc641616bf828c99f82abf97b21bf004e894b","src/api/cast.rs":"03b94a3d316ac7b7be7068810044911e965e889a0ace7bae762749ca74a92747","src/api/cast/macros.rs":"b0a14d0c83ad2ebb7a275180f6d9e3f2bc312ba57a7d3d6c39fad4e0f20f9408","src/api/cast/v128.rs":"2107ea6a426a0fe37a0aa6a03a579ff0bdeb5a1599ea76e2d81734a82f41276d","src/api/cast/v16.rs":"d785cf93b8e61200c9ae1c32b9f5e9d9518e87c261c56bcaf92f2e47b0009eb4","src/api/cast/v256.rs":"b81fcfd367a5de532d922dedf18579e53666facef7957c0e1bc827825e500ae6","src/api/cast/v32.rs":"2aac9ec0a67a97328ba908b13a1ff98da3dcd7781910d592d31f9207cbd9a7d2","src/api/cast/v512.rs":"33b33de818f8d4eccc982bc2f3951a8b3d03e9762ec02789b3df82e3f5ed3fc3","src/api/cast/v64.rs":"ec878917d52 a8c952633251b3a938a2cbe0a63fee6d12c15840d9f1343d1f394","src/api/cmp.rs":"357c3a2a09c6d4611c32dd7fa95be2fae933d513e229026ec9b44451a77b884e","src/api/cmp/eq.rs":"60f70f355bae4cb5b17db53204cacc3890f70670611c17df638d4c04f7cc8075","src/api/cmp/ord.rs":"589f7234761c294fa5df8f525bc4acd5a47cdb602207d524a0d4e19804cd9695","src/api/cmp/partial_eq.rs":"3ed23d2a930b0f9750c3a5309da766b03dc4f9c4d375b42ad3c50fe732693d15","src/api/cmp/partial_ord.rs":"e16b11805c94048acd058c93994b5bc74bb187f8d7e3b86a87df60e1601467f9","src/api/cmp/vertical.rs":"de3d62f38eba817299aa16f1e1939954c9a447e316509397465c2830852ba053","src/api/default.rs":"67bf21c134127d12a7028c8b88a57f0ceee8ccbd74976da8ca74eb9f16a174d5","src/api/fmt.rs":"67fb804bb86b6cd77cf8cd492b5733ce437071b66fe3297278b8a6552c325dda","src/api/fmt/binary.rs":"35cb5c266197d6224d598fb3d286e5fe48ef0c01ed356c2ff6fe9ba946f96a92","src/api/fmt/debug.rs":"aa18eea443bf353fea3db8b1a025132bbcaf91e747ecfa43b8d9fce9af395a0c","src/api/fmt/lower_hex.rs":"69d5be366631af309f 214e8031c8c20267fcc27a695eac6f45c6bc1df72a67e6","src/api/fmt/octal.rs":"9eb11ba3d990213f3c7f1ec25edba7ce997cb1320e16d308c83498ba6b9bfbd9","src/api/fmt/upper_hex.rs":"a4637d085b7bb20e759ce58e08435b510a563ba3dd468af2b03560fdc5511562","src/api/from.rs":"2e599d8329cb05eaf06224cc441355c4b7b51254fc19256619333be8c149d444","src/api/from/from_array.rs":"dd3fc64fb17d6184bb60343f8da26a05edf0e5f3c14caf55d49fa15e21d948dc","src/api/from/from_vector.rs":"9764371aa9e6005aace74dea14f59e5611a095b7cf42707940924749282c52f0","src/api/hash.rs":"5076ece87969592c876486f5b1ea8affbeaec379d1a14a30859e0aa5592019de","src/api/into_bits.rs":"82297f0697d67b5a015e904e7e6e7b2a7066ba825bc54b94b4ff3e22d7a1eefb","src/api/into_bits/arch_specific.rs":"4acab22af90112072a2608fafc66fccf18cbf2e641b72af28404d30833cfe5c6","src/api/into_bits/macros.rs":"d762406de25aedff88d460dec7a80dc8e825a2a419d53218ce007efa6a1d3e04","src/api/into_bits/v128.rs":"3c502b9ce85bfcc727d6f053d49030b0ba9f46bd8e9fa5aa109382a2033f9f87","src/api/into_bi ts/v16.rs":"f4f4f61ba88aa51b158ec56ca3dce234349aea0daf2b3029a14ab5125d1e41e5","src/api/into_bits/v256.rs":"c24c3676707a0feb868dabe00766d74deab176794f905f79056337198c7cf790","src/api/into_bits/v32.rs":"905ba683d342fa32f4202b80bb46530807bd0a5b588f6c2e8c9f475223c47775","src/api/into_bits/v512.rs":"7cd89005215a9326eed8a742125dcbf981cba1aca72a313478eabf3df71b1160","src/api/into_bits/v64.rs":"d6238022ccff7b92e55b3f6017fc269acb6f36330a6d7e8fb389853a0f1b6478","src/api/math.rs":"8b2a2fc651917a850539f993aa0b9e5bf4da67b11685285b8de8cdca311719ec","src/api/math/float.rs":"61d2794d68262a1090ae473bd30793b5f65cf732f32a6694a3af2ce5d9225616","src/api/math/float/abs.rs":"5b6b2701e2e11135b7ce58a05052ea8120e10e4702c95d046b9d21b827b26bf8","src/api/math/float/consts.rs":"78acba000d3fa527111300b6327c1932de9c4c1e02d4174e1a5615c01463d38c","src/api/math/float/cos.rs":"4c2dd7173728ef189314f1576c9486e03be21b7da98843b2f9011282a7979e31","src/api/math/float/exp.rs":"7c6d5f1e304f498a01cfa23b92380c815d7da0ad94eae348 3783bc377d287eef","src/api/math/float/ln.rs":"54c7583f3df793b39ff57534fade27b41bb992439e5dc178252f5ca3190a3e54","src/api/math/float/mul_add.rs":"62cac77660d20159276d4c9ef066eb90c81cbddb808e8e157182c607625ad2eb","src/api/math/float/mul_adde.rs":"bae056ee9f3a70df39ec3c3b2f6437c65303888a7b843ef1a5bcf1f5aca0e602","src/api/math/float/powf.rs":"9ddb938984b36d39d82a82f862f80df8f7fb013f1d222d45698d41d88472f568","src/api/math/float/recpre.rs":"589225794ff1dbf31158dff660e6d4509ecc8befbb57c633900dea5ac0b840d6","src/api/math/float/rsqrte.rs":"a32abdcc318d7ccc8448231f54d75b884b7cbeb03a7d595713ab6243036f4dbf","src/api/math/float/sin.rs":"cbd3622b7df74f19691743001c8cf747a201f8977ad90542fee915f37dcd1e49","src/api/math/float/sqrt.rs":"0c66d5d63fb08e4d99c6b82a8828e41173aff1ac9fa1a2764a11fac217ccf2ac","src/api/math/float/sqrte.rs":"731e1c9f321b662accdd27dacb3aac2e8043b7aecb2f2161dde733bd9f025362","src/api/minimal.rs":"1f22bcc528555444e76de569ec0ae2029b9ae9d04805efeafa93369c8098036b","src/api/minimal/i uf.rs":"819cff26d3e196f807645bcc1d79eb27d9f175edb89910f2274d52a1e913cd11","src/api/minimal/mask.rs":"0cae10ae1fc65f5070e686c0c79bfba27b86b33d6c399367bd4848fb367dcec4","src/api/minimal/ptr.rs":"f65ebf21866a863485344432d9a7a9b7418f7fad5fdf841a4e2fa56ec0766ad0","src/api/ops.rs":"3e273b277a0f3019d42c3c59ca94a5afd4885d5ae6d2182e5089bbeec9de42ee","src/api/ops/scalar_arithmetic.rs":"d2d5ad897a59dd0787544f927e0e7ca4072c3e58b0f4a2324083312b0d5a21d7","src/api/ops/scalar_bitwise.rs":"482204e459ca6be79568e1c9f70adbe2d2151412ddf122fb2161be8ebb51c40c","src/api/ops/scalar_mask_bitwise.rs":"c250f52042e37b22d57256c80d4604104cfd2fbe2a2e127c676267270ca5d350","src/api/ops/scalar_shifts.rs":"987f8fdebeedc16e3d77c1b732e7826ef70633c541d16dfa290845d5c6289150","src/api/ops/vector_arithmetic.rs":"ddca15d09ddeef502c2ed66117a62300ca65d87e959e8b622d767bdf1c307910","src/api/ops/vector_bitwise.rs":"b3968f7005b649edcc22a54e2379b14d5ee19045f2e784029805781ae043b5ee","src/api/ops/vector_float_min_max.rs":"76bf8cb607e 2c442923c1da1061a6b80d742d607408033c2a3761161114cf2a0","src/api/ops/vector_int_min_max.rs":"a378789c6ff9b32a51fbd0a97ffd36ed102cd1fe6a067d2b02017c1df342def6","src/api/ops/vector_mask_bitwise.rs":"5052d18517d765415d40327e6e8e55a312daaca0a5e2aec959bfa54b1675f9c8","src/api/ops/vector_neg.rs":"5c62f6b0221983cdbd23cd0a3af3672e6ba1255f0dfe8b19aae6fbd6503e231b","src/api/ops/vector_rotates.rs":"03cbe8a400fd7c688e4ee771a990a6754f2031b1a59b19ae81158b21471167e5","src/api/ops/vector_shifts.rs":"9bf69d0087268f61009e39aea52e03a90f378910206b6a28e8393178b6a5d0e0","src/api/ptr.rs":"8a793251bed6130dcfb2f1519ceaa18b751bbb15875928d0fb6deb5a5e07523a","src/api/ptr/gather_scatter.rs":"138b02b0fa1fdd785b95fc7048488be7e3ef277e0bc6ac5affb26af6a11d41a6","src/api/reductions.rs":"ae5baca81352ecd44526d6c30c0a1feeda475ec73ddd3c3ec6b14e944e5448ee","src/api/reductions/bitwise.rs":"8bf910ae226188bd15fc7e125f058cd2566b6186fcd0cd8fd020f352c39ce139","src/api/reductions/float_arithmetic.rs":"3997125f87c7bac07fffda3a1d81 4e0e6c77ca83099546a9e2fb8dc92231129f","src/api/reductions/integer_arithmetic.rs":"47471da1c5f859489680bb5d34ced3d3aa20081c16053a3af121a4496fcb57bf","src/api/reductions/mask.rs":"db83327a950e33a317f37fd33ca4e20c347fb415975ec024f3e23da8509425af","src/api/reductions/min_max.rs":"d40ccad10220ae5982785015bef92e4b0749583c2b060cad0aa4f92d99491c3b","src/api/select.rs":"a98e2ccf9fc6bdeed32d337c8675bc96c2fbe2cc34fbf149ad6047fb8e749774","src/api/shuffle.rs":"6d1e5970b9fc8555a667c2924151070dd21584e81da8a9668d6bfe16f4a0db82","src/api/shuffle1_dyn.rs":"bfea5a91905b31444e9ef7ca6eddb7a9606b7e22d3f71bb842eb2795a0346620","src/api/slice.rs":"ee87484e8af329547b9a5d4f2a69e8bed6ea10bbd96270d706083843d4eea2ac","src/api/slice/from_slice.rs":"53691dc9958dec4180004a42d140552b405e8cd875caa282e89af378dd63c8bc","src/api/slice/write_to_slice.rs":"3dd2e511af43dc6fa911dd0b12f6f00323e0acd1202a01365db400557d52a89b","src/api/swap_bytes.rs":"4a6792a2e49a77475e1b237592b4b2804dbddb79c474331acd0dd71b36934259","src/codege n.rs":"a29d38fa0a85eaf787fb49989e625bf64effd5f39c126fbb2a24be206d2a3917","src/codegen/bit_manip.rs":"17ecebcff1f080e712fea5eb51602a73f4201ed56a198220342c8eb55bb92692","src/codegen/llvm.rs":"5bc6751293f9f184cf23d5df448c7d58b58b799e41c7a91f8ca41a5ba56e64ec","src/codegen/math.rs":"35f96e37a78fcf0cdb02146b7f27a45108fe06a37fc2a54d8851ce131a326178","src/codegen/math/float.rs":"dd86c0449e576c83b719700962ac017c332987fac08d91f2b7a2b1b883598170","src/codegen/math/float/abs.rs":"f56e2b4b8055ea861c1f5cbc6b6e1d8e7e5af163b62c13574ddee4e09513bfbc","src/codegen/math/float/cos.rs":"ef3b511a24d23045b310315e80348a9b7fedb576fc2de52d74290616a0abeb2a","src/codegen/math/float/cos_pi.rs":"4e7631a5d73dac21531e09ef1802d1180f8997509c2c8fa9f67f322194263a97","src/codegen/math/float/exp.rs":"61b691598c41b5622f24e4320c1bdd08701e612a516438bdddcc728fc3405c8c","src/codegen/math/float/ln.rs":"46b718b1ba8c9d99e1ad40f53d20dfde08a3063ca7bd2a9fdd6698e060da687e","src/codegen/math/float/macros.rs":"dd42135fff13f9aca4fd3a1a 4e14c7e6c31aadc6d817d63b0d2fb9e62e062744","src/codegen/math/float/mul_add.rs":"a37bf764345d4b1714f97e83897b7cf0855fc2811704bcbc0012db91825339e1","src/codegen/math/float/mul_adde.rs":"c75702bfcb361de45964a93caf959a695ef2376bd069227600b8c6872665c755","src/codegen/math/float/powf.rs":"642346e982bc4c39203de0864d2149c4179cd7b21cf67a2951687932b4675872","src/codegen/math/float/sin.rs":"9d68164c90cdca6a85155040cdac42e27342ebe0b925273ef1593df721af4258","src/codegen/math/float/sin_cos_pi.rs":"9be02ad48585a1e8d99129382fbffbaed47852f15459256a708850b6b7a75405","src/codegen/math/float/sin_pi.rs":"9890347905b4d4a3c7341c3eb06406e46e60582bcf6960688bd727e5dadc6c57","src/codegen/math/float/sqrt.rs":"e3c60dcfb0c6d2fc62adabcc931b2d4040b83cab294dea36443fb4b89eb79e34","src/codegen/math/float/sqrte.rs":"f0f4ef9eb475ae41bcc7ec6a95ad744ba6b36925faa8b2c2814004396d196b63","src/codegen/pointer_sized_int.rs":"a70697169c28218b56fd2e8d5353f2e00671d1150d0c8cef77d613bdfacd84cb","src/codegen/reductions.rs":"645e25147 46d01387ddd07f0aa4ffd8430cc9ab428d4fb13773ea319fa25dd95","src/codegen/reductions/mask.rs":"8f1afe6aabf096a3278e1fc3a30f736e04aa8b9ce96373cee22162d18cfe2702","src/codegen/reductions/mask/aarch64.rs":"cba6e17603d39795dcfe8339b6b7d8714c3e162a1f0a635979f037aa24fe4206","src/codegen/reductions/mask/arm.rs":"9447904818aa2c7c25d0963eead452a639a11ca7dbd6d21eedbfcaade07a0f33","src/codegen/reductions/mask/fallback.rs":"7a0ef9f7fd03ae318b495b95e121350cd61caffc5cc6ee17fabf130d5d933453","src/codegen/reductions/mask/fallback_impl.rs":"76547f396e55ef403327c77c314cf8db8c7a5c9b9819bfb925abeacf130249e5","src/codegen/reductions/mask/x86.rs":"4c0457b6276f9809223590092a4c77e73812330326cdabd28df06820de10a310","src/codegen/reductions/mask/x86/avx.rs":"b4913d87844c522903641cbbf10db4551addb1ce5e9e78278e21612fa65c733b","src/codegen/reductions/mask/x86/avx2.rs":"677aed3f056285285daa3adff8bc65e739630b4424defa6d9665e160f027507e","src/codegen/reductions/mask/x86/sse.rs":"5a827c6f8e1074e324f6e4c778942badb6c09d747a 7142de01cadec1240b3428","src/codegen/reductions/mask/x86/sse2.rs":"bc38e6c31cb4b3d62147eba6cac264e519e2a48e0f7ce9010cfa9ef0cf0ec9fd","src/codegen/shuffle.rs":"99a0b52c2470097b028af134221099baba383446a01c7dc3ae560209880bcdb7","src/codegen/shuffle1_dyn.rs":"abbc95305dad815ab2ded3e8357791bcff080414668b55a4d397558a1d202d01","src/codegen/swap_bytes.rs":"1d6cdc716eadddc92b4fd506b2445a821caa8dc00860447de09d7ebd69c2087f","src/codegen/v128.rs":"94226b31ec403d18d9d2fe06713f147c9c79e9b5f9105089088266313f843185","src/codegen/v16.rs":"ddec4ffb66b6f7aaffb9a1780c5ddba82557abd74f45073d335047e04cf74924","src/codegen/v256.rs":"6b63917f0444118d6b1595bff2045e59b97c4d24012bd575f69f1f0efc5a0241","src/codegen/v32.rs":"3477b3c5540aed86e61e2f5807dd31db947413cec9181c587d93ed6ec74f0eba","src/codegen/v512.rs":"5854f99d3aabc4cd42b28a20d9ce447756dc2ba024a409a69b6a8ae1f1842fc5","src/codegen/v64.rs":"e9e89caebfe63d10c0cbca61e4dfdba3b7e02ee0989170f80beed23237ddd950","src/codegen/vPtr.rs":"711c753a08d53a2879c4fb87a0 762c46ce4e34c22f0ca88d2e4c557a0f679969","src/codegen/vSize.rs":"eeee9858749aa82142b27bc120d1989bb74a6b82e1e4efbbeaccc9634dc9acfc","src/lib.rs":"41c2a5c5fb42225ce9c6a267653870fdb8af30f933b3b8534d57a15fb96ebb39","src/masks.rs":"be05e923ac58fe6eb61311561b5583cd306574f206dc09fe8e3c7de3dd0c1433","src/sealed.rs":"ae7fdeaf5d84cd7710ed730ca72ca7eaba93df6cb0acb183e5c0a7327acf197f","src/testing.rs":"1d3a7862ef625e235a5734ad7204e68d350f902c0695182b1f08a0552432416e","src/testing/macros.rs":"6378856d7a40ba5ec5c7c0dad6327d79f0c77266921c24296d10aed6c68e9b98","src/testing/utils.rs":"5ec6a47b836f364ec6dede19750a19eaac704162327d03041eb0f007d5f8d75c","src/v128.rs":"16cf9a8e7156b899ee9b9cd3f2dba9d13ec63289bea8c3ee9ae2e43ad9510288","src/v16.rs":"cb6465cf1e00bf530183af1819b9fe3d7eec978f8765d5e85d9b58a39a4b4045","src/v256.rs":"fe235017da18c7f3c361831c60e3173ad304d8ea1e95d64ebebc79da2d708511","src/v32.rs":"145d347855bac59b2de6508f9e594654e6c330423af9edc0e2ac8f4d1abdf45e","src/v512.rs":"f372f277f3e62eb5c945 bb1c460333fdb17b6974fcc876633788ff53bded9599","src/v64.rs":"0b8079881b71575e3414be0b7f8f7eaba65281ba6732f2b2f61f73e95b6f48f7","src/vPtr.rs":"8b3e433d487180bb4304ff71245ecad90f0010f43e139a72027b672abe58facc","src/vSize.rs":"eda5aa020706cbf94d15bada41a0c2a35fc8f3f37cb7c2cd6f34d201399a495e","tests/endianness.rs":"7db22078f31fe1421fc2d21f2e6b9df5eb0bdc99c10f6985d3a74c0df8f205dc"},"package":null} +\ No newline at end of file +diff --git a/third_party/rust/packed_simd/Cargo.toml b/third_party/rust/packed_simd/Cargo.toml +index 08b11881d413..1e52297b7ec8 100644 +--- a/third_party/rust/packed_simd/Cargo.toml ++++ b/third_party/rust/packed_simd/Cargo.toml +@@ -29,13 +29,13 @@ default = [] + into_bits = [] + libcore_neon = [] + ++[build-dependencies] ++rustc_version = "0.2" ++ + [dev-dependencies] + paste = "^0.1.3" + arrayvec = { version = "^0.5", default-features = false } + +-[build-dependencies] +-rustc_version = "0.2" +- + [target.'cfg(target_arch = "x86_64")'.dependencies.sleef-sys] + version = "0.1.2" + optional = true +diff --git a/third_party/rust/packed_simd/build.rs b/third_party/rust/packed_simd/build.rs +index 4a1b33620085..571139204e8f 100644 +--- a/third_party/rust/packed_simd/build.rs ++++ b/third_party/rust/packed_simd/build.rs +@@ -1,14 +1,34 @@ +-use rustc_version::{version, Version}; ++use rustc_version::{version_meta, Channel, Version}; + + fn main() { + println!("cargo:rustc-env=RUSTC_BOOTSTRAP=1"); + let target = std::env::var("TARGET") + .expect("TARGET environment variable not defined"); + if target.contains("neon") { + println!("cargo:rustc-cfg=libcore_neon"); + } +- let ver = version().unwrap(); +- if ver >= Version::parse("1.54.0-alpha").unwrap() { +- println!("cargo:rustc-cfg=use_const_generics"); ++ let ver_meta = version_meta().unwrap(); ++ let old_const_generics = ++ if ver_meta.semver < Version::parse("1.56.0-alpha").unwrap() { ++ true ++ } else if ver_meta.semver >= Version::parse("1.57.0-alpha").unwrap() { ++ false ++ } else { ++ match ver_meta.channel { ++ Channel::Stable | Channel::Beta => false, ++ Channel::Nightly | Channel::Dev ++ if ver_meta ++ .commit_date ++ .as_deref() ++ .map(|d| d < "2021-08-31") ++ .unwrap_or(false) => ++ { ++ true ++ } ++ _ => false, ++ } ++ }; ++ if old_const_generics { ++ println!("cargo:rustc-cfg=const_generics"); + } + } +diff --git a/third_party/rust/packed_simd/src/api/shuffle.rs b/third_party/rust/packed_simd/src/api/shuffle.rs +index e8de49923c58..3fe1ad5f2701 100644 +--- a/third_party/rust/packed_simd/src/api/shuffle.rs ++++ b/third_party/rust/packed_simd/src/api/shuffle.rs +@@ -74,7 +74,6 @@ + /// // At most 2 * the number of lanes in the input vector. + /// # } + /// ``` +-#[cfg(use_const_generics)] + #[macro_export] + macro_rules! shuffle { + ($vec0:expr, $vec1:expr, [$l0:expr, $l1:expr]) => {{ +@@ -187,118 +186,3 @@ macro_rules! shuffle { + } + }; + } +-#[cfg(not(use_const_generics))] +-#[macro_export] +-macro_rules! shuffle { +- ($vec0:expr, $vec1:expr, [$l0:expr, $l1:expr]) => {{ +- #[allow(unused_unsafe)] +- unsafe { +- $crate::Simd($crate::__shuffle_vector2( +- $vec0.0, +- $vec1.0, +- [$l0, $l1], +- )) +- } +- }}; +- ($vec0:expr, $vec1:expr, [$l0:expr, $l1:expr, $l2:expr, $l3:expr]) => {{ +- #[allow(unused_unsafe)] +- unsafe { +- $crate::Simd($crate::__shuffle_vector4( +- $vec0.0, +- $vec1.0, +- [$l0, $l1, $l2, $l3], +- )) +- } +- }}; +- ($vec0:expr, $vec1:expr, +- [$l0:expr, $l1:expr, $l2:expr, $l3:expr, +- $l4:expr, $l5:expr, $l6:expr, $l7:expr]) => {{ +- #[allow(unused_unsafe)] +- unsafe { +- $crate::Simd($crate::__shuffle_vector8( +- $vec0.0, +- $vec1.0, +- [$l0, $l1, $l2, $l3, $l4, $l5, $l6, $l7], +- )) +- } +- }}; +- ($vec0:expr, $vec1:expr, +- [$l0:expr, $l1:expr, $l2:expr, $l3:expr, +- $l4:expr, $l5:expr, $l6:expr, $l7:expr, +- $l8:expr, $l9:expr, $l10:expr, $l11:expr, +- $l12:expr, $l13:expr, $l14:expr, $l15:expr]) => {{ +- #[allow(unused_unsafe)] +- unsafe { +- $crate::Simd($crate::__shuffle_vector16( +- $vec0.0, +- $vec1.0, +- [ +- $l0, $l1, $l2, $l3, $l4, $l5, $l6, $l7, $l8, $l9, $l10, +- $l11, $l12, $l13, $l14, $l15, +- ], +- )) +- } +- }}; +- ($vec0:expr, $vec1:expr, +- [$l0:expr, $l1:expr, $l2:expr, $l3:expr, +- $l4:expr, $l5:expr, $l6:expr, $l7:expr, +- $l8:expr, $l9:expr, $l10:expr, $l11:expr, +- $l12:expr, $l13:expr, $l14:expr, $l15:expr, +- $l16:expr, $l17:expr, $l18:expr, $l19:expr, +- $l20:expr, $l21:expr, $l22:expr, $l23:expr, +- $l24:expr, $l25:expr, $l26:expr, $l27:expr, +- $l28:expr, $l29:expr, $l30:expr, $l31:expr]) => {{ +- #[allow(unused_unsafe)] +- unsafe { +- $crate::Simd($crate::__shuffle_vector32( +- $vec0.0, +- $vec1.0, +- [ +- $l0, $l1, $l2, $l3, $l4, $l5, $l6, $l7, $l8, $l9, $l10, +- $l11, $l12, $l13, $l14, $l15, $l16, $l17, $l18, $l19, +- $l20, $l21, $l22, $l23, $l24, $l25, $l26, $l27, $l28, +- $l29, $l30, $l31, +- ], +- )) +- } +- }}; +- ($vec0:expr, $vec1:expr, +- [$l0:expr, $l1:expr, $l2:expr, $l3:expr, +- $l4:expr, $l5:expr, $l6:expr, $l7:expr, +- $l8:expr, $l9:expr, $l10:expr, $l11:expr, +- $l12:expr, $l13:expr, $l14:expr, $l15:expr, +- $l16:expr, $l17:expr, $l18:expr, $l19:expr, +- $l20:expr, $l21:expr, $l22:expr, $l23:expr, +- $l24:expr, $l25:expr, $l26:expr, $l27:expr, +- $l28:expr, $l29:expr, $l30:expr, $l31:expr, +- $l32:expr, $l33:expr, $l34:expr, $l35:expr, +- $l36:expr, $l37:expr, $l38:expr, $l39:expr, +- $l40:expr, $l41:expr, $l42:expr, $l43:expr, +- $l44:expr, $l45:expr, $l46:expr, $l47:expr, +- $l48:expr, $l49:expr, $l50:expr, $l51:expr, +- $l52:expr, $l53:expr, $l54:expr, $l55:expr, +- $l56:expr, $l57:expr, $l58:expr, $l59:expr, +- $l60:expr, $l61:expr, $l62:expr, $l63:expr]) => {{ +- #[allow(unused_unsafe)] +- unsafe { +- $crate::Simd($crate::__shuffle_vector64( +- $vec0.0, +- $vec1.0, +- [ +- $l0, $l1, $l2, $l3, $l4, $l5, $l6, $l7, $l8, $l9, $l10, +- $l11, $l12, $l13, $l14, $l15, $l16, $l17, $l18, $l19, +- $l20, $l21, $l22, $l23, $l24, $l25, $l26, $l27, $l28, +- $l29, $l30, $l31, $l32, $l33, $l34, $l35, $l36, $l37, +- $l38, $l39, $l40, $l41, $l42, $l43, $l44, $l45, $l46, +- $l47, $l48, $l49, $l50, $l51, $l52, $l53, $l54, $l55, +- $l56, $l57, $l58, $l59, $l60, $l61, $l62, $l63, +- ], +- )) +- } +- }}; +- ($vec:expr, [$($l:expr),*]) => { +- match $vec { +- v => shuffle!(v, v, [$($l),*]) +- } +- }; +-} +diff --git a/third_party/rust/packed_simd/src/codegen/llvm.rs b/third_party/rust/packed_simd/src/codegen/llvm.rs +index 141cf0d2bc01..52b11a95b917 100644 +--- a/third_party/rust/packed_simd/src/codegen/llvm.rs ++++ b/third_party/rust/packed_simd/src/codegen/llvm.rs +@@ -6,137 +6,75 @@ use crate::sealed::Shuffle; + use crate::sealed::Simd; + + // Shuffle intrinsics: expanded in users' crates, therefore public. +-#[cfg(use_const_generics)] + extern "platform-intrinsic" { + pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U; + pub fn simd_shuffle4<T, U>(x: T, y: T, idx: [u32; 4]) -> U; + pub fn simd_shuffle8<T, U>(x: T, y: T, idx: [u32; 8]) -> U; + pub fn simd_shuffle16<T, U>(x: T, y: T, idx: [u32; 16]) -> U; + pub fn simd_shuffle32<T, U>(x: T, y: T, idx: [u32; 32]) -> U; + pub fn simd_shuffle64<T, U>(x: T, y: T, idx: [u32; 64]) -> U; + } + +-#[cfg(use_const_generics)] + #[allow(clippy::missing_safety_doc)] + #[inline] + pub unsafe fn __shuffle_vector2<const IDX: [u32; 2], T, U>(x: T, y: T) -> U + where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 2], Output = U>, + { + simd_shuffle2(x, y, IDX) + } + +-#[cfg(use_const_generics)] + #[allow(clippy::missing_safety_doc)] + #[inline] + pub unsafe fn __shuffle_vector4<const IDX: [u32; 4], T, U>(x: T, y: T) -> U + where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 4], Output = U>, + { + simd_shuffle4(x, y, IDX) + } + +-#[cfg(use_const_generics)] + #[allow(clippy::missing_safety_doc)] + #[inline] + pub unsafe fn __shuffle_vector8<const IDX: [u32; 8], T, U>(x: T, y: T) -> U + where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 8], Output = U>, + { + simd_shuffle8(x, y, IDX) + } + +-#[cfg(use_const_generics)] + #[allow(clippy::missing_safety_doc)] + #[inline] + pub unsafe fn __shuffle_vector16<const IDX: [u32; 16], T, U>(x: T, y: T) -> U + where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 16], Output = U>, + { + simd_shuffle16(x, y, IDX) + } + +-#[cfg(use_const_generics)] + #[allow(clippy::missing_safety_doc)] + #[inline] + pub unsafe fn __shuffle_vector32<const IDX: [u32; 32], T, U>(x: T, y: T) -> U + where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 32], Output = U>, + { + simd_shuffle32(x, y, IDX) + } + +-#[cfg(use_const_generics)] + #[allow(clippy::missing_safety_doc)] + #[inline] + pub unsafe fn __shuffle_vector64<const IDX: [u32; 64], T, U>(x: T, y: T) -> U + where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 64], Output = U>, + { + simd_shuffle64(x, y, IDX) + } + +-#[cfg(not(use_const_generics))] +-extern "platform-intrinsic" { +- // FIXME: Passing this intrinsics an `idx` array with an index that is +- // out-of-bounds will produce a monomorphization-time error. +- // https://github.com/rust-lang-nursery/packed_simd/issues/21 +- #[rustc_args_required_const(2)] +- pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U +- where +- T: Simd, +- <T as Simd>::Element: Shuffle<[u32; 2], Output = U>; +- +- #[rustc_args_required_const(2)] +- pub fn simd_shuffle4<T, U>(x: T, y: T, idx: [u32; 4]) -> U +- where +- T: Simd, +- <T as Simd>::Element: Shuffle<[u32; 4], Output = U>; +- +- #[rustc_args_required_const(2)] +- pub fn simd_shuffle8<T, U>(x: T, y: T, idx: [u32; 8]) -> U +- where +- T: Simd, +- <T as Simd>::Element: Shuffle<[u32; 8], Output = U>; +- +- #[rustc_args_required_const(2)] +- pub fn simd_shuffle16<T, U>(x: T, y: T, idx: [u32; 16]) -> U +- where +- T: Simd, +- <T as Simd>::Element: Shuffle<[u32; 16], Output = U>; +- +- #[rustc_args_required_const(2)] +- pub fn simd_shuffle32<T, U>(x: T, y: T, idx: [u32; 32]) -> U +- where +- T: Simd, +- <T as Simd>::Element: Shuffle<[u32; 32], Output = U>; +- +- #[rustc_args_required_const(2)] +- pub fn simd_shuffle64<T, U>(x: T, y: T, idx: [u32; 64]) -> U +- where +- T: Simd, +- <T as Simd>::Element: Shuffle<[u32; 64], Output = U>; +-} +- +-#[cfg(not(use_const_generics))] +-pub use self::simd_shuffle16 as __shuffle_vector16; +-#[cfg(not(use_const_generics))] +-pub use self::simd_shuffle2 as __shuffle_vector2; +-#[cfg(not(use_const_generics))] +-pub use self::simd_shuffle32 as __shuffle_vector32; +-#[cfg(not(use_const_generics))] +-pub use self::simd_shuffle4 as __shuffle_vector4; +-#[cfg(not(use_const_generics))] +-pub use self::simd_shuffle64 as __shuffle_vector64; +-#[cfg(not(use_const_generics))] +-pub use self::simd_shuffle8 as __shuffle_vector8; +- + extern "platform-intrinsic" { + crate fn simd_eq<T, U>(x: T, y: T) -> U; + crate fn simd_ne<T, U>(x: T, y: T) -> U; +diff --git a/third_party/rust/packed_simd/src/lib.rs b/third_party/rust/packed_simd/src/lib.rs +index dd6b8a1e8e38..e3a747025f43 100644 +--- a/third_party/rust/packed_simd/src/lib.rs ++++ b/third_party/rust/packed_simd/src/lib.rs +@@ -199,35 +199,37 @@ + //! Numeric casts are not very "precise": sometimes lossy, sometimes value + //! preserving, etc. + +-#![cfg_attr(use_const_generics, feature(const_generics))] +-#![cfg_attr(use_const_generics, allow(incomplete_features, clippy::from_over_into))] ++#![cfg_attr(const_generics, feature(const_generics))] ++#![cfg_attr(not(const_generics), feature(adt_const_params))] + #![feature( + repr_simd, + rustc_attrs, + platform_intrinsics, + stdsimd, + aarch64_target_feature, + arm_target_feature, + link_llvm_intrinsics, + core_intrinsics, + stmt_expr_attributes, + crate_visibility_modifier, + custom_inner_attributes + )] + #![allow(non_camel_case_types, non_snake_case, + // FIXME: these types are unsound in C FFI already + // See https://github.com/rust-lang/rust/issues/53346 + improper_ctypes_definitions, ++ incomplete_features, + clippy::cast_possible_truncation, + clippy::cast_lossless, + clippy::cast_possible_wrap, + clippy::cast_precision_loss, + // TODO: manually add the `#[must_use]` attribute where appropriate + clippy::must_use_candidate, + // This lint is currently broken for generic code + // See https://github.com/rust-lang/rust-clippy/issues/3410 + clippy::use_self, + clippy::wrong_self_convention, ++ clippy::from_over_into, + )] + #![cfg_attr(test, feature(hashmap_internals))] + #![deny(rust_2018_idioms, clippy::missing_inline_in_public_items)] Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-01-11 19:48:05 UTC (rev 434256) +++ PKGBUILD 2022-01-11 20:04:35 UTC (rev 434257) @@ -2,7 +2,7 @@ pkgname=js78 pkgver=78.15.0 -pkgrel=1 +pkgrel=2 pkgdesc="JavaScript interpreter and libraries - Version 78" arch=(x86_64) url="https://spidermonkey.dev/" @@ -10,12 +10,17 @@ depends=(gcc-libs readline zlib sh) makedepends=(zip autoconf2.13 python-setuptools python-psutil rust llvm clang lld) checkdepends=(mercurial git) +options=(!lto) _relver=${pkgver}esr source=(https://archive.mozilla.org/pub/firefox/releases/$_relver/source/firefox-$_relver.source.tar.xz{,.asc} - 0001-Fixes-for-LTO-PGO-support.patch) + 0001-Fixes-for-LTO-PGO-support.patch + 0002-Fixes-for-Python-3.10.patch + 0003-Fixes-for-Rust-1.56.patch) sha256sums=('a4438d84d95171a6d4fea9c9f02c2edbf0475a9c614d968ebe2eedc25a672151' 'SKIP' - '926a573eabe3b6177363b795ed5e5641b4a4ebc6d7cfa093f11e1779ac0f897c') + '606ef0a2faeffd52cd3d4564146a95eef2b0e58e610d3af8d203753ed27e5a00' + 'b723277864c8afad1db007963f8e1090b352ced7bb312b2e7e2f11f448e8432d' + 'cb5f1a0551f55c12562c1f384e9d0a011dd13993039e65aa69b5345a5951af9f') validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <rele...@mozilla.com> # Make sure the duplication between bin and lib is found @@ -27,6 +32,12 @@ # Post-78 fixes to fix LTO with LLVM 11 patch -Np1 -i ../0001-Fixes-for-LTO-PGO-support.patch + + # Fix build with Python 3.10 + patch -Np1 -i ../0002-Fixes-for-Python-3.10.patch + + # Fix build with Rust 1.56 + patch -Np1 -i ../0003-Fixes-for-Rust-1.56.patch } build() { @@ -55,6 +66,10 @@ export NM=llvm-nm export RANLIB=llvm-ranlib + CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition" + CXXFLAGS="${CXXFLAGS/-O2/-O3} -fno-semantic-interposition" + LDFLAGS+=" -Wl,-Bsymbolic-functions" + cd firefox-$pkgver/obj # Do 3-tier PGO @@ -120,4 +135,4 @@ find "$pkgdir"/usr/{lib/pkgconfig,include} -type f -exec chmod -c a-x {} + } -# vim:set ts=2 sw=2 et: +# vim:set sw=2 et: