]>
git.lizzy.rs Git - rust.git/log
bors [Tue, 9 Aug 2016 17:00:54 +0000 (10:00 -0700)]
Auto merge of #35166 - nikomatsakis:incr-comp-ice-34991-2, r=mw
Address ICEs running w/ incremental compilation and building glium
Fixes for various ICEs I encountered trying to build glium with incremental compilation enabled. Building glium now works. Of the 4 ICEs, I have test cases for 3 of them -- I didn't isolate a test for the last commit and kind of want to go do other things -- most notably, figuring out why incremental isn't saving much *effort*.
But if it seems worthwhile and I can come back and try to narrow down the problem.
r? @michaelwoerister
Fixes #34991
Fixes #32015
Niko Matsakis [Tue, 9 Aug 2016 16:43:59 +0000 (12:43 -0400)]
fix license
Niko Matsakis [Tue, 9 Aug 2016 14:25:31 +0000 (10:25 -0400)]
pacify the mercilous tidy
bors [Tue, 9 Aug 2016 12:26:50 +0000 (05:26 -0700)]
Auto merge of #35426 - frewsxcv:os-sys-env-args-phantoms, r=alexcrichton
Utilize `PhantomData` to enforce `!Sync` and `!Send` field.
None
Niko Matsakis [Tue, 9 Aug 2016 12:24:26 +0000 (08:24 -0400)]
address comments from mw
Niko Matsakis [Sat, 6 Aug 2016 00:14:47 +0000 (20:14 -0400)]
use preds to serialize just what we need
This massively speeds up serialization. It also
seems to produce deterministic metadata hashes
(before I was seeing inconsistent results).
Fixes #35232.
Niko Matsakis [Sat, 6 Aug 2016 00:12:53 +0000 (20:12 -0400)]
generalize BitMatrix to be NxM and not just NxN
Niko Matsakis [Sat, 6 Aug 2016 00:12:20 +0000 (20:12 -0400)]
add a `deterministic_hash` method to `DefPath`
Produces a deterministic hash, at least for a single platform /
compiler-version.
Niko Matsakis [Sat, 6 Aug 2016 00:12:02 +0000 (20:12 -0400)]
add a `-Z incremental-info` flag
Niko Matsakis [Sat, 6 Aug 2016 00:10:04 +0000 (20:10 -0400)]
replace Name with InternedString in DefPathData
Fixes #35292.
Niko Matsakis [Sat, 6 Aug 2016 00:00:20 +0000 (20:00 -0400)]
make DepNode PartialOrd
Niko Matsakis [Fri, 5 Aug 2016 23:42:41 +0000 (19:42 -0400)]
isolate predecessor computation
The new `Predecessors` type computes a set of interesting targets and
their HIR predecessors, and discards everything in between.
bors [Tue, 9 Aug 2016 09:11:50 +0000 (02:11 -0700)]
Auto merge of #35425 - apasel422:refcell, r=alexcrichton
Implement `RefCell::{try_borrow, try_borrow_mut}`
CC #35070
r? @alexcrichton
bors [Tue, 9 Aug 2016 04:51:01 +0000 (21:51 -0700)]
Auto merge of #34762 - creativcoder:slice-ext, r=alexcrichton
extend lifetime on binary_search_by_key of SliceExt trait
Fixes #34683.
Andrew Paseltiner [Sat, 6 Aug 2016 17:48:59 +0000 (13:48 -0400)]
Implement `RefCell::{try_borrow, try_borrow_mut}`
Niko Matsakis [Tue, 9 Aug 2016 01:35:07 +0000 (21:35 -0400)]
fixup tests for new def'n of InlinedItem
it now carries a def-id; supply a dummy
Niko Matsakis [Mon, 8 Aug 2016 22:42:06 +0000 (18:42 -0400)]
track MIR through the dep-graph
Per the discussion on #34765, we make one `DepNode::Mir` variant and use
it to represent both the MIR tracking map as well as passes that operate
on MIR. We also track loads of cached MIR (which naturally comes from
metadata).
Note that the "HAIR" pass adds a read of TypeckItemBody because it uses
a myriad of tables that are not individually tracked.
Niko Matsakis [Mon, 8 Aug 2016 22:41:58 +0000 (18:41 -0400)]
rename KrateInfo to CrateInfo
bors [Mon, 8 Aug 2016 21:59:30 +0000 (14:59 -0700)]
Auto merge of #35064 - pthariensflame:feature/cow_str_from_iter, r=alexcrichton
Add `FromIterator` implementations for `Cow<str>`
This seems like an oversight, since the corresponding implementation for `Cow<[T]> where T: Clone` exists.
Rahul Sharma [Mon, 11 Jul 2016 12:48:11 +0000 (18:18 +0530)]
extend lifetime on binary_search_by_key of SliceExt trait
bors [Mon, 8 Aug 2016 18:17:05 +0000 (11:17 -0700)]
Auto merge of #35492 - jonathandturner:fix_nightlies, r=arielb1
Fix for nightlies
Remove the NOTE tests for now so that nightlies will pass. We'll move many of these tests to UI tests later, as this is a better place to check the notes.
cc @alexcrichton
Jonathan Turner [Mon, 8 Aug 2016 16:26:32 +0000 (09:26 -0700)]
Remove the NOTE tests for now. We'll move to UI tests later
bors [Mon, 8 Aug 2016 14:47:51 +0000 (07:47 -0700)]
Auto merge of #35456 - birkenfeld:issue-33784, r=nikomatsakis
typeck: suggest (x.field)(...) to call struct fields even when x is a reference
Fixes: #33784
Note: This is a reopen of #33785.
bors [Mon, 8 Aug 2016 10:35:19 +0000 (03:35 -0700)]
Auto merge of #35485 - KiChjang:e0004-bonus, r=GuillaumeGomez
Lengthen the span label to include match and expr for E0004
Part of #35233.
Extension of #35191.
r? @GuillaumeGomez
Keith Yeung [Mon, 8 Aug 2016 05:25:04 +0000 (22:25 -0700)]
Lengthen the span label to include match and expr for E0004
bors [Mon, 8 Aug 2016 00:31:55 +0000 (17:31 -0700)]
Auto merge of #35402 - KiChjang:e0206-new-msg, r=GuillaumeGomez
Update E0206 message to new format
Part of #35233.
Fixes #35301.
r? @GuillaumeGomez
Keith Yeung [Fri, 5 Aug 2016 23:14:11 +0000 (16:14 -0700)]
Update E0206 message to new format
Alexander Altman [Wed, 27 Jul 2016 04:16:46 +0000 (21:16 -0700)]
Add `FromIterator` implementations for `Cow<str>`
This seems like an oversight, since the corresponding implementation for `Cow<[T]> where T: Clone` exists.
bors [Sun, 7 Aug 2016 17:52:23 +0000 (10:52 -0700)]
Auto merge of #35469 - jonathandturner:rollup, r=jonathandturner
Rollup of 21 pull requests
- Successful merges: #35314, #35355, #35357, #35366, #35394, #35410, #35411, #35413, #35417, #35419, #35421, #35429, #35433, #35434, #35436, #35439, #35443, #35454, #35455, #35467, #35468
- Failed merges: #35395, #35415
Jonathan Turner [Sun, 7 Aug 2016 16:59:45 +0000 (09:59 -0700)]
Rollup merge of #35468 - munyari:e0205, r=jonathandturner
Update E0205 to the new error format
Part of #35233
Addresses #35382
"r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:44 +0000 (09:59 -0700)]
Rollup merge of #35467 - terrynsun:master, r=jonathandturner
Update E0116 to new error code format.
Fixes #35249 as part of #35233.
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:44 +0000 (09:59 -0700)]
Rollup merge of #35455 - munyari:e0204, r=jonathandturner
Update E0204 to the new error format
Part of #35233
Addresses #35381
"r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:44 +0000 (09:59 -0700)]
Rollup merge of #35454 - Detegr:master, r=jonathandturner
New error message format for E0117 and E0118
Part of #35233
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:44 +0000 (09:59 -0700)]
Rollup merge of #35443 - franleplant:master, r=jonathandturner
Update E0101 and E0102 to new format
Part of #35233
Fixes #35243
Fixes #35244
r? @jonathandturner
PS: My first contribution
Jonathan Turner [Sun, 7 Aug 2016 16:59:44 +0000 (09:59 -0700)]
Rollup merge of #35439 - pcn:update-E0010-error-message, r=jonathandturner
Update E0010 to use the new format
For https://github.com/rust-lang/rust/issues/35194
Jonathan Turner [Sun, 7 Aug 2016 16:59:44 +0000 (09:59 -0700)]
Rollup merge of #35436 - frewsxcv:into-vec, r=GuillaumeGomez
Add doc example for `std::ffi::NulError::into_vec`.
None
Jonathan Turner [Sun, 7 Aug 2016 16:59:43 +0000 (09:59 -0700)]
Rollup merge of #35434 - intrepion:fix-compile-fail-e0121, r=jonathandturner
Fixing compiler error E0121
Fixes #35254 and part of #35233
Jonathan Turner [Sun, 7 Aug 2016 16:59:43 +0000 (09:59 -0700)]
Rollup merge of #35433 - mneumann:dragonfly-fix-libstd-errno-location, r=alexcrichton
Fix build on DragonFly (unused function errno_location)
Function errno_location() is not used on DragonFly. As warnings are
errors, this breaks the build.
Jonathan Turner [Sun, 7 Aug 2016 16:59:43 +0000 (09:59 -0700)]
Rollup merge of #35429 - frewsxcv:tracking-is-empty, r=apasel422
Indicate tracking issue for `exact_size_is_empty` unstability.
https://github.com/rust-lang/rust/issues/35428
Jonathan Turner [Sun, 7 Aug 2016 16:59:43 +0000 (09:59 -0700)]
Rollup merge of #35421 - razielgn:updated-e0225-to-new-format, r=jonathandturner
Updated E0225 to new format.
Part of #35233.
Fixes #35388.
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:43 +0000 (09:59 -0700)]
Rollup merge of #35419 - Keats:err-243, r=jonathandturner
Update error message for E0243 and E0244
Fixes #35389 and #35390 as part of #35233.
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:42 +0000 (09:59 -0700)]
Rollup merge of #35417 - Limeth:master, r=jonathandturner
E0131 updated to new format
Changes
```
error[E0131]: main function is not allowed to have type parameters
--> src/test/compile-fail/E0131.rs:11:1
|
11 | fn main<T>() { //~ ERROR E0131
| ^
```
to
```
error[E0131]: main function is not allowed to have type parameters
--> src/test/compile-fail/E0131.rs:11:1
|
11 | fn main<T>() { //~ ERROR E0131
| ^^^ main cannot have type parameters
```
Fixes #35257. Part of #35233.
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:42 +0000 (09:59 -0700)]
Rollup merge of #35413 - silenuss:e0029-formatting, r=jonathandturner
Update compiler error 0029 to use new error format.
Part of #35233,
Addresses #35201
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:42 +0000 (09:59 -0700)]
Rollup merge of #35411 - KiChjang:e0223-new-format, r=jonathandturner
Update E0223 to the new format
Part of #35233.
Fixes #35387.
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:42 +0000 (09:59 -0700)]
Rollup merge of #35410 - silenuss:e0027-formatting, r=jonathandturner
Update compiler error 0027 to use new error format.
Part of #35233,
Addresses #35200
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:41 +0000 (09:59 -0700)]
Rollup merge of #35394 - mikhail-m1:master, r=jonathandturner
Update error format #35304
Fixes #35304 as part of #35233.
r? @jonathandturner
Jonathan Turner [Sun, 7 Aug 2016 16:59:41 +0000 (09:59 -0700)]
Rollup merge of #35366 - medzin:E0282, r=jonathandturner
Updated error message E0282
Fixes #35312 as part of #35233.
r? @GuillaumeGomez
Jonathan Turner [Sun, 7 Aug 2016 16:59:41 +0000 (09:59 -0700)]
Rollup merge of #35357 - shri3k:E0040, r=jonathandturner
Updates compiler error E0040 with new format
Addresses #35208 as part of #35233.
r? @GuillaumeGomez
Jonathan Turner [Sun, 7 Aug 2016 16:59:40 +0000 (09:59 -0700)]
Rollup merge of #35355 - shri3k:E0046, r=jonathandturner
Updates compiler error E0046 with new format
Addresses #35209 as part of #35233.
r? @jonathandturner
I've repeated the following in my code. If this is something not desirable then let me know if there's any process to make this any cleaner. Thank you.
```rust
missing_items.iter()
.map(|name| name.to_string())
.collect::<Vec<_>>().join("`, `"))
```
Jonathan Turner [Sun, 7 Aug 2016 16:59:40 +0000 (09:59 -0700)]
Rollup merge of #35314 - yossi-k:issue/35277, r=jonathandturner
Update E0185 and E0186 to new format
Part of #35233.
Fixes #35277.
Fixes #35276.
r? @jonathandturner
Panashe M. Fundira [Sun, 7 Aug 2016 16:47:53 +0000 (12:47 -0400)]
Update E0205 to the new error format
Terry Sun [Sun, 7 Aug 2016 04:31:13 +0000 (00:31 -0400)]
Update E0116 to new error code format.
Fixes #35249 as part of #35233.
Fran Guijarro [Sun, 7 Aug 2016 01:17:35 +0000 (22:17 -0300)]
Update E0101 and E0102 to new format
Peter C. Norton [Sat, 6 Aug 2016 23:23:40 +0000 (19:23 -0400)]
Update E0010 to use the new format
For https://github.com/rust-lang/rust/issues/35194
Yossi Konstantinovsky [Thu, 4 Aug 2016 17:56:12 +0000 (20:56 +0300)]
Update E0185 and E0186 to new format
Yojan Shrestha [Fri, 5 Aug 2016 03:46:59 +0000 (22:46 -0500)]
Updates compiler error E0040 with new format
Yojan Shrestha [Fri, 5 Aug 2016 04:21:24 +0000 (23:21 -0500)]
Updates compiler error E0046 with new format
Corey Farwell [Sat, 6 Aug 2016 18:42:22 +0000 (14:42 -0400)]
Utilize `PhantomData` to enforce `!Sync` and `!Send` field.
bors [Sun, 7 Aug 2016 12:48:47 +0000 (05:48 -0700)]
Auto merge of #35362 - medzin:E0252, r=GuillaumeGomez
Updated error message E0252
Fixes #35306 as part of #35233.
r? @GuillaumeGomez
bors [Sun, 7 Aug 2016 08:31:43 +0000 (01:31 -0700)]
Auto merge of #35432 - frewsxcv:20847, r=alexcrichton
Add regression test for #20847.
https://github.com/rust-lang/rust/issues/20847
Panashe M. Fundira [Sun, 7 Aug 2016 07:53:32 +0000 (03:53 -0400)]
Update E0204 to the new error format
Antti Keränen [Sun, 7 Aug 2016 07:40:38 +0000 (10:40 +0300)]
Update error E0118 to new format
Fixes #35251
Also changes the span of the error to the span of the type
as suggested in the bonus section of #35251
Antti Keränen [Sun, 7 Aug 2016 07:38:29 +0000 (10:38 +0300)]
Update error E0117 to new format
Fixes #35250
Georg Brandl [Sun, 22 May 2016 06:11:59 +0000 (08:11 +0200)]
typeck: suggest (x.field)(...) to call struct fields even when x is a reference
Fixes: #33784
bors [Sun, 7 Aug 2016 02:50:48 +0000 (19:50 -0700)]
Auto merge of #35378 - Amanieu:rwlock_eagain, r=alexcrichton
Handle RwLock reader count overflow
`pthread_rwlock_rdlock` may return `EAGAIN` if the maximum reader count overflows. We shouldn't return a successful lock in that case.
Vincent Prouillet [Sat, 6 Aug 2016 10:35:42 +0000 (11:35 +0100)]
Update error message for E0243 and E0244
Jakub Hlusička [Sat, 6 Aug 2016 22:09:54 +0000 (00:09 +0200)]
E0131 updated to new format
Corey Farwell [Sat, 6 Aug 2016 21:50:37 +0000 (17:50 -0400)]
Add doc example for `std::ffi::NulError::into_vec`.
Michael Neumann [Sat, 6 Aug 2016 20:01:51 +0000 (22:01 +0200)]
Fix build on DragonFly (unused function errno_location)
Function errno_location() is not used on DragonFly. As warnings are
errors, this breaks the build.
Corey Farwell [Sat, 6 Aug 2016 20:01:12 +0000 (16:01 -0400)]
Add regression test for #20847.
Adam Medziński [Fri, 5 Aug 2016 12:29:09 +0000 (14:29 +0200)]
Updated error message E0282
bors [Sat, 6 Aug 2016 19:29:28 +0000 (12:29 -0700)]
Auto merge of #35393 - GuillaumeGomez:err_codes2, r=jonathandturner
Err codes
r? @jonathandturner
Corey Farwell [Sat, 6 Aug 2016 19:16:32 +0000 (15:16 -0400)]
Indicate tracking issue for `exact_size_is_empty` unstability.
Oliver Forral [Sat, 6 Aug 2016 14:51:53 +0000 (07:51 -0700)]
Fixing compiler error E0121
Guillaume Gomez [Fri, 5 Aug 2016 20:18:01 +0000 (22:18 +0200)]
Add new error code tests
Federico Ravasio [Sat, 6 Aug 2016 13:29:12 +0000 (15:29 +0200)]
Updated E0225 to new format.
bors [Sat, 6 Aug 2016 12:02:16 +0000 (05:02 -0700)]
Auto merge of #35407 - eddyb:rollup, r=eddyb
Rollup of 21 pull requests
- Successful merges: #33951, #34916, #35287, #35288, #35351, #35353, #35356, #35362, #35363, #35364, #35366, #35368, #35370, #35372, #35373, #35374, #35375, #35376, #35380, #35393, #35394
- Failed merges: #35331, #35395
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:23 +0000 (15:01 +0300)]
Rollup merge of #35380 - TheZoq2:master, r=jonathandturner
Update E0004 to use labels
Fixes #35191 and is part of #35233
"r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:23 +0000 (15:01 +0300)]
Rollup merge of #35376 - trixnz:update-error-373, r=jonathandturner
Update error format for E0373
Fixes #35337 as part of #35233
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:22 +0000 (15:01 +0300)]
Rollup merge of #35374 - mrabault:e0229_format, r=jonathandturner
Update E0229 to new format
Hello,
This fixes #35305. I ran the tests, no unit test broke, even though some were ignored.
Cheers
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:22 +0000 (15:01 +0300)]
Rollup merge of #35373 - oijazsh:E0107, r=jonathandturner
Update E0107 message to new format
Fixes #35246 as part of #35233.
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:22 +0000 (15:01 +0300)]
Rollup merge of #35372 - Keats:err-323, r=jonathandturner
Update error message for E0323, E0324 and E0325
Fixes #35325, #35327 and #35329 as part of #35233
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:22 +0000 (15:01 +0300)]
Rollup merge of #35370 - razielgn:updated-e0306-to-new-format, r=jonathandturner
Updated E0306 to new format.
Part of #35233.
Fixes #35315.
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:22 +0000 (15:01 +0300)]
Rollup merge of #35368 - shantanuraj:master, r=jonathandturner
Update E0207 to use struct_span_err, add span_label
Fixes #35302 part of #35233
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:21 +0000 (15:01 +0300)]
Rollup merge of #35364 - kc1212:e0379, r=jonathandturner
Update E0379 to new format #35338
Fixes #35338, as part of #35233.
But this does not include the bonus. From my understanding a Span is defined by a `hi` and a `lo` position within some context. A naive way would be to mutate the span so that `hi` is 5 positions from `lo` which corresponds to the `const` keyword. But this methods feels a bit rigid. Is there another way to do this?
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:21 +0000 (15:01 +0300)]
Rollup merge of #35363 - GuillaumeGomez:err_codes, r=jonathandturner
Err codes
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:21 +0000 (15:01 +0300)]
Rollup merge of #35356 - Tiwalun:fix-err-msg-e0106, r=jonathandturner
Update E0106 error message to new format.
This fixes #35245, as part of the big error message update in #35233
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:21 +0000 (15:01 +0300)]
Rollup merge of #35353 - poveda-ruiz:master, r=jonathandturner
Updated E0081 to new format
Part of #35233. r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:21 +0000 (15:01 +0300)]
Rollup merge of #35351 - jaredwy:update-error-69, r=jonathandturner
Updated error format for E0069
Fixes #35219 which is part of the error bonanza at #35233
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:20 +0000 (15:01 +0300)]
Rollup merge of #35288 - Roybie:35271-E0166-update-error-format, r=GuillaumeGomez
Update error message for E0166
Fixes #35271 as part of #35233.
r? @jonathandturner
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:20 +0000 (15:01 +0300)]
Rollup merge of #35287 - dns2utf8:man_page_rustc, r=nikomatsakis
Update the man page rustc.1
Should the page become a generated one so the version is allways up to date?
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:20 +0000 (15:01 +0300)]
Rollup merge of #35281 - apasel422:repr, r=GuillaumeGomez
Clean up `std::raw` docs
There is no longer a `Repr` trait, so mentioning a missing impl of it was potentially confusing.
r? @steveklabnik
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:20 +0000 (15:01 +0300)]
Rollup merge of #34916 - tbu-:pr_comment_on_seek_cast, r=GuillaumeGomez
Comment on the casts in the `seek` implementations on files
Eduard-Mihai Burtescu [Sat, 6 Aug 2016 12:01:20 +0000 (15:01 +0300)]
Rollup merge of #33951 - srinivasreddy:librust_pass_rustfmt, r=nikomatsakis
run rustfmt on librustc_passes folder
Adam Medziński [Fri, 5 Aug 2016 11:06:09 +0000 (13:06 +0200)]
Updated error message E0252
silenuss [Sat, 6 Aug 2016 06:33:59 +0000 (00:33 -0600)]
Update compiler error 0029 to use new error format.
silenuss [Sat, 6 Aug 2016 02:25:34 +0000 (20:25 -0600)]
Update compiler error 0027 to use new error format.
bors [Sat, 6 Aug 2016 06:28:29 +0000 (23:28 -0700)]
Auto merge of #35267 - eddyb:ty-hash, r=nikomatsakis
Rewrite TypeId computation to not miss anything and work cross-crate.
Fixes #33703 and also some soundness holes in `Any` due to `TypeId` ignoring most lifetimes.
Keith Yeung [Sat, 6 Aug 2016 03:41:25 +0000 (20:41 -0700)]
Update E0223 to the new format
Jared Wyles [Fri, 5 Aug 2016 03:48:24 +0000 (13:48 +1000)]
Updated error format for E0069