Commit Graph

335 Commits

Author SHA1 Message Date
Aleksey Kladov a0c186c34f remove XID and Pattern_White_Space unicode tables from libcore
They are only used by rustc_lexer, and are not needed elsewhere.

So we move the relevant definitions into rustc_lexer (while the actual
unicode data comes from the unicode-xid crate) and make the rest of
the compiler use it.
2019-09-04 13:11:11 +03:00
Albin Stjerna 2adb246b5c NLL: New Polonius version 2019-09-04 09:44:40 +02:00
bors 2d851b3318 Auto merge of #63975 - topecongiro:rustfmt-1.4.6, r=nikomatsakis
Update rustfmt to 1.4.6

This PR updates rustfmt to 1.4.6. [CHANGELOG](https://github.com/rust-lang/rustfmt/blob/v1.4.6/CHANGELOG.md#146-2019-08-28).
2019-08-31 01:35:10 +00:00
Jonas Schievink eefae7b1a9 Update Cargo.lock 2019-08-30 12:34:38 +02:00
Jonas Schievink a8926a5e9c Use `panic::set_hook` to print the ICE message 2019-08-30 12:34:20 +02:00
bors 19a38de68a Auto merge of #63402 - estebank:strip-margin, r=oli-obk
Strip code to the left and right in diagnostics for long lines

Fix #62999.
2019-08-30 06:49:15 +00:00
newpavlov 6374b8458f update to wasi v0.7 2019-08-29 20:13:15 +03:00
topecongiro 8e10725317
Update rustfmt to 1.4.6 2019-08-28 22:37:41 +09:00
bors b7178cbc0c Auto merge of #63960 - ehuss:update-cargo, r=alexcrichton
Update cargo

Update cargo

10 commits in 3f700ec43ce72305eb5315cfc710681f3469d4b4..22f7dd0495cd72ce2082d318d5a9b4dccb9c5b8c
2019-08-19 22:43:12 +0000 to 2019-08-27 16:10:51 +0000
- Update and improve zsh completion (rust-lang/cargo#7296)
- Document that `package` can be used in `[patch]` (rust-lang/cargo#7263)
- Fix `error:`/`warning:` coloring inconsistency with rustc (rust-lang/cargo#7294)
- Tests: Import rustc_plugin from its new location (rust-lang/cargo#7287)
- Update README azure badge. (rust-lang/cargo#7293)
- Update home dependencies to v0.5 (rust-lang/cargo#7277)
- Fix typo (rust-lang/cargo#7279)
- Update libgit2 dependencies (rust-lang/cargo#7275)
- Fix old lockfile encoding wrt newlines (rust-lang/cargo#7262)
- Fix dSYM uplifting when symlink is broken (rust-lang/cargo#7268)
2019-08-27 23:57:05 +00:00
Eric Huss 85a4d6f522 Update cargo 2019-08-27 14:03:32 -07:00
Ralf Jung 98ad4ac250 update miri 2019-08-27 15:49:47 +02:00
Alex Crichton b47c9690d2 bootstrap: Merge the libtest build step with libstd
Since its inception rustbuild has always worked in three stages: one for
libstd, one for libtest, and one for rustc. These three stages were
architected around crates.io dependencies, where rustc wants to depend
on crates.io crates but said crates don't explicitly depend on libstd,
requiring a sysroot assembly step in the middle. This same logic was
applied for libtest where libtest wants to depend on crates.io crates
(`getopts`) but `getopts` didn't say that it depended on std, so it
needed `std` built ahead of time.

Lots of time has passed since the inception of rustbuild, however,
and we've since gotten to the point where even `std` itself is depending
on crates.io crates (albeit with some wonky configuration). This
commit applies the same logic to the two dependencies that the `test`
crate pulls in from crates.io, `getopts` and `unicode-width`. Over the
many years since rustbuild's inception `unicode-width` was the only
dependency picked up by the `test` crate, so the extra configuration
necessary to get crates building in this crate graph is unlikely to be
too much of a burden on developers.

After this patch it means that there are now only two build phasese of
rustbuild, one for libstd and one for rustc. The libtest/libproc_macro
build phase is all lumped into one now with `std`.

This was originally motivated by rust-lang/cargo#7216 where Cargo was
having to deal with synthesizing dependency edges but this commit makes
them explicit in this repository.
2019-08-23 16:46:11 -07:00
bors f834695781 Auto merge of #63521 - newpavlov:redox_builder, r=pietroalbini
Re-enable Redox builder (take 2)

Closes: #63160
2019-08-23 08:58:24 +00:00
bors ee7161db98 Auto merge of #63522 - topecongiro:rustfmt-1.4.5, r=Centril
Update rustfmt to 1.4.5

This update includes a bug fix that fixes generating invalid code when formatting an impl block with const generics inside a where clause.

**Changes**
0462008de8...1de58ce46d
2019-08-22 21:51:14 +00:00
Esteban Küber f08b036cc7 Introduce `term-size` dependency and consider term width when trimming 2019-08-21 11:56:20 -07:00
Mazdak Farrokhzad 61ae1ccb14
Rollup merge of #63753 - ehuss:bump-toml, r=Mark-Simulacrum
Bump toml dependency.

Just removing an old/duplicated dependency from the workspace.
2019-08-21 11:52:21 +02:00
Mazdak Farrokhzad d7c162aefd
Rollup merge of #63721 - Mark-Simulacrum:decouple-error-index, r=matthewjasper
Do not emit JSON dumps of diagnostic codes

This decouples the error index generator from libsyntax for the most part (though it still depends on librustdoc for the markdown parsing and generation).

Fixes #34588
2019-08-21 11:52:20 +02:00
Eric Huss 7d92cf4826 Bump toml dependency.
Just removing an old/duplicated dependency from the workspace.
2019-08-20 10:46:35 -07:00
bors 5a56e05abd Auto merge of #63744 - Centril:rollup-g4l3ra9, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #63216 (avoid unnecessary reservations in std::io::Take::read_to_end)
 - #63265 (Implement `nth_back` for ChunksExactMut)
 - #63691 (Fix bug in iter::Chain::size_hint)
 - #63722 (Don't use stage naming in RUSTFLAGS environment variables)
 - #63723 (Consolidate sigemptyset workarounds)
 - #63736 (Restore the rustc_plugin crate in the sysroot)
 - #63743 (Allow git to merge `Cargo.lock`)

Failed merges:

r? @ghost
2019-08-20 15:01:24 +00:00
Mark Rousskov 99ce39b30a Load error codes via build script instead of JSON parsing
This scans the tree for `error_codes.rs` and loads all of them.
2019-08-20 09:55:31 -04:00
Simon Sapin c561abeea2 Restore the rustc_plugin crate in the sysroot
It was accidentally removed in a rebase of https://github.com/rust-lang/rust/pull/62727

Fixes https://github.com/rust-lang/rust/issues/63729
2019-08-20 13:30:50 +02:00
Artyom Pavlov bd1dc7cf92
fix libc checksum 2019-08-20 10:26:10 +00:00
Artyom Pavlov e500fc3171
Merge branch 'master' into redox_builder 2019-08-20 10:08:57 +00:00
flip1995 96c3ec12f6
Update Cargo.lock 2019-08-20 09:32:53 +02:00
Seiichi Uchida 0be01fa655 Update rustfmt to 1.4.5 2019-08-20 16:23:46 +09:00
Simon Sapin d0bbc6062d Deprecate using rustc_plugin without the rustc_driver dylib.
CC https://github.com/rust-lang/rust/pull/59800
7198687bb2

Fix https://github.com/rust-lang/rust/issues/62717
2019-08-20 00:21:32 +02:00
Alex Crichton 093ede240a Use to Cargo's experimental lockfile format
This commit changes the lock file format of this repository to an
experimental format that isn't rolled out by default in Cargo but is
intended to eventually become the default. The new format moves
information around and compresses the lock file a bit. The intention of
the new format is to reduce the amount of git merge conflicts that
happen in a repository, with rust-lang/rust being a prime candidate for
testing this.

The new format wille ventually become the default but for now it is
off-by-default in Cargo, but Cargo will preserve the format if it sees
it. Since we always build with a beta version of Cargo for the
rust-lang/rust repository it should be safe to go ahead and change the
lock file format here and everyone building this repository will
automatically pick it up.

It's intended that we'll evaluate this lock file format in the
rust-lang/rust repository to see if it reduces the number of perceived
merge conflicts for changes that touch the lock file. This will in turn
help inform the development of the feature in Cargo and whether we
choose to stabilize this and turn it on by default.

Note that this commit does not actually change the contents of the lock
file in terms of a resolution graph, it simply reencodes the lock file
with a new format.
2019-08-19 09:56:22 -07:00
Alex Crichton 1301b100ca std: Update `backtrace` crate dependency
This commit updates the `backtrace` crate from 0.3.34 to 0.3.35. The
[included set of changes][changes] for this update mostly includes some
gimli-related improvements (not relevant for the standard library) but
critically includes a fix for rust-lang/backtrace-rs#230. The standard
library will not aqcuire a session-local lock whenever a backtrace is
generated on Windows to allow external synchronization with the
`backtrace` crate itself, allowing `backtrace` to be safely used while
other threads may be panicking.

[changes]: https://github.com/rust-lang/backtrace-rs/compare/0.3.34...0.3.35
2019-08-19 06:13:18 -07:00
Artyom Pavlov 5d75654cce
fix Cargo.lock 2019-08-17 19:15:36 +00:00
Artyom Pavlov 51dcdcfd94
Merge branch 'master' into redox_builder 2019-08-17 18:54:56 +00:00
Mazdak Farrokhzad 13b1031399
Rollup merge of #63548 - eddyb:unicode-demangling, r=alexcrichton
Update rustc-demangle to 0.1.16.

Includes https://github.com/alexcrichton/rustc-demangle/pull/29 and https://github.com/alexcrichton/rustc-demangle/pull/30.
You can see the effects of the former in the testcase changes.

r? @alexcrichton cc @davidtwco @michaelwoerister
2019-08-17 03:02:57 +02:00
Simon Sapin a92c29b238 Update hashbrown to 0.5.0 2019-08-16 18:08:35 +02:00
Eduard-Mihai Burtescu 1ab9e523f3 Update rustc-demangle to 0.1.16. 2019-08-14 10:35:24 +03:00
newpavlov 7b8273c2e8 Re-enable Redox builder (take 2) 2019-08-13 17:21:45 +03:00
Mark Rousskov c57481001e Remove ReentrantMutex
This drops the parking_lot dependency; the ReentrantMutex type appeared
to be unused (at least, no compilation failures occurred).

This is technically a possible change in behavior of its users, as
lock() would wait on other threads releasing their guards, but since we
didn't actually remove any threading or such in this code, it appears
that we never used that behavior (the behavior change is only noticeable
if the type previously was used in two threads, in a single thread
ReentrantMutex is useless).
2019-08-11 10:36:46 -04:00
Mazdak Farrokhzad 8fe2d9c4e9
Rollup merge of #63316 - topecongiro:rustfmt-1.4.4, r=Mark-Simulacrum
Update rustfmt to 1.4.4

The update includes bug fixes.
2019-08-08 16:33:36 +02:00
Mazdak Farrokhzad 8885dc2b37
Rollup merge of #63261 - RalfJung:rand, r=nikomatsakis
bump rand in libcore/liballoc test suites

This pulls in the fix for https://github.com/rust-random/rand/issues/779, which trips Miri when running these test suites.

`SmallRng` (formerly used by libcore) is no longer built by default, it needs a feature gate. I opted to switch to `StdRng` instead. Or should I enable the feature gate?
2019-08-08 16:33:34 +02:00
Eric Huss 266fa0c26a Update cargo 2019-08-07 17:23:54 -07:00
Mazdak Farrokhzad fbf268bfd4
Rollup merge of #63296 - alexcrichton:deduplicate-demangle, r=Mark-Simulacrum
Deduplicate rustc_demangle in librustc_codegen_llvm

This commit removes the crates.io dependency of `rustc-demangle` from
`rustc_codegen_llvm`. This crate is actually already pulled in to part
of the `librustc_driver` build and with the upcoming pipelining
implementation in Cargo it causes build issues if `rustc-demangle` is
left to its own devices.

This is not currently required, but once pipelining is enabled for
rustc's own build it will be required to build correctly.
2019-08-06 15:36:34 +02:00
topecongiro 93cf95bedd
Update rustfmt to 1.4.4 2019-08-06 11:19:31 +09:00
Ralf Jung 39185dd398 update getrandom 2019-08-05 11:23:06 +02:00
Ralf Jung 0cb16f7d5e bump libcore tests to rand 0.7 2019-08-04 14:50:32 +02:00
Ralf Jung 5b78e98a37 bump rand to fix Miri failures 2019-08-04 14:50:26 +02:00
Igor Matuszewski 5bcce8269d Update Rustfmt and RLS 2019-08-03 13:05:42 +02:00
gnzlbg 52caca0c45 Update Cargo.lock 2019-08-01 17:02:26 +02:00
Eric Huss f2428a69d4 Update cargo, rls 2019-07-31 17:44:39 -07:00
Alex Crichton d05c4d5459 Deduplicate rustc_demangle in librustc_codegen_llvm
This commit removes the crates.io dependency of `rustc-demangle` from
`rustc_codegen_llvm`. This crate is actually already pulled in to part
of the `librustc_driver` build and with the upcoming pipelining
implementation in Cargo it causes build issues if `rustc-demangle` is
left to its own devices.

This is not currently required, but once pipelining is enabled for
rustc's own build it will be required to build correctly.
2019-07-31 15:04:25 -07:00
Alex Crichton 3d2b6e79db Attempt to fix backtrace tests on i686-msvc
Some fixes for i686-msvc and Windows have landed on the `backtrace`
crate but hadn't made their way here yet. Let's update that and see if
it passes CI.
2019-07-31 10:59:32 -07:00
Igor Matuszewski 1b61db706a Enable nightly feature for crossbeam-utils dep
Last two commits bumped rustc-ap-* crates which also transitively
updated rustc_data_structures. That crate enables the "nightly"
whereas Cargo's dep does not hence why we need to unify the features
to deduplicate the artifacts.
2019-07-30 18:10:53 +02:00
Igor Matuszewski ab27d67738 Update Rustfmt 2019-07-30 13:02:07 +02:00
Igor Matuszewski d2d192ee4c Update RLS 2019-07-30 13:01:00 +02:00
Guillaume Gomez 3f4dbd390c Update minifier-rs version 2019-07-28 20:26:07 +02:00
Mazdak Farrokhzad 48802974aa
Rollup merge of #62974 - RalfJung:crossbeam, r=alexcrichton
bump crossbeam-epoch dependency

The new crossbeam-epoch release depends on a memoffset with a whole bunch of soundness holes fixed.

The old memoffset is still indirectly depended on (at least) by rustc-rayon, though -- a crate that looks rather unmaintained (no change in more than a year).
2019-07-28 11:11:10 +02:00
Vadim Petrochenkov b5a0e6ea80 syntax_ext: `proc_macro_decls` -> `proc_macro_harness`
Few other minor renamings for consistency.
Remove one unused dependency from `rustc_passes`.
Fix libsyntax tests.
Fix rebase.
2019-07-27 14:16:16 +03:00
Vadim Petrochenkov 4ad0daa220 Move proc macro server into libsyntax 2019-07-27 13:55:25 +03:00
Vadim Petrochenkov 3eeec1c5d2 Break dependencies between `syntax_ext` and some other crates
Move `source_uitil` macros into `syntax_ext`
Cleanup dependencies of `rustc_driver`
2019-07-27 13:52:37 +03:00
Mazdak Farrokhzad 571a965143
Rollup merge of #62985 - phansch:support_ui_testing_flag, r=estebank
librustc_errors: Support ui-testing flag in annotate-snippet emitter

This adds support for the `-Z ui-testing` flag to the new
annotate-snippet diagnostic emitter.

Support for the flag was added to `annotate-snippet-rs` in these PRs:

* https://github.com/rust-lang/annotate-snippets-rs/pull/3
* https://github.com/rust-lang/annotate-snippets-rs/pull/5

r? @estebank

Closes #61811
2019-07-26 18:57:01 +02:00
Mazdak Farrokhzad 632ce7402f
Rollup merge of #62801 - bjorn3:remove_lower_128bit_ops, r=alexcrichton
Remove support for -Zlower-128bit-ops

It is broken and unused

cc https://github.com/rust-lang/rust/issues/58969

blocked https://github.com/rust-lang-nursery/compiler-builtins/pull/302 (removes definitions of the lang items removed in this PR)

r? @alexcrichton
2019-07-26 18:56:43 +02:00
Eric Huss 78f25e308c Update cargo 2019-07-25 19:49:18 -07:00
Philipp Hansch dd0f2ac250
librustc_errors: Support ui-testing flag in annotate-snippet emitter
This adds support for the `-Z ui-testing` flag to the new
annotate-snippet diagnostic emitter.

The support for the flag was added to `annotate-snippet-rs` in these PRs:

* https://github.com/rust-lang/annotate-snippets-rs/pull/3
* https://github.com/rust-lang/annotate-snippets-rs/pull/5

Closes #61811
2019-07-25 21:03:53 +02:00
Ralf Jung c7a599e4df bump crossbeam-epoch dependency 2019-07-25 15:57:25 +02:00
Vadim Petrochenkov a93fdfedf3 Merge `rustc_allocator` into `libsyntax_ext` 2019-07-24 12:27:58 +03:00
Aleksey Kladov 395ee0b79f Introduce rustc_lexer
The idea here is to make a reusable library out of the existing
rust-lexer, by separating out pure lexing and rustc-specific concerns,
like spans, error reporting an interning.

So, rustc_lexer operates directly on `&str`, produces simple tokens
which are a pair of type-tag and a bit of original text, and does not
report errors, instead storing them as flags on the token.
2019-07-20 21:12:34 +03:00
bjorn3 e8a1e73ff5 Update compiler_builtins to 0.1.18 2019-07-20 11:27:13 +02:00
Guillaume Gomez 9d6b29af5a Update pulldown-cmark version 2019-07-20 11:01:04 +02:00
Alex Crichton 9b4f6de7a4 azure: Prepare configuration for 4-core machines
This commit updates some of our assorted Azure/CI configuration to
prepare for some 4-core machines coming online. We're still in the
process of performance testing them to get final numbers, but some
changes are worth landing ahead of this. The updates here are:

* Use `C:/` instead of `D:/` for submodule checkout since it should have
  plenty of space and the 4-core machines won't have `D:/`

* Update `lzma-sys` to 0.1.14 which has support for VS2019, where 0.1.10
  doesn't.

* Update `src/ci/docker/run.sh` to work when it itself is running inside
  of a docker container (see the comment in the file for more info)

* Print step timings on the `try` branch in addition to the `auto`
  branch in. The logs there should be seen by similarly many humans (not
  many) and can be useful for performance analysis after a `try` build
  runs.

* Install the WIX and InnoSetup tools manually on Windows instead of
  relying on pre-installed copies on the VM. This gives us more control
  over what's being used on the Azure cloud right now (we control the
  version) and in the 4-core machines these won't be pre-installed. Note
  that on AppVeyor we actually already were installing InnoSetup, we
  just didn't carry that over on Azure!
2019-07-19 06:49:19 -07:00
Eric Huss 04538c680c Update mdbook, cargo, books
This updates the last of the books using mdbook 0.1, finally
removing it from the build.
2019-07-17 12:46:36 -07:00
topecongiro 3e9604b29e Update rustfmt to 1.3.3 2019-07-17 13:54:57 +09:00
Ralf Jung 85d76a1b48 bump compiler_builtins 2019-07-15 16:58:07 +02:00
Mazdak Farrokhzad 5e1891c474
Rollup merge of #62577 - Zoxc:atomic-cell, r=matthewjasper
Add an AtomicCell abstraction

Split out from https://github.com/rust-lang/rust/pull/61923.
2019-07-13 16:18:35 +02:00
Albin Stjerna e775bf33c0 Upgrade Polonius 2019-07-12 22:41:00 +02:00
Matthew Jasper 34ddc70c3f Move rustc_borrowck -> rustc_ast_borrowck 2019-07-11 18:54:02 +01:00
Matthew Jasper be085d7c0f Remove rustc_mir dependency from rustc_borrowck 2019-07-11 18:54:02 +01:00
John Kåre Alsaker 498bdc9b42 Add an AtomicCell abstraction 2019-07-10 17:04:42 +02:00
Eric Huss 03a4068152 Update cargo 2019-07-09 16:47:45 -07:00
Shotaro Yamada b06ed52cfd Remove unused dependencies 2019-07-09 00:17:42 +09:00
Mateusz Mikuła 2ac20e2be6 Update phf to get rid of rand 0.4 2019-07-07 21:08:49 +02:00
John Kåre Alsaker 2caf5d9a5b Update Cargo.lock 2019-07-07 03:23:00 +02:00
André Luis Leal Cardoso Junior f80697215f Add linkcheck command to rustbook tool 2019-07-06 11:05:22 -03:00
Mazdak Farrokhzad a8f8c7c78c
Rollup merge of #62151 - alexcrichton:update-openssl, r=Mark-Simulacrum
Update linked OpenSSL version

This bumps our linked OpenSSL version from 1.1.1a to 1.1.1c, picking up
some various bug fixes and minor security issue fixes.
2019-07-06 02:37:53 +02:00
Alex Crichton 2fb2e00f20 Update the `rust-installer` submodule
This pulls in a commit which uses parallel xz encoding which should
hopefully help shave some time off the dist builders which spend an
inordinate amount of time compressing this data.
2019-07-04 11:59:09 -07:00
Alex Crichton 16b37b5027 Update linked OpenSSL version
This bumps our linked OpenSSL version from 1.1.1a to 1.1.1c, picking up
some various bug fixes and minor security issue fixes.
2019-06-26 05:39:07 -07:00
Yuki Okushi 85ea4a1bf4 Update new_debug_unreachable 2019-06-25 23:09:25 +09:00
Eric Huss 342fa2be25 Update cargo 2019-06-24 11:57:20 -07:00
Mark Rousskov e17b02d9b9 Use walkdir crate
It's more efficient than the fs::read_dir API
2019-06-23 09:10:24 -04:00
Mark Rousskov 5f1da8e533 Cache Regex's 2019-06-23 09:10:08 -04:00
Guillaume Gomez 3eeb543504 Handle fs errors through errors::Handler instead of eprintln and panic 2019-06-21 12:00:49 +02:00
Eric Huss 2dafa91310 Update mdbook 2019-06-20 19:47:44 -07:00
topecongiro 5a411a65d0
Update rustfmt and rls
Update rustfmt to 1.3.0.
2019-06-19 23:54:31 +09:00
Eric Huss afa4827e98 Bump libgit2-sys to get it to compile on i686-pc-windows-gnu. 2019-06-17 14:34:43 -07:00
Eric Huss aedb74b8c3 Update cargo 2019-06-17 14:34:43 -07:00
Mazdak Farrokhzad ca06f8896b
Rollup merge of #61720 - alexcrichton:libstd-cfg-if-dep, r=sfackler
std: Remove internal definitions of `cfg_if!` macro

This is duplicated in a few locations throughout the sysroot to work
around issues with not exporting a macro in libstd but still wanting it
available to sysroot crates to define blocks. Nowadays though we can
simply depend on the `cfg-if` crate on crates.io, allowing us to use it
from there!
2019-06-13 14:51:56 +02:00
Ralf Jung 4e8626e4af update miri 2019-06-13 10:03:12 +02:00
Laurențiu Nicola b888eb92c5 Bump some of the crates using rand 2019-06-12 19:39:14 +03:00
Mazdak Farrokhzad d78260d781
Rollup merge of #61568 - Mark-Simulacrum:symbol-fmt-macros, r=estebank
Use Symbol, Span in libfmt_macros

I'm not super happy with this, personally, but I think it might be a decent start -- happy to take suggestions as to how to expand this or change things further.

r? @estebank

Fixes #60795
2019-06-12 04:22:47 +02:00
Alex Crichton 8eb7f36a3b std: Remove internal definitions of `cfg_if!` macro
This is duplicated in a few locations throughout the sysroot to work
around issues with not exporting a macro in libstd but still wanting it
available to sysroot crates to define blocks. Nowadays though we can
simply depend on the `cfg-if` crate on crates.io, allowing us to use it
from there!
2019-06-10 10:58:44 -07:00
Mark Rousskov dc13072b7b Use Symbol for named arguments in fmt_macros 2019-06-09 13:45:16 -06:00
Igor Matuszewski eb5aa7583d Update RLS
This includes https://github.com/rust-lang/rls/pull/1482 which should
finally fix the spurious tests in Rust CI (test-pass -> test-fail).
2019-06-09 16:14:52 +02:00
Igor Matuszewski 31dc27da91 Update RLS 2019-06-08 22:17:01 +02:00
varkor a31848350b Update compiler_builtins 2019-06-06 21:27:07 +01:00